Dev-Kit MCP Server
Ein Model Context Protocol (MCP)-Server für Agenten-Entwicklungstools, der autorisierte Operationen im Stammverzeichnis des Projekts ermöglicht. Dieses Paket ermöglicht die sichere Ausführung von Operationen wie Makefile-Befehlen sowie das Verschieben und Löschen von Dateien. Zukünftig sollen weitere Tools zur Codebearbeitung integriert werden. Es dient als hervorragender MCP-Server für VS-Code Copilot und andere KI-gestützte Entwicklungstools.
Merkmale
🔒 Sichere Vorgänge : Führen Sie Vorgänge in einem begrenzten, autorisierten Stammverzeichnis aus
🛠️ Ausführung von Makefile-Befehlen : Führen Sie Makefile-Befehle sicher innerhalb des Projekts aus
📁 Dateioperationen : Verschieben, Erstellen, Umbenennen und Löschen von Dateien innerhalb des autorisierten Verzeichnisses
🔄 Git-Operationen : Führen Sie Git-Operationen wie Status, Hinzufügen, Commit, Push, Pull und Checkout durch
🔌 MCP-Integration : Verwandeln Sie jede Codebasis in ein MCP-kompatibles System
🤖 KI-gestützte Entwicklung : Hervorragende Integration mit VS-Code Copilot und anderen KI-Tools
🔄 Erweiterbares Framework : Fügen Sie einfach neue Tools für die Codebearbeitung und andere Vorgänge hinzu
🚀 Schnelle Leistung : Mit FastMCP für hohe Leistung entwickelt
Related MCP server: DevDb MCP Server
Installation
pip install dev-kit-mcp-serverVerwendung
Ausführen des Servers
# 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=workdirDer Parameter --root-dir gibt das Verzeichnis an, in dem Dateioperationen ausgeführt werden. Dies ist aus Sicherheitsgründen wichtig, da Dateioperationen dadurch auf dieses Verzeichnis beschränkt werden.
Verfügbare Tools
Der Server stellt die folgenden Tools bereit:
Dateioperationen
create_dir : Verzeichnisse innerhalb des autorisierten Stammverzeichnisses erstellen
edit_file : Bearbeiten Sie Dateien, indem Sie Zeilen zwischen angegebenen Start- und Endzeilen durch neuen Text ersetzen
move_dir : Verschiebt Dateien und Verzeichnisse innerhalb des autorisierten Stammverzeichnisses
remove_file : Dateien im autorisierten Stammverzeichnis löschen
rename_file : Dateien und Verzeichnisse innerhalb des autorisierten Stammverzeichnisses umbenennen
Git-Operationen
git_status : Ruft den Status des Git-Repositorys ab (geänderte Dateien, nicht verfolgte Dateien usw.)
git_add : Dateien zum Git-Index (Staging-Bereich) hinzufügen
git_commit : Änderungen am Git-Repository festschreiben
git_push : Änderungen in ein Remote-Git-Repository übertragen
git_pull : Änderungen aus einem Remote-Git-Repository abrufen
git_checkout : Auschecken oder Erstellen eines Zweigs im Git-Repository
git_diff : Zeigt Unterschiede zwischen Commits, Commit- und Arbeitsbaum usw. an.
Makefile-Operationen
exec_make_target : Makefile-Befehle sicher innerhalb des Projekts ausführen
Beispielverwendung mit MCP-Client
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"]})Entwicklung
Aufstellen
# 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
pytestBeitragen
Beiträge sind willkommen! Senden Sie gerne einen Pull Request.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.