SDL-MCP

MCP-сервер строит граф символов репозитория и отдает агенту карточки, срезы и окна кода под бюджет контекста

  • 496 ★ репозитория
  • Последний коммит
MCP-сервер

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

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

  • Индексирует исходный код локального репозитория и хранит граф на диске
  • Режим выполнения запускает команды по настроенным политикам
  • HTTP-режим открывает порт, доступ к нему защищает токен при старте
Все причины и проверки

glitterkill/sdl-mcp

Установка

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

npm install -g sdl-mcp

Нужен Node.js 24 или новее. Затем в каталоге репозитория выполните sdl-mcp init, sdl-mcp doctor и sdl-mcp serve --stdio.

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

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

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

  • Индексирует исходный код локального репозитория и хранит граф на диске
  • Режим выполнения запускает команды по настроенным политикам
  • HTTP-режим открывает порт, доступ к нему защищает токен при старте

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

Что делает

SDL-MCP (Symbol Delta Ledger) разбирает репозиторий на символы и связи между ними и работает с этим графом локально. Агент не открывает файлы целиком. Он ищет символ, смотрит его карточку с сигнатурой, кратким описанием и связями, а исходный код запрашивает только когда карточки не хватило. Для больших задач сервер собирает срез графа: по описанию задачи или по стартовому символу он возвращает подграф с ограничением по размеру, который можно обновить или расширить. Запросы идут от простого к подробному: сначала карточки и скелеты функций, затем более детальные представления и в конце окна исходного кода. Окна с кодом сервер выдает по настроенным политикам. Сервер умеет сравнивать проиндексированные версии, находить измененные символы и затронутые связи. Инструмент `sdl.pr.risk.analyze` собирает для ревью pull request доказательства изменений и рекомендации по тестам. Правки из несохраненного буфера редактора видны серверу раньше, чем файл записан на диск. Структуру кода сервер разбирает через tree-sitter, а для точных перекрестных ссылок может подключать данные SCIP и языковых провайдеров. Транспорт stdio подходит для одного агента, HTTP позволяет нескольким агентам делить сервер и открывает визуализатор графа и панель наблюдения. Набор инструментов настраивается: плоский набор из 38 инструментов, шлюз из 6 или компактный Code Mode из 7.

Для кого. Для разработчиков, которые запускают Claude Code, Codex, Gemini CLI или OpenCode на больших репозиториях и хотят тратить меньше токенов на чтение файлов.

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

  • Репозиторий велик, и агент тратит контекст на чтение целых файлов ради одной функции
  • Нужно понять, какие символы заденет правка, до того как агент начнет ее вносить
  • Ревью pull request: нужны измененные символы, затронутые связи и список тестов для проверки
  • Несколько агентов работают с одним репозиторием и должны делить один индекс через HTTP
  • Нужен граф репозитория в браузере, чтобы осмотреть архитектуру глазами

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

  • Проект маленький: агенту хватает чтения нескольких файлов, а индексация только добавит шагов
  • Нужна одна разовая правка в одном файле: индексация репозитория не окупится
  • Среда не позволяет запустить требуемую версию Node.js
  • Нужен только поиск строки по тексту: хватит обычного поиска по файлам

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

Найди через SDL-MCP все места, где вызывается функция создания заказа, покажи карточки символов и объясни, какие тесты запускать после правки

MCP

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

Ограничения

Нужен Node.js 24 или новее. Community License разрешает запускать, изменять и использовать SDL-MCP, в том числе внутри бизнеса. Исходный код открыт для чтения, но продавать, встраивать и распространять SDL-MCP в коммерческом продукте можно только по отдельной лицензии.

Если клиенту удобнее меньше вариантов, включите шлюз или Code Mode вместо плоского набора. Семантические эмбеддинги необязательны, при инициализации их можно отключить. Точность перекрестных ссылок зависит от того, есть ли для файла данные SCIP или языкового провайдера, иначе используется обычный разбор.

Политики выполнения задают допустимые исполняемые файлы, рабочие каталоги, окружение и таймауты, поэтому проверьте их до включения. Токен HTTP-сервера держите в секрете. Заметки разработки («memories») сохраняются, только если их включить.

Как отключить. Удалите сервер из конфигурации агента, а пакет командой `npm uninstall -g sdl-mcp`. Данные индекса лежат в каталогах, которые вы выбрали при `sdl-mcp init`, и удаляются вместе с ними. Общие ресурсы настройки хранятся в `~/.sdl-mcp`.

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

Как подключить SDL-MCP к Claude Code?

Поставьте пакет `npm install -g sdl-mcp`, в каталоге репозитория запустите `sdl-mcp init` и выберите Claude Code в мастере: мастер поддерживает Claude Code, Codex, Gemini и OpenCode и готовит конфигурацию. Затем проверьте установку командой `sdl-mcp doctor` и запустите `sdl-mcp serve --stdio`.

Чем карточка символа отличается от чтения файла?

Карточка содержит идентификатор символа, сигнатуру, краткое описание и связи. Агент сначала смотрит ее, затем берет скелет или горячий путь и только после этого просит окно исходного кода. Так в контекст попадает минимум строк, которые отвечают на вопрос.

Что такое срез графа?

Это подграф вокруг задачи или стартового символа с ограничением по размеру. Он следует связям репозитория и границы каталогов не учитывает. Срез можно обновить или расширить, когда агенту понадобится больше окружения.

Можно ли открыть граф репозитория в браузере?

Да. В режиме `sdl-mcp serve --http --port 3000` сервер отдает визуализатор по адресу /ui/viewer и панель наблюдения по /ui/observability. При старте он печатает токен для запросов, если проверка не отключена в конфигурации.

Можно ли использовать SDL-MCP в коммерческом проекте?

Внутри бизнеса можно. Для платного продукта с SDL-MCP внутри нужна коммерческая лицензия, ее условия описаны в файле COMMERCIAL_LICENSE.md репозитория.

Обсуждение

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

MCP-серверы
Официальный

Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки

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

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

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

MCP-сервер, который индексирует код через tree-sitter и отдает агенту отдельные функции и классы вместо целых файлов

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

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

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

MCP-мост к BSL Language Server: навигация, диагностика и рефакторинг кода 1С и OneScript для агентов

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

MCP-сервер, который строит граф кода: функции, классы, вызовы и маршруты, и отвечает на структурные запросы агента локально

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

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

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

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
SDL-MCP (эта запись)нетне нужна496
CodeGraphнетне нужна75 798локальный граф кода с точками входа и радиусом влияния, без лестницы раскрытия деталей
jCodeMunch MCPнетне нужна2 817отдает отдельные функции через tree-sitter, без срезов графа и политик окон кода
code-index-mcpнетне нужна158поиск по коду на tree-sitter без карточек символов и анализа изменений

Коротко о README

Документация описывает цикл из трех шагов: индексация репозитория, поиск символов или сбор контекста под задачу и постепенное раскрытие деталей. Руководства по срезам графа, живой индексации, SCIP, политикам и панели наблюдения лежат в каталоге docs. Сгенерированный список инструментов показывает актуальный набор для текущей версии.

Бейдж для README

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

Foxx AISDL-MCP
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.