mcpField
M
MCP Time Server - Streamable HTTP

MCP Time Server - Streamable HTTP

本地服务
github.com/Cam10001110101生产力055 周前更新

关于 MCP Time Server - Streamable HTTP

MCP Time Server 为 LLM 提供日期和时间相关工具,支持本地 MCP 客户端及远程 Streamable HTTP 连接。它可处理时区转换、相对时间、时间戳和周数等操作。

主要功能

  1. 01获取指定时区的当前时间
  2. 02生成人类可读的相对时间
  3. 03计算月份天数
  4. 04生成 Unix 时间戳
  5. 05转换 IANA 时区时间
  6. 06获取日期周数

适用场景

  1. 01在不同时区查询当前时间
  2. 02转换跨时区会议时间
  3. 03计算指定月份天数或日期周数

MCP 相关

它向 MCP 客户端提供六种日期时间工具,支持本地 stdio 和远程 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"http-time": {
"command": "npx",
"args": [
"-y",
"wrangler"
]
}
}
}
启动命令npx -y wrangler

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmwrangler

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Time Server

一个提供时间相关工具的模型上下文协议(MCP)服务,支持双模式:

  • 面向本地 MCP 客户端的 Stdio 传输(通过 npm)
  • 面向远程访问的 Streamable HTTP 传输(通过 Cloudflare Workers)

此服务允许大模型通过多种连接方式访问各种日期和时间功能。

功能

提供以下 MCP 工具:

  • current_time:获取指定格式和时区的当前日期和时间。
  • relative_time:获取易读的相对时间字符串(例如,“5 分钟后”“2 小时前”)。
  • days_in_month:获取指定月份的天数。
  • get_timestamp:获取指定时间的 Unix 时间戳(毫秒)。
  • convert_time:在不同的 IANA 时区之间转换时间。
  • get_week_year:获取指定日期的周数和 ISO 周数。

项目结构

mcp-time/
├── src/
│   └── index.ts      # Cloudflare Worker entry point & MCP logic
├── package.json      # Project dependencies and scripts
├── tsconfig.json     # TypeScript configuration
└── wrangler.toml     # Cloudflare Worker configuration

安装

选项 1:从 npm 安装(Stdio 模式)

全局安装此软件包,或使用 npx:

# Global installation
npm install -g @cbuk100011/mcp-time

# Or use directly with npx
npx @cbuk100011/mcp-time
选项 2:使用远程服务(HTTP 模式)

直接连接到已部署的 Cloudflare Worker:

示例:

https://mcp.time.mcpcentral.io

使用方法

Stdio 传输(本地)

将 MCP 客户端(例如 Claude Desktop)配置为使用 Stdio 传输:

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

或者使用全局安装:

{
  "mcpServers": {
    "time-server": {
      "command": "/path/to/node/bin/mcp-time"
    }
  }
}
Streamable HTTP 传输(远程)

将 MCP 客户端配置为使用远程 HTTP 端点:

{
  "mcpServers": {
    "time-server": {
      "url": "https://mcp.time.mcpcentral.io",
      "transport": "streamable-http"
    }
  }
}

开发

  1. 克隆仓库:

    git clone https://github.com/Cam10001110101/mcp-server-http-time.git
    cd mcp-server-http-time
    
  2. 安装依赖项:

    npm install
    
  3. 构建: 编译 TypeScript 代码:

    npm run build
    

    (此操作会将 src/index.ts 编译为 dist/index.js)

  4. 本地测试:

    测试 Stdio 模式:

    echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | node dist/index.js
    

    测试 HTTP 模式(通过 Wrangler):

    npx wrangler dev
    

    这将在 http://localhost:8787 启动服务。随后,你可以使用 curl 进行测试,或将 MCP 客户端指向此本地端点。

部署

部署到 Cloudflare Workers(HTTP 模式)
  1. 配置 Cloudflare:

    cp wrangler.toml.example wrangler.toml
    

    编辑 wrangler.toml 以配置你的域名(可选)。

  2. 登录并部署:

    wrangler login
    npx wrangler deploy
    
发布到 npm(Stdio 模式)
  1. 构建软件包:

    npm run build
    
  2. 发布:

    npm publish --access public
    

Streamable HTTP 服务的连接器

全新:主要服务提供商已采用模型上下文协议,现在直接支持 Streamable HTTP 服务。Anthropic、OpenAI 和 Microsoft 均已采用这一现代传输协议。

📋 协议说明:Streamable HTTP 是已弃用的 HTTP+SSE 传输方式的现代替代方案。

