mcpField
T
Time

Time

本地服务
github.com/fisher1006生产力283 周前更新

关于 Time

Time 是用于查询当前时间和转换 IANA 时区时间的 MCP 服务,供需要时区感知回答的 LLM 应用使用,并可自动检测系统时区。

主要功能

  1. 01按时区获取当前时间
  2. 02转换不同时区的时间
  3. 03使用 IANA 时区名称
  4. 04检测系统时区

适用场景

  1. 01查询指定时区的当前时间
  2. 02转换不同城市之间的会议时间
  3. 03根据系统时区回答时间问题

MCP 相关

向 MCP 客户端提供 `get_current_time` 和 `convert_time` 工具,用于查询时间和转换时区。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"time-mcp-fisher1006": {
"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')。如果用户未提供时区,请使用 'Etc/UTC' 作为本地时区。

详细介绍

Time MCP Server

一个提供时间和时区转换功能的 Model Context Protocol 服务。此服务使大模型能够获取当前时间信息,并使用 IANA 时区名称进行时区转换,同时自动检测系统时区。

可用工具
  • get_current_time - 获取指定时区或系统时区的当前时间。

    • 必需参数:
      • timezone(字符串):IANA 时区名称(例如:'America/New_York'、'Europe/London')
  • convert_time - 在不同时区之间转换时间。

    • 必需参数:
      • source_timezone(字符串):源 IANA 时区名称
      • time(字符串):24 小时制时间(HH:MM)
      • target_timezone(字符串):目标 IANA 时区名称

安装

使用 uv(推荐)

使用 uv 时,无需进行特定安装。我们将使用 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", "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"]
  }
},
自定义 - 系统时区

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

示例:

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

交互示例

  1. 获取当前时间:
{
  "name": "get_current_time",
  "arguments": {
    "timezone": "Europe/Warsaw"
  }
}

响应:

{
  "timezone": "Europe/Warsaw",
  "datetime": "2024-01-01T13:00:00+01:00",
  "is_dst": false
}
  1. 在不同时区之间转换时间:
{
  "name": "convert_time",
  "arguments": {
    "source_timezone": "America/New_York",
    "time": "16:30",
    "target_timezone": "Asia/Tokyo"
  }
}

响应:

{
  "source": {
    "timezone": "America/New_York",
    "datetime": "2024-01-01T12:30:00-05:00",
    "is_dst": false
  },
  "target": {
    "timezone": "Asia/Tokyo",
    "datetime": "2024-01-01T12:30:00+09:00",
    "is_dst": false
  },
  "time_difference": "+13.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 转换为纽约时间”

构建

Docker 构建:

cd src/time
docker build -t mcp/time .

贡献

我们欢迎你为扩展和改进 mcp-server-time 作出贡献。无论你想添加新的时间相关工具、增强现有功能,还是改进文档,你的贡献都很有价值。

有关其他 MCP 服务和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers

欢迎提交拉取请求!欢迎贡献新想法、错误修复或改进,让 mcp-server-time 更加强大、实用。

许可证

mcp-server-time 采用 MIT License 许可。这意味着你可以自由使用、修改和分发此软件,但须遵守 MIT License 的条款和条件。有关详情,请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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