使用说明
MCP服务器Go示例
这是用Go编写的模型上下文协议(MCP)服务器的示例实现。这个项目演示了如何使用自定义工具构建一个简单的MCP服务器。
⚠️ 重要免责声明
这只是一个示范项目! 此服务器提供的温度读数为 不是真的 并且纯粹是出于示例目的而虚构的。请勿将其用于实际天气信息或任何生产用例。
关于本项目
这个MCP服务器提供了一个“疯狂温度”工具,可以返回巴西各个城市的幽默、虚构的温度读数。这些回复是用巴西葡萄牙语方言写的,旨在展示MCP服务器的功能,而不是提供真实的天气数据。
特性
- MCP服务器:使用
mcp-go图书馆 - 自定义工具:使用巴西幽默的温度工具
- SSE服务器:为实时通信提供服务器发送事件端点
- 恢复中间件:包括错误恢复机制
项目结构
.
├── go.mod # Go module dependencies
├── go.sum # Go module checksums
├── LICENSE # Project license
├── main.go # Main server entry point
├── tools/
│ └── temperature.go # Temperature tool implementation
└── README.md # This file
依赖项
- 转到1.24.1 或以后
- mcp走:Go的MCP(模型上下文协议)库
安装
-
克隆存储库:
git clone https://github.com/carlossantin/mcp-server-go.git cd mcp-server-go -
安装依赖项:
go mod tidy
用法
运行服务器
启动MCP服务器:
go run main.go
服务器将在端口8080上启动,具有以下端点:
- SSE 终端:
http://localhost:8080/mcp/events - 消息端点:
http://localhost:8080/mcp/message
可用工具
crazy_temperature
返回巴西城市的虚构温度读数。
参数:
city(必填):城市名称
支持城市:
- 阿莱格里港 / POA
- 贝洛奥里森特 / 波斯尼亚
- 圣保罗/桑帕
- 里约热内卢/里约热内卢/RJ
- 任何其他城市(一般回应)
示例用法:
{
"method": "tools/call",
"params": {
"name": "crazy_temperature",
"arguments": {
"city": "Porto Alegre"
}
}
}
发展
建筑
go build -o mcp-server-go
运行测试
go test ./...
MCP集成
此服务器可以与任何兼容MCP的客户端集成。该服务器实现了模型上下文协议规范,并提供了AI助手和其他MCP客户端可以发现和使用的工具。
许可证
请参阅 许可证 文件以获取详细信息。
贡献
这是一个示例项目。您可以根据自己的学习目的对其进行分叉和修改。
致谢
- 内置于 mcp走
- 使用模型上下文协议规范
记住:这只是一个示范项目。温度数据完全是虚构的,不应用于任何现实世界的应用!
