Sponsored by Deepsite.site

mcp-dev-tools: A Multi-functional Development Tools Server

Created By
daoch4n7 months ago
mcp coding tools over sse protocol
Content

mcp-dev-tools: A Multi-functional Development Tools Server

This project provides a versatile MCP (Model Context Protocol) server running over the SSE (Server-Sent Events) protocol. mcp-dev-tools offers a comprehensive suite of development tools, including extensive Git operations (status, diff, commit, add, reset, log, branch management, checkout, show, apply diff, read file, stage all), general file manipulation (search_and_replace, write_to_file), and the ability to execute custom shell commands (execute_command). All these functionalities are accessible via Server-Sent Events (SSE), making it a powerful and versatile server for various development needs.

Prerequisites

pip install uv

Usage

Linux/macOS

./server.sh -p 1337

Windows

.\server.ps1 -p 1337

AI System Prompt

You have development tools at your disposal. Use relevant tools from dev-tools MCP server for git and file operations. When using any tool from it, always provide the full current working directory path as the 'repo_path' option.

Integration with MCP-SuperAssistant

mcp-dev-tools can be used in conjunction with MCP-SuperAssistant to extend online chat-based assistants such as ChatGPT, Google Gemini, Perplexity, Grok, Google AI Studio, OpenRouter Chat, DeepSeek, Kagi, and T3 Chat.

MCP Server Configuration Example

To integrate mcp-dev-tools with your AI assistant, add the following configuration to your MCP settings file:

{
  "mcpServers": {
    "dev-tools": {
      "url": "http://127.0.0.1:1337/sse",
      "disabled": false,
      "alwaysAllow": [],
      "timeout": 15
    }
  }
}

Available Tools

This mcp-dev-tools server provides a suite of development tools, including Git-related functionalities and general file manipulation commands, and console commands execution:

git_status

  • Description: Shows the working tree status.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        }
      },
      "required": [
        "repo_path"
      ]
    }
    

git_diff_unstaged

  • Description: Shows changes in the working directory that are not yet staged.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        }
      },
      "required": [
        "repo_path"
      ]
    }
    

git_diff_staged

  • Description: Shows changes that are staged for commit.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        }
      },
      "required": [
        "repo_path"
      ]
    }
    

git_diff

  • Description: Shows differences between branches or commits.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "target": {
          "type": "string"
        }
      },
      "required": [
        "repo_path",
        "target"
      ]
    }
    

git_commit

  • Description: Records changes to the repository.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "repo_path",
        "message"
      ]
    }
    

git_add

  • Description: Adds file contents to the staging area.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "files": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "repo_path",
        "files"
      ]
    }
    

git_reset

  • Description: Unstages all staged changes.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        }
      },
      "required": [
        "repo_path"
      ]
    }
    

git_log

  • Description: Shows the commit logs.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "max_count": {
          "type": "integer",
          "default": 10
        }
      },
      "required": [
        "repo_path"
      ]
    }
    

git_create_branch

  • Description: Creates a new branch from an optional base branch.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "branch_name": {
          "type": "string"
        },
        "base_branch": {
          "type": "string",
          "nullable": true
        }
      },
      "required": [
        "repo_path",
        "branch_name"
      ]
    }
    

git_checkout

  • Description: Switches branches.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "branch_name": {
          "type": "string"
        }
      },
      "required": [
        "repo_path",
        "branch_name"
      ]
    }
    

git_show

  • Description: Shows the contents of a commit.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "revision": {
          "type": "string"
        }
      },
      "required": [
        "repo_path",
        "revision"
      ]
    }
    

git_apply_diff

  • Description: Applies a diff to the working directory.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "diff_content": {
          "type": "string"
        }
      },
      "required": [
        "repo_path",
        "diff_content"
      ]
    }
    

git_read_file

  • Description: Reads the content of a file in the repository.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "file_path": {
          "type": "string"
        }
      },
      "required": [
        "repo_path",
        "file_path"
      ]
    }
    

git_stage_all

  • Description: Stages all changes in the working directory.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        }
      },
      "required": [
        "repo_path"
      ]
    }
    

search_and_replace

  • Description: Searches for a string or regex pattern in a file and replaces it with another string. It first attempts a literal search and falls back to a regex search if no literal matches are found.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "file_path": {
          "type": "string"
        },
        "search_string": {
          "type": "string"
        },
        "replace_string": {
          "type": "string"
        },
        "ignore_case": {
          "type": "boolean",
          "default": false
        },
        "start_line": {
          "type": "integer",
          "nullable": true
        },
        "end_line": {
          "type": "integer",
          "nullable": true
        }
      },
      "required": [
        "repo_path",
        "file_path",
        "search_string",
        "replace_string"
      ]
    }
    

write_to_file

  • Description: Writes content to a specified file, creating it if it doesn't exist or overwriting it if it does. Also outputs a diff of the changes made.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "file_path": {
          "type": "string"
        },
        "content": {
          "type": "string"
        }
      },
      "required": [
        "repo_path",
        "file_path",
        "content"
      ]
    }
    

execute_command

  • Description: Executes a custom shell command within the specified repository path.
  • Input Schema:
    {
      "type": "object",
      "properties": {
        "repo_path": {
          "type": "string"
        },
        "command": {
          "type": "string"
        }
      },
      "required": [
        "repo_path",
        "command"
      ]
    }
    
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
DeepChatYour AI Partner on Desktop
Serper MCP ServerA Serper MCP Server
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Tavily Mcp
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Amap Maps高德地图官方 MCP Server
Playwright McpPlaywright MCP server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
ChatWiseThe second fastest AI chatbot™
WindsurfThe new purpose-built IDE to harness magic
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
CursorThe AI Code Editor
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.