Skip to main content
Glama

dev-kit-mcp-server

Dev-Kit MCP Server

OS OS OS 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, Rename and Delete files within the authorized directory
  • 🔄 Git Operations: Perform Git operations like status, add, commit, push, pull, and checkout
  • 🔌 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:

File Operations
  • create_dir: Create directories within the authorized root directory
  • edit_file: Edit files by replacing lines between specified start and end lines with new text
  • move_dir: Move files and directories within the authorized root directory
  • remove_file: Delete files within the authorized root directory
  • rename_file: Rename files and directories within the authorized root directory
Git Operations
  • git_status: Get the status of the Git repository (changed files, untracked files, etc.)
  • git_add: Add files to the Git index (staging area)
  • git_commit: Commit changes to the Git repository
  • git_push: Push changes to a remote Git repository
  • git_pull: Pull changes from a remote Git repository
  • git_checkout: Checkout or create a branch in the Git repository
  • git_diff: Show diffs between commits, commit and working tree, etc.
Makefile Operations
  • exec_make_target: Run makefile commands securely within the project

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() # 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"]})

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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

dev-kit-mcp-server

  1. Features
    1. Installation
      1. Usage
        1. Running the Server
        2. Available Tools
        3. Example Usage with MCP Client
      2. Development
        1. Setup
        2. Contributing
      3. License

        Related MCP Servers

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/DanielAvdar/dev-kit-mcp-server'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server