開発キットMCPサーバー
エージェント開発ツール向けのモデルコンテキストプロトコル(MCP)サーバー。ルートプロジェクトディレクトリ内でスコープ指定された承認済み操作を提供します。このパッケージは、makefileコマンドの実行、ファイルの移動と削除といった操作を安全に実行することを可能にします。将来的には、コード編集ツールの追加も予定しています。VS-Code CopilotをはじめとするAI支援開発ツールにとって、優れたMCPサーバーとして機能します。
特徴
🔒安全な操作: スコープが設定された承認済みのルートディレクトリ内で操作を実行します
🛠️ Makefile コマンドの実行: プロジェクト内で Makefile コマンドを安全に実行します
📁ファイル操作:許可されたディレクトリ内でのファイルの移動、作成、名前変更、削除
🔄 Git 操作: ステータス、追加、コミット、プッシュ、プル、チェックアウトなどの Git 操作を実行します。
🔌 MCP 統合: あらゆるコードベースを MCP 準拠のシステムに変換します
🤖 AI支援開発:VS-Code Copilotやその他のAIツールとの優れた統合
🔄拡張可能なフレームワーク: コード編集やその他の操作のための新しいツールを簡単に追加できます
🚀高速パフォーマンス: 高性能を実現する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 : コミット間、コミットと作業ツリー間の差分などを表示します。
メイクファイル操作
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 ファイルを参照してください。