流式HTTP SSE服务器

一个支持流式HTTP和服务器发送事件(SSE)的MCP协议服务器,用于工具调用和会话管理。

  • by z63d
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 z63d/streamable-http-sse-mcp-server

使用说明

可流式传输的HTTP-SSE-MCP服务器

基于:https://github.com/modelcontextprotocol/servers/tree/d6e218d0f88bf0f03fa6b05cdf87d0c209b89289/src/everything

设置

npm install
npm run build

可流式传输的HTTP

如何跑步

npm run start:streamableHttp

服务器将在 http://localhost:3001

手动测试

初始化一个会话

curl -i -X POST http://localhost:3001/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-06-18",
      "capabilities": {},
      "clientInfo": {
        "name": "test-client",
        "version": "1.0.0"
      }
    }
  }'

从(某处)设置会话ID mcp-session-id 响应中的头部信息

SESSION_ID=<SESSION_ID>

列出可用工具

curl -X POST http://localhost:3001/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: $SESSION_ID" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list"
  }'

调用一个工具

curl -X POST http://localhost:3001/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: $SESSION_ID" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "echo",
      "arguments": {
        "message": "Hello World"
      }
    }
  }'

使用Claude Code进行注册

claude mcp add-json streamable-http-echo -s user '{
    "type": "http",
    "url": "http://localhost:3001/mcp"
  }'

移除

claude mcp remove streamable-http-echo -s user

使用服务器发送事件(SSE)的HTTP

如何跑步

npm run start:sse

服务器将在 http://localhost:3001

手动测试

建立SSE连接

curl -N http://localhost:3001/sse

从SSE事件数据响应中设置会话ID

SESSION_ID=<SESSION_ID>

列出可用工具

curl -X POST "http://localhost:3001/message?sessionId=$SESSION_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list"
  }'

调用一个工具

curl -X POST "http://localhost:3001/message?sessionId=$SESSION_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "echo",
      "arguments": {
        "message": "Hello World"
      }
    }
  }'

使用Claude Code进行注册

claude mcp add-json sse-echo -s user '{
    "type": "sse",
    "url": "http://localhost:3001/sse"
  }'

移除

claude mcp remove sse-echo -s user