使用说明

项目简介

Time MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于为大型语言模型 (LLM) 提供精准的时间信息服务。它通过标准化的 MCP 协议,让 LLM 能够轻松访问和利用时间相关的工具,例如查询当前时间、进行时区转换等,从而增强 LLM 在时间敏感型任务中的能力。

主要功能点

  • 当前时间查询: 获取指定时区的当前时间。
  • 时区转换: 将时间从一个时区转换为另一个时区。
  • 夏令时信息: 判断特定时区当前是否处于夏令时。
  • 时差计算: 计算不同时区之间的时间差。

所有功能均通过预定义的 工具 (Tools) 提供,LLM 客户端可以通过调用这些工具来获取时间信息。

安装步骤

本服务器提供两种安装方式:一键安装和源码编译安装。

方式一:一键安装 (推荐)

使用以下命令可以快速安装最新版本的 Time MCP Server 到 '~/.local/bin' 目录:

curl -fsSL https://raw.githubusercontent.com/okooo5km/time-mcp-server/main/install.sh | bash

安装脚本会自动完成下载、安装和配置 PATH 环境变量等步骤。

方式二:源码编译安装

  1. 克隆仓库到本地:
    git clone https://github.com/okooo5km/time-mcp-server.git
    cd time-mcp-server
  2. 编译项目:
    swift build -c release
  3. 安装可执行文件到 '~/.local/bin' 目录:
    mkdir -p ~/.local/bin
    cp $(swift build -c release --show-bin-path)/time-mcp-server ~/.local/bin/
  4. 确保 '~/.local/bin' 目录已添加到 PATH 环境变量中。

安装完成后,您可以在终端中运行 'time-mcp-server --help' 检查是否安装成功。

服务器配置

MCP 服务器需要配置在支持 MCP 协议的 LLM 客户端中。以下是一些常见客户端的配置示例,您需要将这些配置添加到 LLM 客户端的 MCP 服务器设置中。

通用配置 (JSON 格式):

{
  "mcpServers": {
    "RealTime": {  // 服务器名称,可以自定义
      "command": "time-mcp-server" // 启动服务器的命令,这里假设 time-mcp-server 已添加到 PATH 环境变量
      // "args": ["--port", "8080"] // (可选) 如果服务器需要额外的启动参数,可以在这里配置,本服务器默认不需要
    }
  }
}

配置说明:

  • '"mcpServers"': MCP 服务器配置的根节点。
  • '"RealTime"': 您为该时间服务器自定义的名称,在 LLM 客户端中用于标识和引用这个服务器。
  • '"command": "time-mcp-server"': 指定启动 Time MCP Server 的命令。 确保 'time-mcp-server' 可执行文件位于系统的 PATH 环境变量中,或者这里填写可执行文件的完整路径。
  • '"args"': (可选) 如果 'time-mcp-server' 命令需要额外的命令行参数才能正常启动,可以在 '"args"' 数组中配置。 例如,如果服务器需要指定端口号,可以添加 '"--port", "8080"'。 但本示例中的 'time-mcp-server' 默认情况下不需要额外参数。

注意: 不同的 LLM 客户端配置 MCP 服务器的具体方式可能略有不同,请参考您使用的 LLM 客户端的文档进行配置。 上述 JSON 配置示例适用于 Claude、Cursor 和 ChatWise 等客户端。

基本使用方法

配置完成后,LLM 客户端即可通过 MCP 协议与 Time MCP Server 通信,并调用其提供的工具。

可用工具及参数:

  • 'get_current_time': 获取当前时间

    • 参数:
      • 'timezone' (string, 可选): IANA 时区名称,例如 ''America/New_York'' 或 ''Europe/London''。 如果为空或不提供,则使用系统默认时区。
  • 'convert_time': 时区转换

    • 参数:
      • 'source_timezone' (string, 必填): 源时区 IANA 名称。 如果为空或不提供,则使用系统默认时区。
      • 'time' (string, 必填): 要转换的时间,24小时制格式 (HH:MM)。
      • 'target_timezone' (string, 必填): 目标时区 IANA 名称。 如果为空或不提供,则使用系统默认时区。

使用示例 (LLM 客户端 System Prompt):

您可以在 LLM 客户端的 System Prompt 中引导 LLM 使用这些工具,例如:

你拥有通过 MCP 访问时间相关工具的能力。请利用这些工具帮助用户:

- 获取任何时区的当前时间
- 在不同时区之间转换时间
- 计算不同地点之间的时间差
- 规划跨时区的会议

请合理使用以下工具:
- 'get_current_time' 用于查询特定时区的当前时间
- 'convert_time' 用于在不同时区之间进行时间转换

请始终使用正确的 IANA 时区名称 (例如 'America/New_York', 'Europe/London', 'Asia/Tokyo'),而不是缩写或常用名称。

通过 JSON 请求调用工具的示例 (供开发者参考):

  • 获取纽约当前时间:
{
  "timezone": "America/New_York"
}
  • 将洛杉矶时间 15:30 转换为东京时间:
{
  "source_timezone": "America/Los_Angeles",
  "time": "15:30",
  "target_timezone": "Asia/Tokyo"
}

注意: LLM 客户端通常会负责构建和发送 JSON 请求,您只需要在 System Prompt 中指导 LLM 如何使用工具即可。 开发者如果需要直接与 MCP 服务器交互,可以参考上述 JSON 请求格式。

信息

分类

AI与计算