关于 MCP Simple Timeserver
mcp-simple-timeserver 是一个为 Claude 提供时间相关能力的简单 MCP 服务。它可以查询当前时间、时区、节假日以及日期之间的时间间隔,并在可用时通过 NTP 获取精确时间。
主要功能
- 01获取本地时间与 UTC 时间
- 02按城市、国家或时区查询当地时间
- 03计算两个日期之间的时长与工作日数
- 04查询公共假期与学校假期
- 05支持日历转换(Unix、ISO 周日期、农历等)
适用场景
- 01让 Claude 判断当前时间与日期
- 02计算倒计时或已过去的时间
- 03统计两个日期之间的工作日数量并排除节假日
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 get_local_time、get_utc、get_current_time、calculate_time_distance、get_holidays 和 is_holiday 等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Simple Timeserver
Anthropic 做出的一个奇怪设计决定,是让 Claude 无法获取用户在 claude.ai 中发送的消息的时间戳,或者一般意义上的当前时间。可怜的 Claude 连现在几点都不知道!mcp-simple-timeserver 是一个简单的 MCP 服务,可以解决这个问题。
可用工具
此服务提供以下工具:
| 工具 | 描述 |
|---|---|
get_local_time | 返回用户设备的当前本地时间、星期几和时区 |
get_utc | 从 NTP 时间服务 获取精确的 UTC 时间 |
get_current_time | 返回当前时间,支持可选的位置、时区和日历转换 |
calculate_time_distance | 计算两个日期/时间之间的时长(倒计时、已用时间) |
get_holidays | 返回某个国家的公共假期(以及可选的学校假期) |
is_holiday | 检查指定日期是否为某个国家或城市的节假日 |
除 get_local_time 外,所有工具都使用 NTP 服务的精确时间。如果 NTP 不可用,它们会优雅地回退到本地服务时间,并给出提示。
通过 get_current_time 支持位置信息
get_current_time 工具支持位置参数,可获取世界各地的当地时间:
| 参数 | 描述 | 示例 |
|---|---|---|
city | 城市名称(主要用途) | "Warsaw"、"Tokyo"、"New York" |
country | 国家名称或 ISO 代码 | "Poland"、"JP"、"United States" |
timezone | IANA 时区或 UTC 偏移量 | "Europe/Warsaw"、"+05:30" |
优先级:timezone > city > country。提供位置信息后,响应会包含当地时间、时区信息、UTC 偏移量和夏令时状态。
如果指定位置当天是公共假期,输出中会显示这一信息。
通过 get_current_time 支持日历格式
get_current_time 工具还接受可选的 calendar 参数,其中包含以逗号分隔的日历格式列表:
| 日历 | 描述 |
|---|---|
unix | Unix 时间戳(自 1970-01-01 起的秒数) |
isodate | ISO 8601 周日期(例如,2026-W03-6) |
hijri | 伊斯兰/希吉来阴历 |
japanese | 日本年号日历(同时返回英文和汉字) |
hebrew | 希伯来/犹太历(同时返回英文和希伯来文,包含节假日) |
persian | 波斯/贾拉利历(同时返回英文和波斯文) |
示例:get_current_time(city="Tokyo", calendar="japanese") 会返回东京当地时间和日本年号日历。
通过 calculate_time_distance 计算时间间隔
计算两个日期或时间之间的时长:
| 参数 | 描述 | 示例 |
|---|---|---|
from_date | 开始日期(ISO 8601 格式或 "now") | "2025-01-15"、"now" |
to_date | 结束日期(ISO 8601 格式或 "now") | "2025-12-31"、"2025-06-01T17:00:00" |
unit | 输出格式 | "auto"、"days"、"weeks"、"hours"、"minutes"、"seconds" |
business_days | 仅计算周一至周五(基于日期,包含首尾日期) | true |
exclude_holidays | 同时排除公共假日(需要指定国家或城市) | true |
也可以使用位置参数(city、country、timezone)指定时区上下文。
当 business_days=true 时,将忽略具体时刻,并按完整天数计算日期(包含首尾日期)。
在此模式下,unit 参数会被忽略。仅当假日落在工作日时才会排除。
示例:calculate_time_distance(from_date="now", to_date="2025-12-31") 返回距离除夕的倒计时。
示例:calculate_time_distance(from_date="2026-01-26", to_date="2026-01-30", business_days=true, exclude_holidays=true, city="Sydney") 返回该日期范围内的工作日天数。
通过 get_holidays 和 is_holiday 获取假日信息
获取约 119 个国家/地区的公共假日和学校假期信息:
get_holidays 参数:
| 参数 | 描述 | 示例 |
|---|---|---|
country | 国家/地区名称或 ISO 代码(必填) | "Poland"、"DE"、"United States" |
year | 要查询假日的年份(默认:当前年份) | 2026 |
include_school_holidays | 包含学校假期时段 | true |
is_holiday 参数:
| 参数 | 描述 | 示例 |
|---|---|---|
country | 国家/地区名称或 ISO 代码 | "Poland"、"US" |
city | 用于查询地区特定信息的城市名称 | "Warsaw"、"Munich" |
date | 要查询的日期,采用 ISO 格式(默认:今天) | "2026-01-01" |
地区学校假期:在 is_holiday 中使用 city 参数时,学校假期会经过筛选,仅显示影响指定地区的假期。这对于学校假期因地区而异的国家/地区尤其有用(例如波兰的省、德国的联邦州、西班牙的自治区)。
示例:is_holiday(city="Warsaw", date="2026-01-19") 返回马佐夫舍省特定的学校假期信息。
数据来源:
- 公共假日:Nager.Date API(119 个国家/地区)
- 学校假期:OpenHolidaysAPI(36 个国家/地区,主要位于欧洲)
安装
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 Simple Timeserver:
npx -y @smithery/cli install mcp-simple-timeserver --client claude
手动安装
首先使用以下命令安装模块:
pip install mcp-simple-timeserver
然后在 MCP 客户端中配置——Claude 桌面应用。
在 Mac OS 上,配置如下所示:
"mcpServers": {
"simple-timeserver": {
"command": "python",
"args": ["-m", "mcp_simple_timeserver"]
}
}
在 Windows 上,需要在 cmd(Windows 命令行)中使用 where python 检查 Python 可执行文件的路径。
典型配置如下所示:
"mcpServers": {
"simple-timeserver": {
"command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
"args": ["-m", "mcp_simple_timeserver"]
}
}
Web 服务版本
本项目还包含一个可部署为独立 Web 服务的网络托管版本。有关运行和部署说明,请参阅 Web 服务部署指南。
或者,也可以将我的服务添加到 Claude 和其他支持 MCP 的工具中:https://mcp.andybrandt.net/timeserver
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
