nimlangserver MCP

nimlangserver работает MCP-сервером для Nim: агент ищет символы и ссылки, проверяет файлы и узнает типы по данным компилятора

  • 317 ★ репозитория
  • Последний коммит
  • MIT
MCP-серверОфициальный

Расширенный доступ

Почему такой уровень

  • Диагностика запускает компилятор Nim, а макросы выполняются при компиляции, поэтому открывайте только доверенные проекты
  • Сервер читает исходники проекта и запускает `nimsuggest` как дочерний процесс
Все причины и проверки

nim-lang/langserver

Установка

Ручная установка

nimble install -g nimlangserver

Нужны Nim 1.6.8 или новее и nimble 0.16.1 или новее. Бинарник попадает в `$HOME/.nimble/bin`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Диагностика запускает компилятор Nim, а макросы выполняются при компиляции, поэтому открывайте только доверенные проекты
  • Сервер читает исходники проекта и запускает `nimsuggest` как дочерний процесс

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

nimlangserver — языковой сервер для Nim от команды nim-lang. По умолчанию он обслуживает редакторы по протоколу LSP, а с флагом `--mcp` превращается в MCP-сервер для ИИ-агентов. Агент получает шесть инструментов: `nimFindSymbols` ищет символы по имени, `nimFindReferences` находит все ссылки на символ, `nimFindTypeDefinition` ведет к определению типа, `nimListSymbols` перечисляет символы файла, `nimCheckFile` и `nimCheckProject` выдают диагностику компилятора. Сервер разбирает Nim так же, как компилятор, поэтому находит имена в разных написаниях (`printThing`, `printthing`, `print_thing`) и вызовы через шаблоны и макросы. Текстовый поиск такие места пропускает. В примере из документации у функции четыре использования, и без MCP агент находит из них одно. Вместе с сервером репозиторий отдает скилл `nim-mcp-tools` в файле SKILL.md. Он велит агенту сначала пробовать инструменты MCP и переходить к grep только при ошибке или с согласия пользователя. Ставят это так: сервер через nimble, `.mcp.json` в корень проекта, SKILL.md в `.claude/skills/nim-mcp-tools/`.

Для кого. Программистам на Nim, которые правят код вместе с Claude Code, GitHub Copilot CLI, Gemini CLI или OpenCode.

Подходит, если

  • Символ `Foo` нужно переименовать везде, включая вызовы с другим регистром и подчеркиваниями
  • Агент должен выяснить, откуда пришел символ, какого он типа и какие у него поля, в том числе приватные
  • После правки надо собрать ошибки, предупреждения и подсказки компилятора по одному файлу или по всему проекту
  • Проект использует шаблоны и макросы, и текстовый поиск теряет часть вызовов
  • Редактор работает на VS Code: расширение vscode-nim приносит и LSP, и MCP, и скилл

Не подходит, если

  • Код написан не на Nim: инструменты рассчитаны на Nim и его компилятор
  • Нужен сервер для другого языка или сразу для нескольких: для этого подойдут универсальные мосты LSP и MCP
  • В среде нет Nim 1.6.8 или новее, nimble 0.16.1 или новее и `nimsuggest` с поддержкой `--v3`
  • Проект недоверенный: диагностика запускает компилятор, а макросы Nim исполняются при компиляции

Пример запроса к агенту

Найди все использования процедуры parseConfig, включая вызовы через шаблоны, и переименуй ее в loadConfig

MCP

Транспорт
stdio
Авторизация
не нужна

Ограничения

  • Сервер собирается из исходников через nimble и требует Nim 1.6.8 или новее, nimble 0.16.1 или новее и `nimsuggest` с поддержкой `--v3`.
  • Установка для Claude Code ручная: `.mcp.json` копируют в проект, SKILL.md кладут в `.claude/skills/nim-mcp-tools/`. В VS Code все приходит с расширением.
  • Перед работой скилл вызывают командой `/nim-mcp-tools`, иначе агент может искать через grep.
  • На Windows автор советует WSL и держать проекты в ее файловой системе.

Как отключить. Удалите запись `nim` из `.mcp.json` и папку `.claude/skills/nim-mcp-tools/`. Сам сервер снимается через nimble командой `nimble uninstall nimlangserver`.

Частые вопросы

Как подключить nimlangserver к Claude Code как MCP-сервер?

Поставьте сервер командой `nimble install -g nimlangserver`, скопируйте `.mcp.json` из репозитория в корень проекта и положите SKILL.md в `.claude/skills/nim-mcp-tools/`. В `.mcp.json` сервер запускается командой `nimlangserver` с аргументом `--mcp`.

Какие инструменты отдает сервер?

Шесть: `nimFindSymbols`, `nimFindReferences`, `nimFindTypeDefinition`, `nimListSymbols`, `nimCheckFile` и `nimCheckProject`. Первые четыре отвечают за навигацию по символам и типам, последние два возвращают диагностику компилятора.

Чем он лучше grep для кода на Nim?

Он понимает правила разрешения имен в Nim. Один идентификатор пишется как `printThing`, `printthing` или `print_thing`, а еще вызывается через шаблон, и grep такие места теряет. Сервер находит их по данным компилятора.

Нужно ли отдельно ставить LSP-сервер для редактора?

Нет, тот же бинарник работает в двух режимах. Без флагов он служит LSP-сервером для редакторов, с `--mcp` отдает инструменты агентам.

Работает ли он с другими агентами, кроме Claude Code?

Да, в документации описаны GitHub Copilot CLI, Gemini CLI и OpenCode. Файлы настроек разные: `.mcp.json`, `.gemini/settings.json`, `opencode.json`, а SKILL.md кладут в папку скиллов своего агента.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Мост между языковым сервером LSP и агентом: определения, ссылки, диагностика, подсказки и переименование символов

MCP-серверРасширенный доступ1,6 тыс.Звезды репозитория

Мост MCP и LSP: агент получает типы, ссылки, диагностику и рефакторинг от языковых серверов, например Pyright.

MCP-серверРасширенный доступ81Звезды репозитория

MCP-сервер к языковому серверу Lean 4: агент читает цели доказательства, ошибки и ищет теоремы прямо в проекте

MCP-серверРасширенный доступ550Звезды репозитория

MCP-сервер, который дает агентам доступ к вашей запущенной сессии Neovim через родной сокет msgpack-RPC, без плагинов.

MCP-серверШирокий доступ67Звезды репозитория

mcpdoc

MCP LLMS-TXT Documentation Server

MCP-сервер от LangChain: отдает агенту документацию из выбранных вами файлов llms.txt с проверяемыми вызовами

MCP-серверРасширенный доступ1 тыс.Звезды репозитория
Официальный

Консольный отладчик MCP-серверов от Giant Swarm: REPL для инструментов, OAuth 2.1 и режим MCP-сервера для Cursor

CLIРасширенный доступ38Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
nimlangserver (эта карточка)дане нужна317
cclspнетне нужна675универсальный мост от LSP к MCP для разных языков, а в nimlangserver MCP-режим встроен и рассчитан на Nim
Serenaнетне нужна31 335семантические инструменты IDE для многих языков, а nimlangserver отвечает только за Nim

Коротко о README

README коротко представляет nimlangserver как языковой сервер с режимами LSP и MCP, дает команду установки через nimble, демонстрации в asciinema и ссылку на документацию. Подробности про MCP, список инструментов и пример с переименованием лежат в книге документации, в разделе mcp.

Бейдж для README

Сообщить о проблеме