关于 MCP Calculator
MCP Calculator 是用 Go 编写的 MCP 服务示例,提供计算器和问候功能。它实现 JSON-RPC 2.0、工具与资源处理及能力协商,适合演示 MCP 服务端实现。
主要功能
- 01计算器与问候功能
- 02JSON-RPC 2.0 通信
- 03工具注册与执行
- 04资源访问处理
- 05服务能力协商与错误处理
适用场景
- 01演示 Go MCP 服务端实现
- 02通过 JSON-RPC 调用计算和问候功能
MCP 相关
该 MCP 服务向 MCP 客户端提供计算与问候功能,并支持工具执行、资源访问和能力协商。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Calculator
一个使用 Go 实现的 Model Context Protocol(MCP)服务,提供计算器和问候功能。此实现遵循官方 MCP 规范。
功能
- 完整实现 JSON-RPC 2.0
- 支持 MCP 协议
- 工具注册与执行
- 资源处理
- 服务能力协商
- 按照规范处理错误
项目结构
mcpcalculator/
├── mcp/
│ └── protocol/
│ ├── types.go # Protocol types and structures
│ ├── server.go # MCP server implementation
│ └── client.go # MCP client implementation
├── main.go # Example usage
├── go.mod # Go module file
└── README.md # Documentation
要求
- Go 1.21 或更高版本
安装
git clone https://github.com/akhidasTech/mcpcalculator.git
cd mcpcalculator
go mod download
使用方法
启动服务
go run main.go
服务将在 8080 端口启动。
发送请求
工具和资源遵循 JSON-RPC 2.0 规范:
Add 工具
curl -X POST http://localhost:8080 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "add",
"params": {"a": 5, "b": 3}
}'
问候资源
curl -X POST http://localhost:8080 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "greeting",
"params": {"name": "John"}
}'
响应格式
所有响应均遵循 JSON-RPC 2.0 格式:
{
"jsonrpc": "2.0",
"id": 1,
"result": <result_value>
}
或对于错误:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": <error_code>,
"message": "error message",
"data": <additional_data>
}
}
协议实现
此实现遵循 Model Context Protocol 规范:
- JSON-RPC 2.0:所有通信均使用 JSON-RPC 2.0 协议
- 能力:服务在初始化期间公布其能力
- 工具:实现工具注册与执行协议
- 资源:实现资源访问协议
- 错误处理:使用标准错误代码和格式
安全
此实现遵循 MCP 安全指南:
- 用户同意:工具和资源需要显式调用
- 数据隐私:未经明确请求,不会共享任何数据
- 工具安全:工具执行受到控制并经过验证
- 错误处理:妥善报告和处理错误
参与贡献
欢迎贡献!请随时提交 Pull Request。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。