Skip to main content

A Model Context Protocol server for turning repositories into navigable MCP systems

Project description

Dev-Kit MCP Server

PyPI - Python Version version License OS OS OS Tests Code Checks codecov Ruff Last Commit

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dev_kit_mcp_server-0.0.2b0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dev_kit_mcp_server-0.0.2b0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file dev_kit_mcp_server-0.0.2b0.tar.gz.

File metadata

File hashes

Hashes for dev_kit_mcp_server-0.0.2b0.tar.gz
Algorithm Hash digest
SHA256 a8b89eb41651996448fc1291107ce0a6ef6aa0848e8dd654ad955ca4024f847d
MD5 eeffe56a56f971348bc2c0be92a1d671
BLAKE2b-256 bed2d3705d79d3aa89309f88743e28ca509d1e7c5e9957c1fcdf934a7396d04a

See more details on using hashes here.

File details

Details for the file dev_kit_mcp_server-0.0.2b0-py3-none-any.whl.

File metadata

File hashes

Hashes for dev_kit_mcp_server-0.0.2b0-py3-none-any.whl
Algorithm Hash digest
SHA256 c692618cebaf19396a6abafee793de046f65d0916b8ef600e0b09f63924ff835
MD5 10460b3d5fc0bcb8880d1f7950e1a2f7
BLAKE2b-256 db383f81d5c26ffe3e04fc218542588565e4f58d7d65011a7aef5e8c6a39af98

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page