关于 Time
Time MCP Server 是一个 MCP 服务,为 AI 助手和其他 MCP 客户端提供时间与日期操作工具。它支持自然语言相对时间解析、时区转换和时间比较,同时提供 stdio 与 HTTP stream 两种传输方式。
主要功能
- 01查询任意时区和格式的当前时间
- 02解析 yesterday、next month 等相对时间表达
- 03在 IANA 时区之间转换时间
- 04计算时间加减与比较两个时间
适用场景
- 01让 AI 助手回答不同时区的当前时间问题
- 02计算某个日期之前或之后的时间点
- 03比较两个带时区的时间先后关系
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 current_time、relative_time、convert_timezone、add_time 和 compare_time 等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
托管部署
在 Fronteir AI 上提供了托管部署。
概述
Time MCP 服务是一个 Model Context Protocol (MCP) 服务,为 AI 助手和其他 MCP 客户端提供标准化工具,用于执行与时间和日期相关的操作。该服务充当 AI 工具与强大的时间处理后端之间的桥梁,可通过自然语言交互实现复杂的时间操作。
特性
- ⏰ 时间操作 - 获取当前时间、在时区之间转换,以及增加或减少时长
- 🗣️ 自然语言解析 - 理解诸如“昨天”或“下个月”之类的相对时间表达
- ⚖️ 时间比较 - 轻松比较两个不同的时间
- 🎨 灵活格式化 - 支持多种预定义和自定义时间格式
- ✅ 符合 MCP 规范 - 完全兼容 Model Context Protocol 标准
- 🔄 多种传输方式 - 支持用于本地集成的
stdio和用于网络访问的HTTP stream
安装
此 MCP 服务可与各种支持 Model Context Protocol 的 AI 助手客户端集成,包括 Cursor、Claude Desktop、Claude Code 以及更多客户端。
🚀 一键安装(Cursor)
点击下方按钮,在您的 Cursor 环境中使用 Docker 自动配置该 MCP 服务:
使用 npx(JavaScript/Node.js)
此方法使用 npx 运行 MCP 服务,需要安装 Node.js。将以下 JSON 配置复制到您的 MCP 客户端设置中:
{
"mcpServers": {
"mcp-time": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@theo.foobar/mcp-time"
]
}
}
}
使用 Docker
在隔离的容器中运行 MCP 服务。需要安装 Docker。将此 JSON 配置复制到您的 MCP 客户端设置中:
{
"mcpServers": {
"mcp-time": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"theo01/mcp-time:latest"
]
}
}
}
使用二进制文件
将 mcp-time 二进制文件直接安装到您的系统上。选择以下安装方法之一,确保该二进制文件位于 PATH 中的某个目录下。然后将此 JSON 配置添加到您的 MCP 客户端设置中:
{
"mcpServers": {
"mcp-time": {
"type": "stdio",
"command": "mcp-time"
}
}
}
选项 1:从 Releases 下载
从 releases 页面下载最新的预构建二进制文件:
# Replace OS-ARCH with your platform (e.g., linux-amd64, darwin-arm64, windows-amd64)
curl -Lo mcp-time https://github.com/TheoBrigitte/mcp-time/releases/latest/download/mcp-time.OS-ARCH
install -D -m 755 ./mcp-time ~/.local/bin/mcp-time
选项 2:使用 Go 安装
对于 Go 开发者,可直接使用 go install 安装:
go install github.com/TheoBrigitte/mcp-time/cmd/mcp-time@latest
二进制文件将安装到你的 $GOPATH/bin 目录中。
选项 3:从源码构建
使用 make 克隆并构建项目:
git clone https://github.com/TheoBrigitte/mcp-time.git
cd mcp-time
make install
二进制文件将安装到 ~/.local/bin/mcp-time。
用法
基本用法
使用 stdio 传输启动(默认,适用于 MCP 客户端):
mcp-time
使用 HTTP 流传输启动(用于网络访问):
mcp-time --transport stream --address "http://localhost:8080/mcp"
命令行选项
该服务支持以下标志,用于高级配置:
$ mcp-time --help
An MCP (Model Context Protocol) server which provides utilities to work with time and dates.
Usage:
mcp-time [flags]
Flags:
--address string Listen address for Stream HTTP Server (only for --transport stream) (default "http://localhost:8080/mcp")
-h, --help help for mcp-time
--log-file string Path to log file (logs is disabled if not specified)
-t, --transport string Transport layer: stdio, stream. (default "stdio")
--version Print version information and exit
可用工具
current_time
获取任意时区和格式的当前时间。
参数:
format(可选)- 输出格式(预定义格式如RFC3339、Kitchen,或自定义 Go 布局)timezone(可选)- 目标时区,采用 IANA 格式(例如America/New_York)。默认为 UTC
示例:“东京现在几点?”
relative_time
基于相对自然语言表达获取时间。
参数:
text(必填)- 自然语言表达(例如yesterday、5 minutes ago、next month)time(可选)- 该表达的参考时间。默认为当前时间timezone(可选)- 输出的目标时区format(可选)- 时间的输出格式
示例:“3 周前的日期是哪天?”
convert_timezone
在时区之间转换给定时间。
参数:
time(必填)- 输入时间字符串(支持多种格式)input_timezone(可选)- 输入时间的时区output_timezone(可选)- 输出的目标时区format(可选)- 时间的输出格式
示例:“将下午 2:30 EST 转换为东京时间”
add_time
在给定时间上增加或减少一段时长。
参数:
time(必填)- 输入时间字符串duration(必填)- 要增加/减少的时长(例如2h30m、-1h、24h)timezone(可选)- 输出的目标时区format(可选)- 时间的输出格式
示例:“45 分钟后是几点?”
compare_time
比较两个时间并确定它们之间的关系。支持时区感知比较。
参数:
time_a(必填)- 要比较的第一个时间time_a_timezone(可选)-time_a的时区,采用 IANA 格式(例如America/New_York)time_b(必填)- 要比较的第二个时间time_b_timezone(可选)-time_b的时区,采用 IANA 格式(例如Europe/London)
返回:
- 如果
time_a早于time_b,返回-1 - 如果
time_a等于time_b,返回0 - 如果
time_a晚于time_b,返回1
示例:“下午 3 点 EST 是否早于晚上 8 点 GMT?”
贡献
欢迎贡献!请随时提交 Pull Request。对于重大更改,请先开一个 issue 讨论你希望更改的内容。
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
致谢
基于以下优秀库构建:
- araddon/dateparse - 无需知道格式即可解析日期
- tj/go-naturaldate - 自然语言日期解析
- mark3labs/mcp-go - 适用于 Go 的 Model Context Protocol SDK
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。