mcpField
T
Time

Time

精选本地服务
modelcontextprotocol.io生产力91.6k今天更新

关于 Time

Time 是为需要获取当前时间或转换时区的 LLM 应用提供的 MCP 服务。它使用 IANA 时区名称,并自动检测系统时区,也可手动指定。

主要功能

  1. 01按时区获取当前时间
  2. 02转换不同时区的时间
  3. 03自动检测系统时区
  4. 04覆盖本地时区设置

适用场景

  1. 01查询其他城市的时间
  2. 02协调跨时区会议

MCP 相关

向 MCP 客户端提供 `get_current_time` 和 `convert_time` 工具;不注册提示词或资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"time": {
"command": "uvx",
"args": [
"mcp-server-time"
]
}
}
}
启动命令uvx mcp-server-time

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-server-time

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
timezonestring是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:MM 24 小时制格式的时间、因时钟变更而跳过的墙上时间,以及缺少参数或参数类型错误(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"]
  }
},
### 配置 VS Code

如需快速安装,请使用下方的一键安装按钮……

在 VS Code 中使用 UV 安装 在 VS Code Insiders 中使用 UV 安装

在 VS Code 中使用 Docker 安装 在 VS Code Insiders 中使用 Docker 安装

如需手动安装,请将以下 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
  1. 打开 Zencoder 菜单(……)
  2. 在下拉菜单中选择 Agent Tools
  3. 点击 Add Custom MCP
  4. 添加下方的名称和服务配置,并确保点击 Install 按钮
使用 uvx
{
    "command": "uvx",
    "args": ["mcp-server-time"]
  }
自定义 - 系统时区

默认情况下,服务会自动检测系统时区。你可以在配置的 args 列表中添加参数 --local-timezone 来覆盖此设置。

示例:

{
  "command": "python",
  "args": ["-m", "mcp_server_time", "--local-timezone=America/New_York"]
}

交互示例

  1. 获取当前时间:
{
  "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
}
  1. 在时区之间转换时间:
{
  "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 问题示例

  1. “现在几点?”(将使用系统时区)
  2. “东京现在几点?”
  3. “纽约下午 4 点时,伦敦是几点?”
  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 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。