Dev-Kit MCP Server
A Model Context Protocol (MCP) server targeted for agent development tools, providing scoped authorized operations in the root project directory. This package enables secure execution of operations such as running makefile commands, moving and deleting files, with future plans to include more tools for code editing. It serves as an excellent MCP server for VS-Code copilot and other AI-assisted development tools.
Features
- 🔒 Secure Operations: Execute operations within a scoped, authorized root directory
- 🛠️ Makefile Command Execution: Run makefile commands securely within the project
- 📁 File Operations: Move, create, and delete files within the authorized directory
- 🔌 MCP Integration: Turn any codebase into an MCP-compliant system
- 🤖 AI-Assisted Development: Excellent integration with VS-Code copilot and other AI tools
- 🔄 Extensible Framework: Easily add new tools for code editing and other operations
- 🚀 Fast Performance: Built with FastMCP for high performance
Installation
pip install dev-kit-mcp-server
Usage
Running the 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
The --root-dir parameter specifies the directory where file operations will be performed. This is important for security reasons, as it restricts file operations to this directory only.
Available Tools
The server provides the following tools:
- exec_make_target: Run makefile commands securely within the project
- create_dir: Create directories within the authorized root directory
- move_dir: Move files and directories within the authorized root directory
- remove_file: Delete files within the authorized root directory
Example Usage with MCP Client
from fastmcp import Client
async with Client() as client:
# List available tools
tools = await client.list_tools()
# Run a makefile command
result = await client.call_tool("exec_make_target", {"commands": ["test"]})
# 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"})
Development
Setup
# 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
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Server Config
{
"mcpServers": {
"dev-kit-mcp-server": {
"command": "uvx",
"args": [
"dev-kit-mcp-server",
"--root-dir",
"${workspaceFolder}"
],
"env": {}
}
}
}