gopls-mcp — семантический анализ Go для агента
gopls-mcp
MCP-сервер на базе gopls: агент находит определения, реализации интерфейсов, ссылки и вызовы Go с точностью компилятора
- 60 ★ репозитория
- Последний коммит
- BSD-3-Clause
Минимальный доступ
Почему такой уровень
- Сервер читает исходный код проекта Go и запускает gopls, изменений в файлах он не вносит, переименование идет пробным запуском
Установка
- Работает в
Ручная установка
/plugin marketplace add https://github.com/xieyuschen/gopls-mcp.gitЗатем /plugin install gopls-mcp. Плагин сам ставит бинарник и навык маршрутизации.
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Сервер читает исходный код проекта Go и запускает gopls, изменений в файлах он не вносит, переименование идет пробным запуском
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
gopls-mcp — ответвление gopls, которое дает агенту анализ кода на уровне проверки типов вместо текстового поиска. Он разбирает систему типов Go: какие типы реализуют интерфейс, где совпадают идентичные типы из разных пакетов, какие переменные затеняют друг друга. В реестре MCP описаны инструменты go_definition для перехода к определению, go_implementation для поиска реализаций интерфейсов, go_symbol_references для всех использований символа, go_get_call_hierarchy для иерархии вызовов, go_get_dependency_graph для зависимостей между пакетами, go_dryrun_rename_symbol для пробного переименования и go_list_tools для списка возможностей. Автор приводит бенчмарк на 11 задачах: на семантических задачах, таких как реализации интерфейса, иерархия вызовов и карта зависимостей, сервер тратит в 2–4 раза меньше вызовов инструментов и работает быстрее поиска через grep. Для простых поисков в одном файле bash и grep остаются не хуже.
Для кого. Go-разработчикам, которым агент нужен для навигации и рефакторинга больших кодовых баз, где важны типы и интерфейсы.
Подходит, если
- Надо найти все типы, которые реализуют интерфейс, во всех пакетах модуля
- Перед рефакторингом нужно проследить иерархию вызовов функции
- Необходимо увидеть карту зависимостей между пакетами проекта
- Переименование символа стоит сначала проверить пробным запуском go_dryrun_rename_symbol
- В большом репозитории агент тратит много вызовов на grep и ошибается на затененных именах
Не подходит, если
- Проект не на Go: сервер разбирает только код Go через gopls
- Нужен поиск по одному файлу: bash и grep справятся не хуже и с меньшими затратами
- Нужен инструмент, одобренный командой Go: проект сообщества, официального статуса у него нет
Пример запроса к агенту
Найди все типы в модуле, которые реализуют интерфейс Store, и покажи иерархию вызовов метода Save.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Это проект сообщества, не связанный с командой Go и Google, и он не одобрен ими. Лицензия BSD-3-Clause, как у gopls. Установка идет через плагин Claude Code или Codex либо скриптом install.sh по ссылке с curl, перед запуском скрипт стоит прочитать. Для сборки из исходников нужен Go 1.26. Подробности по инструментам и настройке клиентов вынесены на сайт gopls-mcp.org, а README коротко описывает идею и установку. Версия в реестре 1.0.9, проект активно развивается и может меняться.
Как отключить. Для плагина Claude Code выполните /plugin uninstall gopls-mcp, для Codex удалите плагин командой codex plugin remove gopls-mcp. Бинарник gopls-mcp удалите из каталога, куда его положил скрипт установки.
Частые вопросы
Чем это лучше grep?
Сервер понимает систему типов Go: реализации интерфейсов, идентичность типов в разных пакетах и затененные области видимости. По бенчмарку автора на 11 задачах он делает в 2–4 раза меньше вызовов на семантических задачах.
Как установить в Claude Code?
Командами /plugin marketplace add https://github.com/xieyuschen/gopls-mcp.git и /plugin install gopls-mcp. Плагин сам ставит бинарник и добавляет навык маршрутизации.
Есть ли поддержка Codex?
Да, командами codex plugin marketplace add https://github.com/xieyuschen/gopls-mcp.git и codex plugin add gopls-mcp. Для остальных клиентов есть ручная установка и руководство на сайте проекта.
Это официальный продукт команды Go?
Нет. README прямо указывает, что это проект сообщества и ответвление gopls, не связанное с Google и не одобренное им.
Какая лицензия?
BSD-3-Clause, та же, что у исходного gopls.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыЛокальный статический анализ Go с MCP-сервером: графы вызовов, влияние правок, поиск символов и обзор до и после изменений
Мост между языковым сервером LSP и агентом: определения, ссылки, диагностика, подсказки и переименование символов
Семантический поиск и графы вызовов по коду для агентов, полностью локально. Режим MCP подключает поиск к Claude Code и Cursor
MCP-сервер agent-lsp собирает языковые серверы в связки для агента: вызовы, безопасная правка, переименование, диагностика.
Граф знаний по коду проекта для агента: вызывающие, зависимости и радиус правки через MCP вместо чтения файлов
MCP-сервер, который строит граф кода: функции, классы, вызовы и маршруты, и отвечает на структурные запросы агента локально
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| gopls-mcp — семантический анализ Go для агента (эта карточка) | нет | не нужна | 60 | |
| agent-lsp | нет | не нужна | 178 | общий мост LSP для разных языков, без специализации на Go |
| Serena | нет | не нужна | 31 335 | семантический поиск по коду на нескольких языках через LSP |
Коротко о README
README коротко излагает идею семантического анализа вместо текстового поиска, ссылается на бенчмарк, показывает установку плагина для Claude Code и Codex, ручную установку для Linux, macOS и Windows и оговорку о статусе проекта.