Modular MCP Server

Modular MCP Server

site icon
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 是一个开发工具,旨在为开发者提供安全的文件操作和命令执行能力,同时支持模块化扩展。

核心功能

  1. 文件操作工具
  2. showfile:显示文件内容
  3. searchfile:在文件中搜索内容
  4. writefile:写入文件

  5. 命令执行工具

  6. execute_shell_command:执行 shell 命令

  7. 安全特性

  8. 路径限制系统,限制文件操作到指定目录
  9. 命令白名单,限制可执行的 shell 命令
  10. 自动拒绝敏感目录(如 .git, .env

  11. 模块化扩展

  12. 支持添加新的工具,只需实现 Tool 接口并注册

适用场景

  1. 开发环境:在开发过程中快速执行文件操作和命令
  2. 自动化脚本:集成到自动化脚本中执行特定任务
  3. 安全敏感操作:在受限环境中安全地执行文件操作和命令

工具列表

  1. execute_shell_command:执行 shell 命令,支持命令白名单和路径检查
  2. showfile:显示指定文件的内容
  3. searchfile:在文件中搜索指定内容
  4. writefile:向指定文件写入内容

常见问题解答

  1. 如何限制文件操作路径?
  2. 使用 --paths 命令行参数或 MCP_ALLOWED_PATHS 环境变量指定允许的路径
  3. 使用 --deny-paths 命令行参数或 MCP_DENIED_PATHS 环境变量指定拒绝的路径

  4. 如何添加新工具?

  5. internal/tools 目录下创建新文件,实现 Tool 接口,并在 main.go 中注册

  6. 默认的安全限制是什么?

  7. 默认只允许当前工作目录
  8. 自动拒绝 .git.env 等敏感目录

使用教程

使用依赖

  1. 安装 Go 语言环境
  2. 确保 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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。