Dev-Kit MCP-сервер
Сервер Model Context Protocol (MCP), предназначенный для инструментов разработки агентов, предоставляющий ограниченные авторизованные операции в корневом каталоге проекта. Этот пакет обеспечивает безопасное выполнение операций, таких как запуск команд makefile, перемещение и удаление файлов, с будущими планами по включению большего количества инструментов для редактирования кода. Он служит отличным сервером MCP для VS-Code copilot и других инструментов разработки с поддержкой ИИ.
Функции
🔒 Безопасные операции : выполнение операций в пределах ограниченного, авторизованного корневого каталога.
🛠️ Выполнение команд Makefile : безопасный запуск команд makefile в проекте.
📁 Операции с файлами : перемещение, создание, переименование и удаление файлов в авторизованном каталоге.
🔄 Операции Git : выполнение операций Git, таких как статус, добавление, фиксация, отправка, извлечение и извлечение.
🔌 Интеграция MCP : превратите любую кодовую базу в систему, совместимую с MCP
🤖 Разработка с использованием ИИ : отличная интеграция с VS-Code Copilot и другими инструментами ИИ
🔄 Расширяемая структура : легко добавляйте новые инструменты для редактирования кода и других операций
🚀 Высокая производительность : создан с использованием FastMCP для высокой производительности
Related MCP server: DevDb MCP Server
Установка
pip install dev-kit-mcp-serverИспользование
Запуск сервера
# Recommended method (with root directory specified)
dev-kit-mcp-server --root-dir=workdir
# Alternative methods
uv run python -m dev_kit_mcp_server.mcp_server --root-dir=workdir
python -m dev_kit_mcp_server.mcp_server --root-dir=workdirПараметр --root-dir указывает каталог, в котором будут выполняться файловые операции. Это важно по соображениям безопасности, так как он ограничивает файловые операции только этим каталогом.
Доступные инструменты
Сервер предоставляет следующие инструменты:
Операции с файлами
create_dir : Создание каталогов в авторизованном корневом каталоге.
edit_file : Редактировать файлы, заменяя строки между указанными начальной и конечной строками новым текстом
move_dir : Перемещение файлов и каталогов в пределах авторизованного корневого каталога.
remove_file : Удалить файлы в авторизованном корневом каталоге
rename_file : Переименование файлов и каталогов в авторизованном корневом каталоге.
Операции Git
git_status : Получить статус репозитория Git (измененные файлы, неотслеживаемые файлы и т. д.)
git_add : Добавить файлы в индекс Git (область подготовки)
git_commit : Зафиксировать изменения в репозитории Git
git_push : отправка изменений в удаленный репозиторий Git
git_pull : Извлечение изменений из удаленного репозитория Git
git_checkout : Извлечь или создать ветку в репозитории Git
git_diff : Показать различия между коммитами, коммитом и рабочим деревом и т. д.
Операции с Makefile
exec_make_target : Безопасный запуск команд makefile внутри проекта
Пример использования с клиентом MCP
from fastmcp import Client
async def example():
async with Client() as client:
# List available tools
tools = await client.list_tools()
# File Operations
# Create a directory
result = await client.call_tool("create_dir", {"path": "new_directory"})
# Move a file
result = await client.call_tool("move_dir", {"path1": "source.txt", "path2": "destination.txt"})
# Remove a file
result = await client.call_tool("remove_file", {"path": "file_to_remove.txt"})
# Rename a file
result = await client.call_tool("rename_file", {"path": "old_name.txt", "new_name": "new_name.txt"})
# Edit a file
result = await client.call_tool("edit_file", {
"path": "file_to_edit.txt",
"start_line": 2,
"end_line": 4,
"text": "This text will replace lines 2-4"
})
# Git Operations
# Get repository status
result = await client.call_tool("git_status")
# Add files to the index
result = await client.call_tool("git_add", {"paths": ["file1.txt", "file2.txt"]})
# Commit changes
result = await client.call_tool("git_commit", {"message": "Add new files"})
# Pull changes from remote
result = await client.call_tool("git_pull", {"remote": "origin", "branch": "main"})
# Push changes to remote
result = await client.call_tool("git_push")
# Checkout a branch
result = await client.call_tool("git_checkout", {"branch": "feature-branch", "create": True})
# Makefile Operations
# Run a makefile command
result = await client.call_tool("exec_make_target", {"commands": ["test"]})Разработка
Настраивать
# Clone the repository
git clone https://github.com/DanielAvdar/dev-kit-mcp-server.git
cd dev-kit-mcp-server
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytestВнося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.