Skip to main content
Glama
isaacphi
by isaacphi

Языковой сервер MCP

Тесты Go Перейти Отчетная Карточка GoDoc Перейти к версии

Это сервер MCP , который запускает и предоставляет языковой сервер LLM. Не языковой сервер для MCP, что бы это ни было.

Демо

mcp-language-server помогает клиентам с поддержкой MCP легче ориентироваться в кодовых базах, предоставляя им доступ к семантическим инструментам, таким как получение определения, ссылки, переименование и диагностика.

Демо

Related MCP server: karellen-lsp-mcp

Настраивать

  1. Установите Go : следуйте инструкциям на https://golang.org/doc/install

  2. Установите или обновите этот сервер : go install github.com/isaacphi/mcp-language-server@latest

  3. Установите языковой сервер : следуйте одному из руководств ниже.

  4. Настройте свой MCP-клиент : следуйте одному из руководств ниже.

<p><strong>Note</strong>:</p>
<ul>
  <li>Replace <code>/path/to/your/clangd_binary</code> with the actual path to your clangd executable.</li>
  <li><code>--compile-commands-dir</code> should point to the directory containing your <code>compile_commands.json</code> file (e.g., <code>./build</code>, <code>./cmake-build-debug</code>).</li>
  <li>Ensure <code>compile_commands.json</code> is generated for your project for clangd to work effectively.</li>
</ul>

Инструменты

  • definition : Извлекает полное определение исходного кода любого символа (функции, типа, константы и т. д.) из вашей кодовой базы.

  • references : находит все использования и ссылки на символ в кодовой базе.

  • diagnostics : предоставляет диагностическую информацию для определенного файла, включая предупреждения и ошибки.

  • hover : отображение документации, подсказок по вводу текста или другой информации, появляющейся при наведении курсора, для указанного местоположения.

  • rename_symbol : переименовать символ в проекте.

  • edit_file : Позволяет вносить множественные текстовые правки в файл на основе номеров строк. Предоставляет более надежный и контекстно-экономичный способ редактирования файлов по сравнению с инструментами редактирования на основе поиска и замены.

О

Эта кодовая база использует отредактированный код из gopls для обработки связи LSP. Подробности см. в ATTRIBUTION. Все здесь покрывается разрешительной лицензией в стиле BSD.

mcp-go используется для связи MCP. Спасибо за вашу службу.

Это бета-версия программного обеспечения. Пожалуйста, дайте мне знать, создав issue, если у вас возникнут какие-либо проблемы или у вас есть предложения любого рода.

Внося вклад

Пожалуйста, делайте PR небольшими и открывайте Issues в первую очередь для чего-то существенного. AI-slop — это нормально, пока он протестирован, проходит проверки и не слишком плохо пахнет.

Настраивать

Клонируйте репозиторий:

git clone https://github.com/isaacphi/mcp-language-server.git
cd mcp-language-server

Для удобства включен файл justfile :

just -l
Available recipes:
    build    # Build
    check    # Run code audit checks
    fmt      # Format code
    generate # Generate LSP types and methods
    help     # Help
    install  # Install locally
    snapshot # Update snapshot tests
    test     # Run tests

Настройте Claude Desktop (или аналогичный) для использования локального двоичного файла:

{
  "mcpServers": {
    "language-server": {
      "command": "/full/path/to/your/clone/mcp-language-server/mcp-language-server",
      "args": [
        "--workspace",
        "/path/to/workspace",
        "--lsp",
        "language-server-executable"
      ],
      "env": {
        "LOG_LEVEL": "DEBUG"
      }
    }
  }
}

Перестройте после внесения изменений.

Ведение журнала

Установка переменной среды LOG_LEVEL в значение DEBUG включает подробное протоколирование в stderr для всех компонентов, включая сообщения, поступающие на языковой сервер и получаемые от него, а также журналы языкового сервера.

Взаимодействие с LSP

  • internal/lsp/methods.go содержит сгенерированный код для выполнения вызовов подключенного языкового сервера.

  • internal/protocol/tsprotocol.go содержит сгенерированный код для типов LSP. Я позаимствовал его из исходного кода gopls . Спасибо за вашу службу.

  • LSP позволяет языковым серверам возвращать разные типы для одних и тех же методов. Go это не нравится, поэтому есть несколько уродливых обходных путей в internal/protocol/interfaces.go .

Локальная разработка и моментальные тесты

Есть набор тестов моментальных снимков, который значительно упрощает тестирование изменений в инструментах. Они запускают реальные языковые серверы на фиктивных рабочих пространствах и фиксируют вывод и журналы.

Вам понадобятся установленные локально языковые серверы для их запуска. Есть тесты для go, rust, python и typescript.

integrationtests/
├── tests/        # Tests are in this folder
├── snapshots/    # Snapshots of tool outputs
├── test-output/  # Gitignored folder showing the final state of each workspace and logs after each test run
└── workspaces/   # Mock workspaces that the tools run on

Чтобы обновить снимки, выполните UPDATE_SNAPSHOTS=true go test ./integrationtests/...

A
license - permissive license
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Exposes Language Server Protocol (LSP) tools such as diagnostics, goto definition, find references, symbols, and rename as a stdio MCP server.
    6
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Provides LLM clients with structured code intelligence through LSP servers, enabling queries for definitions, references, call hierarchies, and more.
    1
    Apache 2.0
  • A
    license
    -
    quality
    D
    maintenance
    Provides AI agents with language-aware code analysis through the Language Server Protocol, enabling tasks like getting code insights and diagnostics.
    20
    192
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Exposes type-aware code navigation and fast file search to AI agents via language servers, enabling definitions, references, symbols, and file lookup without reading entire codebases.
    3,043
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A Model Context Protocol server for Wix AI tools

  • Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isaacphi/mcp-language-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server