关于 GoCopilotAgentToDoList
GoCopilotAgentToDoList 是一个 Go HTTP 服务,通过 Docker 中运行的 MCP 服务按指定时区获取当前时间。它以 JSON API 展示 Go、Docker 与 MCP 服务的集成,并包含基础单元测试。
主要功能
- 01通过 /mcp/time 获取指定时区时间
- 02使用 Docker 运行 MCP 服务
- 03以 JSON 格式收发请求和响应
- 04包含请求与响应编组单元测试
适用场景
- 01为应用提供指定时区的当前时间
- 02演示 Go HTTP 服务调用 Docker 化 MCP 服务
- 03验证 JSON 请求与响应的编组行为
MCP 相关
Go 服务将请求转发给 Docker 容器中的 MCP 服务,调用 mcp/time 命令并将结果作为 JSON 返回。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GoCopilotAgentToDoList
概述
GoCopilotAgentToDoList 是一个基于 Go 的 HTTP 服务,用于提供检索指定时区当前时间的 API 端点。该服务会与 Docker 化的 Model Context Protocol(MCP)服务交互以获取时间,是一个整合 Go、Docker 和外部服务的实用示例。
功能
- /mcp/time API 端点:接收包含时区的 POST 请求,并返回该时区的当前时间。
- Docker 集成:使用 Docker 运行 MCP 服务以检索时间。
- 基于 JSON 的通信:请求和响应均使用 JSON。
- 单元测试:包含用于测试请求和响应封送的基本单元测试。
前置条件
项目结构
go.mod # Go module definition
package main.go # Main application source code
package_main_test.go # Unit tests for the project
todos.json # (Reserved for future to-do list features)
用法
1. 构建并运行服务
在项目目录中打开终端并运行:
go run package\ main.go
服务将启动并监听 http://localhost:8080。
2. API 端点
POST /mcp/time
- 请求正文:
{ "timezone": "America/New_York" } - 响应正文:
{ "time": "2025-05-27T12:34:56Z" } - curl 示例:
curl -X POST http://localhost:8080/mcp/time -H "Content-Type: application/json" -d '{"timezone":"America/New_York"}'
3. 工作原理
- 服务会在
/mcp/time接收包含指定时区的 JSON 正文的 POST 请求。 - 它会封送请求,并将其传入运行 MCP 服务(
mcp:latest)的 Docker 容器,具体执行mcp/time命令。 - 容器的输出会经过解析,并以 JSON 响应的形式返回。
运行测试
要运行单元测试,请执行:
go test -v
扩展项目
- 待办事项列表功能:
todos.json的存在表明未来可能会开发待办事项列表 API。 - 其他端点: 可以在
package main.go中定义新的处理器,以添加更多端点。 - 错误处理: 改进错误消息和日志记录,以满足生产环境的使用需求。
故障排除
- 确保 Docker 正在运行,并且本地可用
mcp:latest镜像。 - 如果遇到 Docker 权限问题,请以管理员身份运行终端。
- 服务默认监听 8080 端口。如有需要,请在
package main.go中更改此设置。
许可证
本项目按原样提供,仅供教育和演示之用。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。