时间服务服务器

一个提供时间功能的模型上下文协议服务器,使LLM能够使用IANA时区名称获取当前时间信息,并支持自动系统时区检测。

  • by Taki-Ta
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Taki-Ta/mcp-server-time

使用说明

时间MCP服务器

基于官方MCP项目修改
原作者:Mariusz 'maledorak' Korzekwa
原仓库:模型上下文协议/服务器
原项目路径:src/time

提供时间功能的模型上下文协议服务器。此服务器使LLM能够使用IANA时区名称获取当前时间信息,并具有自动系统时区检测功能。

注意: 此版本已移除时区转换功能,仅保留获取当前时间功能。

可用工具

  • get_current_time -获取特定时区或系统时区的当前时间。
    • 必需参数:
      • timezone (string):IANA时区名称(例如,“美国/纽约”、“欧洲/伦敦”)

安装

使用紫外线(推荐)

使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 mcp服务器时间.

使用PIP

或者,您可以安装 mcp-server-time 通过pip:

pip install mcp-server-time

安装后,您可以使用以下命令将其作为脚本运行:

python -m mcp_server_time

使用Docker支持SSE

使用mcp代理构建和运行HTTP/SSE访问:

# Build the SSE-enabled Docker image
docker build -f Dockerfile.sse -t mcp-time-sse .

# Run the container (accessible via HTTP on port 8999)
docker run -p 8999:8999 mcp-time-sse

配置

为Claude.app进行配置

添加到您的Claude设置中:

Using uvx
{
  "mcpServers": {
    "time": {
      "command": "uvx",
      "args": ["mcp-server-time", "--local-timezone", "Asia/Shanghai"]
    }
  }
}
Using uv with local directory
{
  "mcpServers": {
    "time": {
      "command": "uv",
      "args": [
        "run", 
        "--directory", 
        "D:/WorkSpace/demo/servers/src/time",
        "mcp-server-time",
        "--local-timezone",
        "Asia/Shanghai"
      ]
    }
  }
}
Using docker
{
  "mcpServers": {
    "time": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/time"]
    }
  }
}
Using pip installation
{
  "mcpServers": {
    "time": {
      "command": "python",
      "args": ["-m", "mcp_server_time", "--local-timezone", "Asia/Shanghai"]
    }
  }
}

为Zed配置

添加到您的Zed settings.json:

Using uvx
"context_servers": [
  "mcp-server-time": {
    "command": "uvx",
    "args": ["mcp-server-time", "--local-timezone", "Asia/Shanghai"]
  }
],
Using pip installation
"context_servers": {
  "mcp-server-time": {
    "command": "python",
    "args": ["-m", "mcp_server_time", "--local-timezone", "Asia/Shanghai"]
  }
},

配置VS代码

为了快速安装,请使用下面的一键安装按钮之一。..

对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (JSON).

您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。

请注意 mcp 使用时需要密钥 mcp.json 文件。

Using uvx
{
  "mcp": {
    "servers": {
      "time": {
        "command": "uvx",
        "args": ["mcp-server-time", "--local-timezone", "Asia/Shanghai"]
      }
    }
  }
}
Using Docker
{
  "mcp": {
    "servers": {
      "time": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "mcp/time"]
      }
    }
  }
}

自定义-系统时区

默认情况下,服务器会自动检测系统的时区。您可以通过添加参数来覆盖此内容 --local-timezone 到 args 配置中的列表。

例子:

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

交互示例

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

答复:

{
  "timezone": "Asia/Shanghai",
  "datetime": "2024-01-01T20:00:00+08:00",
  "is_dst": false
}

调试

您可以使用MCP检查器调试服务器。对于uvx安装:

npx @modelcontextprotocol/inspector uvx mcp-server-time

或者,如果您已将软件包安装在特定目录中或正在其上开发:

cd path/to/servers/src/time
npx @modelcontextprotocol/inspector uv run mcp-server-time

给克劳德的问题示例

  1. “现在几点了?”(将使用系统时区)
  2. “东京现在几点了?”
  3. “纽约现在几点了?”
  4. “获取伦敦的当前时间”

构建

Docker构建:

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

支持SSE的Docker构建:

cd time
docker build -f Dockerfile.sse -t mcp-time-sse .

贡献

我们鼓励捐款以帮助延长和改善mcp服务器时间。无论您是想添加新的与时间相关的工具、增强现有功能还是改进文档,您的意见都是有价值的。

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

欢迎拉取请求!请随时贡献新想法、错误修复或增强功能,使mcp服务器时间更加强大和有用。

许可证

mcp服务器时间根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。