时区时间查询服务

GoCopilotAgentToDoList是一个基于Go的HTTP服务器,提供API端点用于检索指定时区的当前时间,并通过Docker化的MCP服务获取时间。

  • by iancarpenter
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 iancarpenter/gocopilotagenttodolist

使用说明

GoCopilotAgentToDoList

概述

GoCopilotAgentToDoList是一个基于Go的HTTP服务器,它提供了一个API端点,用于检索指定时区中的当前时间。服务器与Docker化模型上下文协议(MCP)服务交互以获取时间,使其成为集成Go、Docker和外部服务的一个实例。

特性

  • /mcp/时间API终点:接受带有时区的POST请求,并返回该时区的当前时间。
  • Docker集成:使用Docker运行MCP服务进行时间检索。
  • 基于JSON的通信:请求和响应都使用JSON。
  • 单元测试:包括请求和响应封送的基本单元测试。

先决条件

  • 去 1.18或更高版本
  • 码头工人 已安装并正在运行
  • MCP Docker镜像(mcp:latest)本地可用
  • Windows操作系统(但代码是跨平台的)

项目结构

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终点

发布 /mcp/time

  • 请求正文:
    {
      "timezone": "America/New_York"
    }
    
  • 响应主体:
    {
      "time": "2025-05-27T12:34:56Z"
    }
    
  • 卷曲示例:
    curl -X POST http://localhost:8080/mcp/time -H "Content-Type: application/json" -d '{"timezone":"America/New_York"}'
    

3.工作原理

  • 服务器在以下位置接收POST请求 /mcp/time JSON正文指定时区。
  • 它编组请求并将其传输到运行MCP服务的Docker容器(mcp:latest),特别是 mcp/time 命令。
  • 容器的输出被解析并作为JSON响应返回。

运行测试

要运行单元测试,请执行:

go test -v

扩展项目

  • 待办事项列表功能: ……的出席 todos.json 为API待办事项列表提出未来计划。
  • 其他端点: 您可以通过在中定义新的处理程序来添加更多端点 package main.go.
  • 错误处理: 改进错误消息和日志记录,以供生产使用。

故障排除

  • 确保Docker正在运行 mcp:latest 图像在本地可用。
  • 如果您在Docker中遇到权限问题,请以管理员身份运行您的终端。
  • 默认情况下,服务器监听端口8080。更改此项 package main.go 如果需要的话。

许可证

本项目按原样提供,用于教育和示范目的。