A Model Context Protocol server for turning repositories into navigable MCP systems
Project description
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, Rename 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 def example()
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"})
# Rename a file
result = await client.call_tool("rename_file", {"path1": "old_name.txt", "path2": "new_name.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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dev_kit_mcp_server-0.0.4b0.tar.gz.
File metadata
- Download URL: dev_kit_mcp_server-0.0.4b0.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
644fc915c538766b14157a4c49cde727157515d6680b69e7ac83d560f82f92c7
|
|
| MD5 |
0f5ec18e7793b2b87ac488957fc0a908
|
|
| BLAKE2b-256 |
74d4cc19a4e9dff5758d06c29ed2bc75b9b0fe4db1cc0547e07a9a0b1faae72d
|
File details
Details for the file dev_kit_mcp_server-0.0.4b0-py3-none-any.whl.
File metadata
- Download URL: dev_kit_mcp_server-0.0.4b0-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
233953503c71ea978f013d9b1b11f323c0e0b765b5b8e7d3aa6468feed52390f
|
|
| MD5 |
0e44d59f2a283cfb644174f40c527e75
|
|
| BLAKE2b-256 |
6c263355a4907a16628a4418d2e8bcd4b35c8f83699e7c67c3909d4aa2897e37
|