使用说明
项目简介
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 环境变量等步骤。
方式二:源码编译安装
- 克隆仓库到本地:
git clone https://github.com/okooo5km/time-mcp-server.git cd time-mcp-server - 编译项目:
swift build -c release - 安装可执行文件到 '~/.local/bin' 目录:
mkdir -p ~/.local/bin cp $(swift build -c release --show-bin-path)/time-mcp-server ~/.local/bin/ - 确保 '~/.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与计算