TimeMCP
一个简单的模型控制协议(MCP)服务器,提供时间和时区转换工具。
特性
服务器提供以下工具:
1. get_current_time
获取特定时区或系统时区的当前时间。
论据:
timezone(string,可选):获取当前时间的时区。如果没有提供,则使用系统时区。
示例响应:
Current time in Europe/Warsaw: 2025-04-09 15:30:452. convert_time
在不同时区之间转换时间。
论据:
source_timezone(字符串,可选):源时区。如果未提供,则默认为系统时区。time(字符串,可选):24小时格式的时间(HH:MM)。如果未提供,则默认为当前时间。target_timezone(string,必填):将时间转换为的目标时区。
示例响应:
Time conversion: 15:30 in Europe/Warsaw → 09:30 in America/New_York用法
构建
go build -o ./bin/mcp-time .添加到claude_desktop_config json
{ "mcpServers": {
"time": {
"command": "/Path/To/Your/Bin/mcp-time"
}
}
}与MCP兼容的客户端一起使用
服务器实现了模型控制协议,这意味着它可以与任何兼容MCP的客户端一起使用。客户将能够:
- 发现可用的工具
- 使用适当的参数调用工具
- 接收格式化的响应
依赖项
github.com/mark3labs/mcp-go:模型控制协议的实施github.com/araddon/dateparse:灵活的日期解析库
支持的时区
服务器支持所有IANA时区数据库条目,如:
Europe/WarsawAmerica/New_YorkAsia/TokyoAustralia/SydneyAfrica/Cairo- 等等
例子
获取东京当前时间
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_current_time",
"arguments": {
"timezone": "Asia/Tokyo"
}
}
}转换时间
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "convert_time",
"arguments": {
"source_timezone": "Europe/Warsaw",
"time": "14:30",
"target_timezone": "America/Los_Angeles"
}
}
}HTTP传输和CORS
- 运行HTTP传输:
go run . --transport=http [--auth-enabled] - 健康:
GET /health,功能:GET /capabilities,MCP:POST {TIME_HTTP_PATH}/*(默认值"/mcp")
CORS 行为
- 默认值:CORS已禁用(
TIME_HTTP_CORS_ENABLED=false). - 启用后,除非在中明确列出,否则不允许有任何来源
TIME_HTTP_CORS_ORIGINS. TIME_HTTP_CORS_ORIGINS接受逗号分隔的满列表。支持的表单:
- 主机名: example.com - 主机:端口: localhost:3000, 127.0.0.1:8080 - 完整URL: https://app.example.com (已标准化为其宿主) - 通配符子域: *.example.com (比赛 example.com 以及任何子域)
- 随着
TIME_AUTH_ENABLED=true,使用*在……里面TIME_HTTP_CORS_ORIGINS启动时被拒绝。 - 仅返回允许来源的预检和响应标头。
配置示例
- 发展:
- TIME_HTTP_CORS_ENABLED=true - TIME_HTTP_CORS_ORIGINS="http://localhost:3000,http://127.0.0.1:5173"
- 生产:
- TIME_HTTP_CORS_ENABLED=true - TIME_HTTP_CORS_ORIGINS="https://yourdomain.com,https://app.yourdomain.com,*.trusted-partner.com" - 避免 *;如果可能,请禁用服务器到服务器使用的CORS。
环境变量
TIME_HTTP_CORS_ENABLED(默认值:false)TIME_HTTP_CORS_ORIGINS(默认值:空,表示没有允许的来源)TIME_AUTH_ENABLED(默认值:false)TIME_AUTH_SECRET_KEY(如果启用了身份验证,则需要;≥32个字符)TIME_HTTP_ADDRESS(默认值:":8080")TIME_HTTP_PATH(默认值:"/mcp")
快速HTTP检查
curl -i http://localhost:8080/health- JWT:
curl -i -H "Authorization: Bearer $TOKEN" http://localhost:8080/capabilities

