
Modular MCP Server

2025.03.25
0
Go开发工具文件操作命令执行开发效率
mcp-server-developer-tool 是一个基于 Go 语言实现的模块化 Model Context Protocol (MCP) 服务器,使用 `github.com/metoro-io/mcp-golang` 库构建。它提供了一系列工具来执行文件操作、搜索和 shell 命令,同时具备安全特性来限制文件操作路径和命令执行。
View on GitHub
Overview
基本能力
产品定位
mcp-server-developer-tool 是一个开发工具,旨在为开发者提供安全的文件操作和命令执行能力,同时支持模块化扩展。
核心功能
- 文件操作工具:
showfile
:显示文件内容searchfile
:在文件中搜索内容-
writefile
:写入文件 -
命令执行工具:
-
execute_shell_command
:执行 shell 命令 -
安全特性:
- 路径限制系统,限制文件操作到指定目录
- 命令白名单,限制可执行的 shell 命令
-
自动拒绝敏感目录(如
.git
,.env
) -
模块化扩展:
- 支持添加新的工具,只需实现
Tool
接口并注册
适用场景
- 开发环境:在开发过程中快速执行文件操作和命令
- 自动化脚本:集成到自动化脚本中执行特定任务
- 安全敏感操作:在受限环境中安全地执行文件操作和命令
工具列表
- execute_shell_command:执行 shell 命令,支持命令白名单和路径检查
- showfile:显示指定文件的内容
- searchfile:在文件中搜索指定内容
- writefile:向指定文件写入内容
常见问题解答
- 如何限制文件操作路径?
- 使用
--paths
命令行参数或MCP_ALLOWED_PATHS
环境变量指定允许的路径 -
使用
--deny-paths
命令行参数或MCP_DENIED_PATHS
环境变量指定拒绝的路径 -
如何添加新工具?
-
在
internal/tools
目录下创建新文件,实现Tool
接口,并在main.go
中注册 -
默认的安全限制是什么?
- 默认只允许当前工作目录
- 自动拒绝
.git
和.env
等敏感目录
使用教程
使用依赖
- 安装 Go 语言环境
- 确保
github.com/metoro-io/mcp-golang
库可用
安装教程
# 进入项目目录
cd cmd/mcp-server
# 构建服务器
go build -o mcp-server
# 运行服务器
./mcp-server
调试方式
# 运行测试
go test ./...
# 使用特定路径运行服务器
./mcp-server --paths=/home/user/safe:/tmp/workspace