Anthropic MCP Connector

Anthropic 的 MCP Connector 允许你通过 Messages API 直接使用 Streamable HTTP 服务,无需单独的 MCP 客户端。

MCP Connector 非常适合此服务,因为它采用 Streamable HTTP 架构。只需在 API 请求中包含该服务:

curl https://api.anthropic.com/v1/messages \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: mcp-client-2025-04-04" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1000,
    "messages": [{
      "role": "user", 
      "content": "What time is it in Tokyo?"
    }],
    "mcp_servers": [{
      "type": "url",
      "url": "https://your.worker.url.workers.dev",
      "name": "http-time-server"
    }]
  }'
Anthropic MCP Connector 的优势:
  • 无需设置客户端 - 通过 API 直接连接
  • 原生支持 Streamable HTTP - 专为此类服务设计
OpenAI Agents SDK

OpenAI 也通过其 Agents SDK,使用 MCPServerStreamableHttp 类支持 Streamable HTTP 服务:

from agents.mcp.server import MCPServerStreamableHttp

# Connect to this Streamable HTTP server
server = MCPServerStreamableHttp({
    "url": "https://your.worker.url.workers.dev",
    "headers": {"Authorization": "Bearer your-token"},  # if needed
})

# Use the server in your OpenAI agent
await server.connect()
tools = await server.list_tools()
result = await server.call_tool("current_time", {"timezone": "Asia/Tokyo"})
Microsoft Copilot Studio

Microsoft Copilot Studio 现已支持 Streamable HTTP 服务,并且 MCP 集成已正式推出。你可以通过以下方式将此服务连接到 Copilot Studio:

  1. 构建自定义连接器,将你的 MCP 服务连接到 Copilot Studio
  2. 在 Copilot Studio 中添加工具,选择“Add a Tool”并搜索你的 MCP 服务
  3. 在启用了生成式编排的 Agent 中直接使用此服务
更多 MCP 客户端即将推出

随着更多 MCP 客户端开始支持 Streamable HTTP,敬请关注。以下资源列出了 MCP 客户端及其功能:

测试与验证

MCP Inspector(HTTP 模式)

官方 MCP Inspector 工具提供了一个基于 Web 的界面,可用于测试你的服务。

  1. 启动你的服务:

    # Local HTTP server
    npx wrangler dev
    
    # Or use deployed URL: https://mcp.time.mcpcentral.io
    
  2. 打开 MCP Inspector:

  3. 配置连接:

    • 传输方式:Streamable HTTP
    • URL:http://localhost:8787 或 https://mcp.time.mcpcentral.io
    • 点击 Connect
命令行测试(Stdio 模式)

直接测试 stdio 传输:

# Test initialization
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | npx @cbuk100011/mcp-time

# Test tool call
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"current_time","arguments":{"timezone":"America/New_York"}}}' | npx @cbuk100011/mcp-time
可供测试的工具

Inspector 将显示全部六个与时间相关的工具:

  • current_time:使用不同时区进行测试(例如,“America/New_York”、“Europe/London”)
  • relative_time:使用各种时间字符串进行测试(例如,“2024-12-25T00:00:00Z”)
  • days_in_month:使用不同的月份和年份进行测试
  • get_timestamp:将日期时间字符串转换为 Unix 时间戳
  • convert_time:在不同时区之间进行转换
  • get_week_year:获取特定日期对应的周数
测试用例示例

在 Inspector 中尝试以下测试用例:

// current_time
{"timezone": "Asia/Tokyo", "format": "iso"}

// relative_time  
{"time": "2024-12-25T00:00:00Z"}

// days_in_month
{"month": 2, "year": 2024}

// get_timestamp
{"time": "2024-06-15T12:00:00Z"}

// convert_time
{"time": "2024-06-15T12:00:00", "from": "UTC", "to": "America/Los_Angeles"}

// get_week_year
{"date": "2024-06-15"}
验证清单

使用 Inspector 进行验证:

  • ✅ 服务已成功连接
  • ✅ 已列出全部 6 个工具
  • ✅ 工具架构定义正确
  • ✅ 工具执行时没有错误
  • ✅ 结果格式正确
  • ✅ 对无效输入的错误处理正常

在将服务集成到 AI 客户端之前,MCP Inspector 是测试服务的最全面方式。


身份验证与安全注意事项

⚠️ 重要:此示例服务未实现任何身份验证或安全措施。

对于生产环境中的 MCP 服务,你应按照官方 MCP 文档中的说明实现适当的身份验证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。