时间通道MCP服务器
用于全面时间和日期操作的模型上下文协议(MCP)服务器,为AI助手提供时区感知的解析和操作工具。
用法
MCP配置
添加到您的Claude Desktop(或兼容的MCP客户端)配置中:
{
"mcpServers": {
"passage-of-time": {
"type": "stdio",
"command": "C:\\Projects\\passage-of-time-mcp-go\\passage-of-time-mcp-windows-amd64.exe",
"args": [],
"env": {}
}
}
}可用工具
current_datetime-获取任何时区的当前时间parse_timestamp-使用4层回退链分析时间戳add_time-加/减持续时间time_difference-计算时间戳之间的时间time_since-自时间戳以来经过的时间format_duration-人类可读的持续时间格式list_timezones-按页码浏览时区(共597个)
建筑
推荐:使用构建工具
go run cmd/build/main.go这将:
- 从Go的嵌入式IANA数据库生成最新的时区数据
- 验证时区提取(597个时区)
- 为Linux、Windows、macOS构建跨平台二进制文件(AMD64/ARM64)
手动构建
# Generate timezone data first
go run cmd/generate-timezone-list/main.go
cd cmd/list-timezones && go generate
# Build for your platform
go build -o passage-of-time-mcp
# Or cross-platform
GOOS=linux GOARCH=amd64 go build -o passage-of-time-mcp-linux-amd64时区数据更新
IANA时区数据
- 源:Go的嵌入式IANA时区数据库(
$GOROOT/lib/time/zoneinfo.zip) - 更新频率:每年2-3次(符合IANA发布时间表)
- 如何更新:升级Go版本并重建项目
- 范围适用于开发工具(非关键任务系统)
Windows时区映射
- 源:Unicode CLDR(按需下载)
- 统一资源定位符:
https://raw.githubusercontent.com/unicode-org/cldr/refs/heads/main/common/supplemental/windowsZones.xml - 如何更新:
go run cmd/generate-timezone-mapping/main.go完成更新过程
# 1. Update IANA data (upgrade Go, then rebuild)
go run cmd/build/main.go
# 2. Update Windows mapping (optional, as needed)
go run cmd/generate-timezone-mapping/main.go开发工具
调试时区数据
# List all available timezones
go run cmd/list-timezones/main.go
# Test timezone automation
go run cmd/test-timezone-automation/main.go生成新的时区数据
# Generate main timezone functions
go run cmd/generate-timezone-list/main.go
# Generate list-timezones data
cd cmd/list-timezones && go generate运行服务器
# Linux/macOS
./passage-of-time-mcp-linux-amd64
# Windows
passage-of-time-mcp-windows-amd64.exe项目来源
Python的Go移植 时间流逝 具有增强的时区自动化和跨平台支持。
