使用说明
Простой MCP-сервер
Этот проект реализует простой MCP-сервер, который предоставляет агенту набор кастомных инструментов для интеграции с IDE.
Описание
MCP (Model Context Protocol) - это протокол, который позволяет агентам взаимодействовать с внешними инструментами и ресурсами. Этот сервер предоставляет несколько полезных инструментов для работы с кодом и проектом.
Принципы работы MCP
Как IDE/агент подключается к MCP-серверу
IDE/агент подключается к MCP-серверу через stdio транспорт. Сервер запускается как отдельный процесс, и IDE взаимодействует с ним через стандартные потоки ввода/вывода. При подключении агент получает список доступных инструментов от сервера.
Что такое "tool" в этом сервере
"Tool" в этом сервере - это функция, которая выполняет определенную задачу и возвращает структурированный результат. Каждый инструмент имеет:
- Уникальное имя
- Описание функциональности
- Схему входных параметров
- Возвращает структурированный результат (JSON/объект)
Инструменты
- Doc/Code context tool (
get_documentation) - возвращает справку/выжимку/ссылки на документацию из локального источника - Project helper tool (
search_project) - чтение/поиск по локальным файлам проекта - DevOps/tooling tool (
run_command) - выполнение безопасных команд (линтеры, тесты и т.п.)
Установка
- Клонируйте репозиторий
- Установите зависимости:
npm install - Создайте файл
.envна основе.env.example - Запустите сервер:
npm start
Подробные инструкции по установке Node.js и зависимостей смотрите в INSTALLATION.md.
Интеграция с IDE
Конфигурация подключения
Сервер можно подключить к различным IDE, которые поддерживают MCP-протокол, через конфигурационный файл mcp-config.json.
Как включить
- Убедитесь, что сервер запущен и работает
- В настройках вашей IDE найдите раздел MCP-серверов
- Добавьте конфигурацию из файла
mcp-config.json - Перезапустите IDE для применения изменений
Требования безопасности
- Все команды, выполняемые через инструмент
run_command, должны быть в whitelist'е ALLOWED_COMMANDS - Доступ к файлам ограничен директорией PROJECT_PATH
- Секреты и ключи не коммитятся в репозиторий
Примеры тестирования
Примеры запросов и подтверждения вызовов инструментов можно найти в docs/testing-examples.md.
Детали реализации
Подробная информация о реализации сервера и инструментов находится в docs/implementation-details.md.
Контракт результатов инструментов
Подробное описание формата результатов инструментов можно найти в docs/tool-contract.md.
