使用说明
⏱️ 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游乐场:
-
首选https://playground.ai.cloudflare.com/
-
添加一个新的MCP服务器并使用您部署的URL,例如:
https://mcp-timeserver.<your-account>.workers.dev/sse -
工具
current_time,relative_time等将可供模型调用。
2.MCP检查员(本地测试)
检查工具并进行测试调用:
npx @modelcontextprotocol/inspector@latest
在检查器UI中:
-
使用
http://localhost:8787/sse(dev)或您部署的/sseURL。 -
连接,然后 列出工具 查看所有时间工具。
-
调用工具,如
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_timerelative_timedays_in_monthget_timestampconvert_timeget_week_year
可用作工具。
开发说明
- 运行时:Cloudflare Workers+持久对象
- 主控程序:
@modelcontextprotocol/sdk通过Cloudflareagents/mcp - 时间库:
dayjs随着utc,timezone,relativeTime,weekOfYear,isoWeek插件。 - 入口点:
src/index.ts - 配置:
wrangler.toml
许可证
麻省理工学院——你可以自由地分叉、扩展和适应。