时间与进度服务器

一个提供当前时间获取和进度指示功能的MCP协议服务器,支持标准输入输出、SSE和HTTP流三种传输模式。

  • by rubys
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 rubys/mcp-time-progress-server

使用说明

MCP时间和进度服务器

MCP(模型上下文协议)服务器,提供两个简单的工具并支持多种传输模式:

  1. 获取时间 -以RFC3339格式的字符串返回当前时间
  2. 进展 -显示一个进度指示器,在10秒内从1到10计数,然后返回“完成”

运输方式

服务器支持三种传输模式:

  • 标准输入输出 -标准输入/输出通信(默认)
  • SSE -服务器通过HTTP发送事件
  • HTTP流 -HTTP流传输

建筑

go build -o mcp-server main.go

跑步

标准模式(默认)

./mcp-server

SSE模式

./mcp-server --sse --port 8080

HTTP流模式

./mcp-server --stream --port 8080

工具

获取时间

  • 参数:无
  • 退货:RFC3339格式的当前时间(例如,“2025-06-14T10:30:45Z”)

进展

  • 参数:无
  • 退货:进度更新从1/10到10/10,每秒一次,然后是“完成”
  • 持续时间:总共10秒

客户

此存储库包括Python和TypeScript MCP客户端,演示了所有三种传输模式的使用方法。

Python客户端

Python客户端(client.py)使用官方MCP Python SDK并支持:

用途:

# Stdio mode (default)
python client.py

# SSE mode
python client.py --sse

# HTTP Streaming mode
python client.py --stream

进度指标支持:

  • ✅ 标准输入输出 -显示进度通知
  • ✅ SSE -显示进度通知
  • ❌ HTTP流 -连接超时(未显示进度)

TypeScript客户端

TypeScript客户端(src/client.ts)使用官方MCP TypeScript SDK并支持:

设置:

npm install

用途:

# Stdio mode (default)
npm run stdio
# or
npm run dev

# SSE mode  
npm run sse

# HTTP Streaming mode
npm run stream

# Advanced usage with custom port
npm run dev -- --sse --port 9090
npm run dev -- --stream --port 9090

可用脚本:

脚本 描述 传输
npm run stdio 使用stdio传输运行 直接进程通信
npm run sse 使用SSE传输运行 服务器发送事件
npm run stream 使用HTTP流运行 HTTP流(超时问题)
npm run dev 使用stdio运行(默认) 与相同 npm run stdio
npm run build 编译TypeScript -
npm run start 运行编译的JavaScript Stdio传输

构建:

npm run build
npm start

进度指标支持:

  • ✅ 标准输入输出 -显示进度通知
  • ✅ SSE -显示进度通知
  • ❌ HTTP流 -请求超时(未显示进度)

双方客户将:

  1. 连接到服务器
  2. 显示当前时间
  3. 每秒显示一次进度更新,持续10秒(支持时)
  4. 再次显示当前时间

进度通知状态

传输 Python客户端 TypeScript客户端
标准输入输出 ✅ 工作 ✅ 工作
SSE ✅ 工作 ✅ 工作
HTTP流 ❌ 超时 ❌ 超时

注意:尽管使用了超时扩展,但HTTP流传输在两个客户端的长时间运行操作中都存在超时问题。