mclocks MCP 服务器端
使用说明(Markdown 格式)
- 项目简介
- 该仓库实现了一个 MCP 服务器端,核心目标是为 LLM 客户端(如 Cursor、Claude Desktop 等)提供时区与时间相关的上下文和工具能力。服务器通过 MCP 标准暴露一组工具(例如 convert-time、current-time、local-time、days-between 等),并基于本地配置(config.json)决定默认时区、区域设置等信息,便于对话式 AI 应用进行时间推理和时间格式转换。
- 主要功能点
- MCP 核心:实现 MCP 服务器端,定义并暴露多种工具(tools)供客户端调用,每个工具返回格式化文本内容,便于在 AI 对话中消费。
- 工具集合(Tools):包括 convert-time、current-time、local-time、next-weekday、date-to-weekday、days-until、days-between、date-offset 等,可实现时间字符串转换、当前时间、时区转换、日期计算等功能。
- 配置驱动:支持通过本地 config.json 自动推断默认时区、语言等设置,并可通过 MCLOCKS_CONVTZ、MCLOCKS_LOCALE、MCLOCKS_USETZ 等环境变量覆盖。
- 运行环境:使用 Node.js 环境,基于 MCP SDK 提供的 StdioServerTransport,通过标准输入/输出与 MCP 客户端通信。
- 安装步骤
- 安装 Node.js(v18 及以上)和仓库依赖。
- 进入项目根目录,确保已安装 npm/yarn/pnpm 依赖。
- 启动 MCP 服务器(示例命令如下,具体路径视项目结构而定):
- node src-mcp/server.js
- 启动后,MCP 客户端应使用以下配置信息连接服务器(参见下方“服务器配置”部分)。
- 服务器配置
MCP 客户端连接该 MCP 服务器需要在其配置中包含服务器启动信息,常见格式如下(为方便理解,给出一个示例 JSON),其中 server name 与启动命令参数对应仓库中的实现:
- server name: mclocks-datetime-util
- command: node
- args: ["src-mcp/server.js"] 配置示例(JSON): { "mcpServers": { "mclocks-datetime-util": { "command": "node", "args": ["src-mcp/server.js"] } // 如有需要,可在此添加环境变量覆盖,例如: // "env": { // "MCLOCKS_LOCALE": "ja", // "MCLOCKS_CONVTZ": "Asia/Tokyo" // } } } 说明:
- 该配置仅用于 MCP 客户端知晓如何启动并连接 MCP 服务器。客户端本身并不需要理解服务器内部实现细节。
- MCP 服务器通过标准输出/输入(Stdio)与客户端通信,客户端需要确保 Node.js 能访问到上述 server.js 路径并具备所需依赖。
- 基本使用方法
- 启动服务器后,MCP 客户端可以发送请求来调用工具,如 convert-time、current-time 等。
- 工具返回文本格式的结果,便于在对话中向用户展示时间、时区转换结果等信息。
- 结合 config.json,服务器会自动使用预设时区和语言环境,提升跨时区对话的自然度。