MCP Simple Timeserver
Anthropic做出的一个奇怪设计决策是剥夺了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" |
区域学校假日:当使用city参数与is_holiday一起时,学校假日将过滤以仅显示影响特定区域的那些。这在学校假日因区域而异的国家特别有用(例如,波兰省、德国联邦州、西班牙自治社区)。
示例:is_holiday(city="Warsaw", date="2026-01-19")返回仅影响马佐夫舍省的学校假日信息。
数据来源:
- 公共假日:Nager.Date API(119个国家)
- 学校假日:OpenHolidaysAPI(36个国家,主要为欧洲)
安装
通过Smithery安装
要自动通过Smithery为Claude桌面版安装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"]
}
}
网络服务器版本
该项目还包括一个可部署为独立网络服务器的网络可托管版本。有关如何运行和部署它的说明,请参阅网络服务器部署指南。
或者,您可以简单地使用我的服务器,通过添加https://mcp.andybrandt.net/timeserver到Claude和其他支持MCP的工具来使用它。
