时间协议服务器

一个实现Model Context Protocol(MCP)规范的时间服务器,提供获取当前日期和时间的功能。

  • by py-bay
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 py-bay/time-mcp-demo

使用说明

时间MCP服务器

一个提供当前时间功能的最小模型上下文协议(MCP)服务器。该服务器实现了MCP协议规范,并提供了一个用于获取当前日期和时间的单一工具。

特点/功能

  • 单工具: getCurrentTime - 返回当前日期/时间,格式为ISO 8601
  • 时区支持用于本地化时间的可选时区参数
  • MCP协议完全符合模型上下文协议规范
  • TypeScript带有严格类型的现代TypeScript
  • 最小依赖仅使用 @modelcontextprotocol/sdk
  • **Stdio 传输(或:标准I/O传输)**通过标准输入/输出进行通信

安装

npm install

这将安装依赖项并自动构建项目。

使用方法

作为独立服务器

直接运行服务器:

npm run build
node dist/index.js

或者使用二进制文件:

npx time-mcp-server

与MCP客户端一起

将您的MCP客户端配置为使用此服务器。以下是Claude Desktop或其他MCP客户端的配置示例:

{
  "mcpServers": {
    "time": {
      "command": "node",
      "args": ["/path/to/time-mcp-demo/dist/index.js"]
    }
  }
}

或者如果全局安装:

{
  "mcpServers": {
    "time": {
      "command": "npx",
      "args": ["time-mcp-server"]
    }
  }
}

工具:获取当前时间

返回当前日期和时间,格式为ISO 8601。

参数

  • timezone (可选):IANA 时区标识符(例如,'America/New_York','Europe/London','Asia/Tokyo')
    • 如果未提供,则返回UTC时间

示例

获取当前的UTC时间:

{
  "name": "getCurrentTime",
  "arguments": {}
}

返回值: 2025-10-22T21:09:31.654Z

获取特定时区的当前时间:

{
  "name": "getCurrentTime",
  "arguments": {
    "timezone": "America/New_York"
  }
}

返回值: 2025-10-22T17:09:31.654

其他时区示例:

  • Europe/London
  • Asia/Tokyo
  • America/Los_Angeles
  • Australia/Sydney
  • UTC

发展

构建

npm run build

观看模式

对于文件更改时自动重建的开发:

npm run dev

项目结构

time-mcp-demo/
├── src/
│   └── index.ts          # Main server implementation
├── dist/                 # Compiled JavaScript (generated)
├── package.json          # Dependencies and scripts
├── tsconfig.json         # TypeScript configuration
├── .gitignore           # Git ignore rules
└── README.md            # This file

技术细节

MCP协议合规性

此服务器实现了模型上下文协议规范:

  • 用途 StdioServerTransport 用于沟通
  • 把手;手柄 tools/list 请求发布可用工具的广告
  • 把手;手柄 tools/call 执行工具的请求
  • 以正确的MCP格式返回响应

TypeScript 配置

  • 目标:ES2022(或“面向ES2022”)
  • 模块:Node16
  • 已启用严格模式
  • 完全类型安全,无隐式any类型

依赖项

  • @modelcontextprotocol/sdkMCP协议实现
  • typescriptTypeScript 编译器
  • @types/nodeNode.js 类型定义

错误处理

该服务器具备强大的错误处理功能:

  • 无效的时区标识符会返回描述性错误信息
  • 未知工具返回相应的错误响应
  • 所有错误均以MCP响应格式正确呈现

许可证

麻省理工学院(MIT)