时间工具服务器

一个基于Cloudflare Workers的远程MCP服务器,提供丰富的时间感知功能,包括当前时间、相对时间、时区转换等。

  • by CultriX-Github
  • TypeScript
  • 混合部署
  • 更新于
在 GitHub 查看 CultriX-Github/mcp-timeserver

使用说明

⏱️ Cloudflare Workers上的时间MCP服务器(远程,无身份验证)

这个项目是 远程MCP服务器 运行于 Cloudflare Workers 这为LLMs提供了丰富的时间意识:

  • 当前时间(UTC+任何时区)
  • 相对时间(“3小时前”,“2天后”)
  • 月份中的天数
  • 时间戳
  • 时区转换
  • 周/ISO一年中的周

它基于Cloudflare的 remote-mcp-authless 模板,但暴露了一个完整的 时间工具包 通过MCP。


工具

服务器公开了这些MCP工具:

  • current_time
    以可配置的格式获取UTC和目标时区的当前时间。

  • relative_time
    获取给定时间戳从现在开始的相对时间(例如。 "2025-03-23 12:00:00" → "in 2 days").

  • days_in_month
    获取给定月份的天数(如果没有提供日期,则获取当前月份的天数)。

  • get_timestamp
    获取给定时间的Unix时间戳(毫秒),或 现在.

  • convert_time
    在两个IANA时区之间转换给定时间(例如。 Europe/Amsterdam → Asia/Tokyo).

  • get_week_year
    获取给定日期或今天的周数和ISO周数。

所有工具均在 src/index.ts 使用 this.server.tool(...) 在一个 McpServer 例子


开始使用

您可以:

1.从这个仓库部署(一旦它在GitHub上)

使用 部署到工人 按钮(更新URL以匹配您的GitHub仓库):

这将把您的MCP服务器部署到以下URL:

https://mcp-timeserver.<your-account>.workers.dev/sse

2.从Cloudflare模板本地创建

如果您想从头开始复制此设置:

npm create cloudflare@latest -- mcp-timeserver --template=cloudflare/ai/demos/remote-mcp-authless

然后更换 src/index.ts 随着时间的推移,MCP从这个仓库实现并安装 dayjs:

npm install dayjs

本地运行

从项目目录中:

npm install
npm run start

这将启动本地开发服务器,通常位于:

http://localhost:8787

暴露的端点:

  • SSE MCP传输: http://localhost:8787/sse
  • HTTP(可流式传输)MCP传输: http://localhost:8787/mcp
  • 健康检查: http://localhost:8787/health

部署到Cloudflare

要部署Worker,请执行以下操作:

npx wrangler login
npm run deploy
# or
npx wrangler deploy

部署后,您将获得一个URL,如下所示:

https://mcp-timeserver.<your-account>.workers.dev

对于MCP端点:

  • 上海证券交易所 https://mcp-timeserver.<your-account>.workers.dev/sse
  • HTTP: https://mcp-timeserver.<your-account>.workers.dev/mcp

使用MCP服务器

1.Cloudflare AI游乐场

您可以将此Worker用作 远程MCP服务器 Cloudflare AI游乐场:

  1. 首选https://playground.ai.cloudflare.com/

  2. 添加一个新的MCP服务器并使用您部署的URL,例如:

    https://mcp-timeserver.<your-account>.workers.dev/sse
    
  3. 工具 current_time, relative_time等将可供模型调用。


2.MCP检查员(本地测试)

检查工具并进行测试调用:

npx @modelcontextprotocol/inspector@latest

在检查器UI中:

  • 使用 http://localhost:8787/sse (dev)或您部署的 /sse URL。

  • 连接,然后 列出工具 查看所有时间工具。

  • 调用工具,如 current_time 使用JSON参数,例如:

      {
        "format": "YYYY-MM-DD HH:mm:ss",
        "timezone": "Europe/Amsterdam"
      }
    

3.通过以下方式连接克劳德桌面 mcp-remote

大多数桌面客户端仍然会说话 MCP 工作站,因此您可以使用 mcp-remote 作为Cloudflare Worker的代理。

在您的Claude Desktop配置中(例如。 claude_desktop_config.json):

{
  "mcpServers": {
    "time-mcp-timeserver": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp-timeserver.<your-account>.workers.dev/sse"
      ]
    }
  }
}

重启克劳德。现在您应该看到:

  • current_time
  • relative_time
  • days_in_month
  • get_timestamp
  • convert_time
  • get_week_year

可用作工具。


开发说明

  • 运行时:Cloudflare Workers+持久对象
  • 主控程序: @modelcontextprotocol/sdk 通过Cloudflare agents/mcp
  • 时间库: dayjs 随着 utc, timezone, relativeTime, weekOfYear, isoWeek 插件。
  • 入口点: src/index.ts
  • 配置: wrangler.toml

许可证

麻省理工学院——你可以自由地分叉、扩展和适应。