mcp-dev-tools: A Multi-functional Development Tools Server
About
mcp-dev-tools is an MCP (Model Context Protocol) server that runs over the SSE (Server-Sent Events) protocol. It offers a comprehensive suite of development tools including Git operations, file manipulation, and custom command execution, designed for developers who want to…
Details
- Author
- daoch4n
- Downloads
- 354
- Categories
- Other, Developer Tools
Jump to
- Extensive Git operations (status, diff, commit, add, reset, log, branch, checkout, show, apply diff, read file, stage all)
- File search and replace with literal/regex fallback
- File write with diff output
- Custom shell command execution within a repository path
- Communication via Server-Sent Events (SSE) protocol
- Easy integration with MCP-SuperAssistant and online chat-based assistants
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
mcp-dev-tools: A Multi-functional Development Tools ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install the prerequisite uv with pip install uv. Then start the server by running ./server.sh -p 1337 (Linux/macOS) or .\server.ps1 -p 1337 (Windows). To integrate with an AI assistant, add an MCP server configuration pointing to http://127.0.0.1:1337/sse in your MCP settings file. When using any tool, always provide the full current working directory path as the repo_path option.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp-dev-tools: a multi-functional development tools server": {
"dev-tools": {
"type": "http",
"url": "http://127.0.0.1:1337/sse"
}
}
}
}
McpServers
{
"dev-tools": {
"type": "http",
"url": "http://127.0.0.1:1337/sse"
}
}
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:
```json
{
"type": "object",
"properties": {
"repo_path": {
"type": "string"
},
"command": {
"type": "string"
}
},
"required": [
"repo_path",
"command"
]
}Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





