基于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 discovermcp client list-tools <service-url>mcp client call <service-url> <tool-name> [params...]mcp client status <service-url>mcp server start [options]选项:
-a, --addr:服务器监听地址(默认:localhost:8080)-p, --protocol:服务器协议(默认:http)
mcp server add-tool <tool-path>mcp server list-tools配置文件支持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: []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"
}
]
}项目提供了示例配置文件,位于 examples/ 目录下:
examples/mcp.json:包含不同连接方式的MCP服务配置examples/detailed_mcp.json:包含更详细的服务配置,包括每个服务提供的工具信息
可以将这些示例配置文件复制到默认位置使用:
# 复制基本示例配置
cp examples/mcp.json ~/.mcp/mcp.json
# 复制详细示例配置
cp examples/detailed_mcp.json ~/.mcp/mcp.jsonmcp/
├── 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- github.com/mark3labs/mcp-go:MCP协议实现
- github.com/spf13/cobra:命令行界面框架
- github.com/spf13/viper:配置管理
MIT License