关于 Time
Time 是为需要获取当前时间或转换时区的 LLM 应用提供的 MCP 服务。它使用 IANA 时区名称,并自动检测系统时区,也可手动指定。
主要功能
- 01按时区获取当前时间
- 02转换不同时区的时间
- 03自动检测系统时区
- 04覆盖本地时区设置
适用场景
- 01查询其他城市的时间
- 02协调跨时区会议
MCP 相关
向 MCP 客户端提供 `get_current_time` 和 `convert_time` 工具;不注册提示词或资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| timezone | string | 是 | IANA 时区名称(例如,'America/New_York'、'Europe/London')。如果用户未提供时区,则使用 'America/New_York' 作为本地时区。 |
详细介绍
Time MCP 服务
一个提供时间和时区转换功能的 Model Context Protocol 服务。此服务使大模型能够获取当前时间信息,并使用 IANA 时区名称进行时区转换,同时自动检测系统时区。
来源:https://github.com/modelcontextprotocol/servers/tree/main/src/time
需要 MCP Python SDK 2.x(mcp>=2.3,<3)。
可用工具
-
get_current_time- 获取指定时区或系统时区的当前时间。- 必需参数:
timezone(字符串):IANA 时区名称(例如,'America/New_York'、'Europe/London')
- 必需参数:
-
convert_time- 在时区之间转换时间。- 必需参数:
source_timezone(字符串):源 IANA 时区名称time(字符串):24 小时制时间(HH:MM)target_timezone(字符串):目标 IANA 时区名称
- 必需参数:
此处以及 --local-timezone 中使用的时区名称,都必须与 IANA 键完全一致,且区分大小写:Europe/Warsaw 可以使用,而 europe/warsaw 在所有平台上都会被拒绝,包括 macOS(其不区分大小写的文件系统本来会解析该名称)。
协议版本
此服务通过标准输入/输出同时支持 Model Context Protocol 的两个时期,无需任何配置:2026-07-28 客户端(通过 server/discover 发现,无会话)和 2025-11-25 客户端(initialize 握手)。客户端的首个请求决定使用哪个版本。两种版本中的工具行为相同。仅在 2025-11-25 连接中响应 2026-07-28 规范已移除的方法,例如 ping。
结果和错误
此服务基于 SDK 的高级 MCPServer 构建。每个工具都声明一个 outputSchema,并将结果返回两次:一次作为 structuredContent,另一次作为文本块中的同一对象(缩进 JSON 格式),供无法读取结构化输出的客户端使用。
- 工具失败会返回
isError结果,其文本可供模型读取并采取相应操作,前缀为Error executing tool <name>:。适用情况包括未知或不完全匹配的时区(Invalid timezone: ...)、空时区(Missing required argument: <argument>)、不符合HH:MM24 小时制格式的时间、因时钟变更而跳过的墙上时间,以及缺少参数或参数类型错误(SDK 的验证消息)。 - 未知工具名称会返回 JSON-RPC
-32602错误(Unknown tool: <name>),而非isError结果;两个协议版本均如此规定。 - 此服务不注册提示词或资源。对应的列表方法会返回空列表。
安装
使用 uv(推荐)
使用 uv 时,无需特殊安装。我们将使用 uvx 直接运行 mcp-server-time。
uvx mcp-server-time
使用 PIP
也可以通过 pip 安装 mcp-server-time:
pip install mcp-server-time
安装后,可以通过脚本运行:
python -m mcp_server_time
配置
为 Claude.app 配置
将以下内容添加到 Claude 设置中:
使用 uvx
{
"mcpServers": {
"time": {
"command": "uvx",
"args": ["mcp-server-time"]
}
}
}
使用 docker
{
"mcpServers": {
"time": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "LOCAL_TIMEZONE", "mcp/time"]
}
}
}
使用 pip 安装
{
"mcpServers": {
"time": {
"command": "python",
"args": ["-m", "mcp_server_time"]
}
}
}
为 Zed 配置
将以下内容添加到 Zed 的 settings.json 中:
使用 uvx
"context_servers": [
"mcp-server-time": {
"command": "uvx",
"args": ["mcp-server-time"]
}
],
使用 pip 安装
"context_servers": {
"mcp-server-time": {
"command": "python",
"args": ["-m", "mcp_server_time"]
}
},
如需快速安装,请使用下方的一键安装按钮……
如需手动安装,请将以下 JSON 代码块添加到 VS Code 的 User Settings (JSON) 文件中。按下 Ctrl + Shift + P 并输入 Preferences: Open User Settings (JSON) 即可完成操作。
也可以将其添加到工作区中名为 .vscode/mcp.json 的文件里。这样便可与他人共享此配置。
请注意,使用
mcp.json文件时需要mcp键。
使用 uvx
{
"mcp": {
"servers": {
"time": {
"command": "uvx",
"args": ["mcp-server-time"]
}
}
}
}
使用 Docker
{
"mcp": {
"servers": {
"time": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/time"]
}
}
}
}
配置 Zencoder
- 打开 Zencoder 菜单(……)
- 在下拉菜单中选择
Agent Tools - 点击
Add Custom MCP - 添加下方的名称和服务配置,并确保点击
Install按钮
使用 uvx
{
"command": "uvx",
"args": ["mcp-server-time"]
}
自定义 - 系统时区
默认情况下,服务会自动检测系统时区。你可以在配置的 args 列表中添加参数 --local-timezone 来覆盖此设置。
示例:
{
"command": "python",
"args": ["-m", "mcp_server_time", "--local-timezone=America/New_York"]
}
交互示例
- 获取当前时间:
{
"name": "get_current_time",
"arguments": {
"timezone": "Europe/Warsaw"
}
}
响应(structuredContent,以及相同的 JSON 文本):
{
"timezone": "Europe/Warsaw",
"datetime": "2024-01-01T13:00:00+01:00",
"day_of_week": "Monday",
"is_dst": false
}
- 在时区之间转换时间:
{
"name": "convert_time",
"arguments": {
"source_timezone": "America/New_York",
"time": "16:30",
"target_timezone": "Asia/Tokyo"
}
}
响应(structuredContent,以及相同的 JSON 文本):
{
"source": {
"timezone": "America/New_York",
"datetime": "2024-01-01T16:30:00-05:00",
"day_of_week": "Monday",
"is_dst": false
},
"target": {
"timezone": "Asia/Tokyo",
"datetime": "2024-01-02T06:30:00+09:00",
"day_of_week": "Tuesday",
"is_dst": false
},
"time_difference": "+14.0h"
}
调试
你可以使用 MCP inspector 调试服务。对于 uvx 安装:
npx @modelcontextprotocol/inspector uvx mcp-server-time
如果你已将软件包安装在特定目录中,或正在开发该软件包:
cd path/to/servers/src/time
npx @modelcontextprotocol/inspector uv run mcp-server-time
Claude 问题示例
- “现在几点?”(将使用系统时区)
- “东京现在几点?”
- “纽约下午 4 点时,伦敦是几点?”
- “将东京时间上午 9:30 转换为纽约时间”
开发
在 src/time 中运行测试。测试位于 tests/:test_protocol.py 通过进程内的 MCP ClientSession 驱动服务,test_eras.py 分别将 Client 作为 2026-07-28 客户端和 2025-11-25 客户端运行,test_entrypoints.py 覆盖 main()、python -m mcp_server_time 和控制台脚本,test_server.py 对时间辅助函数进行单元测试。
cd src/time
uv run pytest
覆盖率通过单独的命令测量。该命令会测量 src/mcp_server_time 的行覆盖率和分支覆盖率,打印未覆盖的行,并写入 coverage.json(已被 git 忽略):
cd src/time
uv run --frozen pytest --cov --cov-report=term-missing --cov-report=json
每个文件的行覆盖率和分支覆盖率都必须达到 90%。无法执行到的代码应标记为 # pragma: no cover # <reason>,并始终注明原因,而不是降低标准。
构建
Docker 构建:
cd src/time
docker build -t mcp/time .
贡献
我们欢迎大家为改进 mcp-server-time 作出贡献。错误报告、与时间相关的新工具构想、对现有功能的增强以及文档改进都很有价值。
如需了解其他 MCP 服务和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers
贡献请通过问题报告而非拉取请求提交:仓库维护者负责实现。请使用错误报告或功能请求表单创建问题;如果你已经为某项更改制作了原型,请分享你使用的提示词,而不是差异。完整政策请参阅 CONTRIBUTING.md。
许可证
mcp-server-time 根据 MIT License 获得许可。这意味着你可以自由使用、修改和分发该软件,但须遵守 MIT License 的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。