MCP Go 工具集
基于Go语言开发的MCP(Model Context Protocol)工具集,包含命令行客户端和服务器,用于AI模型与工具的连接和通信。
功能特性
客户端功能
- 🔍 服务发现:自动或手动发现MCP服务
- 📋 工具列表:列出服务提供的所有工具及其描述
- 🚀 工具调用:调用MCP服务的工具并获取结果
- 📊 状态监控:查看服务状态和健康信息
服务器功能
- 🧰 工具管理:基于mcp-go的工具注册和调用机制
- 🔌 多协议支持:支持HTTP协议
- 🧩 插件系统:允许动态加载和管理工具
- ⚙️ 配置管理:灵活的配置选项
安装
从源代码构建
go install github.com/sjzsdu/tong-mcp/cmd/mcp@latest从发布版本下载
请访问GitHub Releases页面下载最新版本。
使用方法
客户端命令
发现服务
mcp client discover列出服务提供的工具
mcp client list-tools 调用工具
mcp client call [params...]获取服务状态
mcp client status 服务器命令
启动服务器
mcp server start [options]选项:
-a, --addr:服务器监听地址(默认:localhost:8080)-p, --protocol:服务器协议(默认:http)
添加工具
mcp server add-tool 列出服务器上的工具
mcp server list-tools配置文件
1. 工具集配置文件
配置文件支持YAML格式,默认查找位置:
- 当前目录
$HOME/.mcp/etc/mcp
配置示例:
client:
default_protocol: http
timeout: 30
server:
default_addr: localhost:8080
default_protocol: http
tool_capabilities: true
plugins:
plugin_dir: ./plugins
enabled_plugins: []2. MCP服务配置文件
MCP服务配置文件支持JSON格式,用于定义可用的MCP服务,默认查找位置:
- 当前目录下的
mcp.json $HOME/.mcp/mcp.json/etc/mcp/mcp.json
配置示例:
{
"services": [
{
"name": "GitHub MCP Service",
"url": "http://github.com/mcp",
"version": "1.0.0",
"description": "GitHub MCP服务,提供GitHub相关工具",
"protocol": "http"
},
{
"name": "本地MCP服务",
"url": "http://localhost:8080",
"version": "1.0.0",
"description": "本地MCP服务,提供测试工具",
"protocol": "http"
}
]
}3. 示例配置文件
项目提供了示例配置文件,位于 examples/ 目录下:
examples/mcp.json:包含不同连接方式的MCP服务配置examples/detailed_mcp.json:包含更详细的服务配置,包括每个服务提供的工具信息
可以将这些示例配置文件复制到默认位置使用:
# 复制基本示例配置
cp examples/mcp.json ~/.mcp/mcp.json
# 复制详细示例配置
cp examples/detailed_mcp.json ~/.mcp/mcp.json开发
项目结构
mcp/
├── cmd/
│ └── mcp/ # 主命令行入口
├── internal/
│ ├── cli/ # 命令行界面实现
│ ├── client/ # Client扩展功能
│ ├── server/ # Server扩展功能
│ ├── config/ # 配置管理
│ └── utils/ # 通用工具函数
├── pkg/
│ └── plugins/ # 插件系统
├── examples/ # 示例代码
├── go.mod
└── README.md运行测试
go test ./...构建项目
go build -o mcp ./cmd/mcp依赖
- :MCP协议实现
- :命令行界面框架
- :配置管理
许可证
MIT License
