Skip to main content
Glama
dmchet

PasNavigator MCP

by dmchet

PasNavigator MCP

MCP-сервер для семантической навигации по кодовым базам Delphi/Pascal.

Долгосрочный дизайн:

  • Индексатор/бэкенд на Delphi, использующий идеи и код из CodeComparer

  • тонкий слой MCP-сервера, предоставляющий инструменты индексации проектов и навигации по символам

  • компактные ответы на уровне символов для ИИ-агентов вместо сырого вывода grep

Текущий статус

Этот репозиторий содержит:

  • Python-поверхность инструментов MCP и адаптер процессов

  • консольный бэкенд на Delphi с включёнными исходниками CodeComparer/DelphiAST в delphi/vendor/codecomparer/

  • отсутствие зависимости от живого репозитория CodeComparer во время выполнения

Для компиляции индексатора Delphi по-прежнему требуется DevExpress VCL (DXVCL).

Включённый импортёр содержит несколько локальных изменений, чтобы defines и unit_scopes доходили до парсера; они перечислены в delphi/vendor/codecomparer/NOTICE.txt.

Документация:

  • протокол: docs/delphi-backend-protocol.md

  • сборка Delphi: delphi/README.md

Related MCP server: Delphi Compiler MCP

Инструменты

  • open_project, open_project_from_config

  • project_status

  • find_symbol — ранжированный, с ограничением, сообщает total_count

  • get_symbol

  • get_hierarchy

  • get_descendants

  • get_source

Конфигурация

Пример конфигурации проекта:

{
  "project_name": "MyApp",
  "roots": [
    "E:/Work/MyApp/Source",
    "E:/Work/MyApp/Modules"
  ],
  "search_paths": [
    "E:/Libs/Common",
    "C:/RAD/Studio/22.0/source/vcl"
  ],
  "defines": ["MSWINDOWS", "VER350"],
  "unit_scopes": ["System", "Vcl", "Winapi"],
  "excludes": ["**/__history/**", "**/backup/**"]
}

Разработка

Создайте виртуальное окружение и установите пакет в режиме редактирования:

python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e .

Запустите сервер с заглушкой в памяти:

python -m pasnavigator_mcp

Общайтесь с консольным бэкендом Delphi (заглушка, без DevExpress):

$env:PASNAVIGATOR_BACKEND = "delphi"
$env:PASNAVIGATOR_DELPHI_EXE = "E:\Github_dm75\PasNavigator_MCP\delphi\bin\Win32\Debug\PasNavigatorBackend.exe"
python -m pasnavigator_mcp

Запустите тесты. Тесты, требующие скомпилированный бэкенд, пропускают себя, если PasNavigatorBackend.exe отсутствует; остальные выполняются с использованием Python-фейкового процесса:

python -m unittest discover -s tests

Следующий шаг

Сам слой MCP (server.py, config.py) не имеет тестового покрытия, поскольку зависимость mcp не удалось установить в этом окружении.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic code search across projects using AI embeddings to find code by meaning rather than just text matching. Provides fast intelligent search, symbol analysis, and code similarity detection with multi-language support.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic code search across multiple repositories using natural language queries. Provides intelligent code discovery, symbol lookups, and cross-repo dependency analysis for AI coding agents.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables fast semantic code search and analysis across 15+ programming languages. Supports searching for functions and classes, tracing code usage, detecting syntax errors, and analyzing code quality and structure.
    45 npm
    33
    GPL 3.0