Skip to main content
Glama
devasur

eve-mcp-handshake-repro

by devasur

eve MCP 连接:每次工具调用发出六个 HTTP 请求

针对 vercel/eve 的最小复现:在一个回合中进行一次 MCP 工具调用,会向 MCP 服务器发送十一个 HTTP 请求。其中只有一个请求是工具调用本身。

mcp-server.mjs 既是服务器,也是测量仪器——它实现了一个带 echo 工具的无状态 Streamable-HTTP MCP 服务器,每收到一个请求就打印一行。

运行方式

npm install
echo 'AI_GATEWAY_API_KEY=<your key>' > .env.local   # or VERCEL_OIDC_TOKEN=…

node mcp-server.mjs                                 # terminal 1
npx eve invoke "Echo the word marigold."            # terminal 2

Related MCP server: Copilot Studio MCP Server

终端 1 的输出

  1  GET /mcp  → 405            ← transport probe
  2  POST /mcp  initialize      ┐ connection_search's client
  3  POST /mcp  notifications/initialized
  4  GET /mcp  → 405            │
  5  POST /mcp  tools/list      ┘
  6  GET /mcp  → 405            ┐ the tool call's client — a new one
  7  POST /mcp  initialize      │
  8  POST /mcp  notifications/initialized
  9  GET /mcp  → 405            │
 10  POST /mcp  tools/list      │
 11  POST /mcp  tools/call      ┘

预期行为

一次工具调用应该只对应一次 tools/call,外加在会话中摊销的握手过程——而不是在每个工作流步骤都重新执行一次 initialize + notifications/initialized + tools/list,也不该在服务器已经应答过 POST 后,在每次调用之前额外发送一次 GET 探针。

该现象记录于 eve 0.44.3、Node 24、Linux 环境。同样的十一个请求的模式最早在 0.34.0 上针对生产环境 MCP 服务器观察到,当时每个请求都意味着一次 serverless 往返,而不是本地回环。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Mock HTTP server implementing MCP (Model Context Protocol) with streamable HTTP transport, health endpoint, and example tools like echo and time.
    284 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    This MCP server provides a Streamable HTTP endpoint with bearer token authentication, exposing echo and add tools, and an info resource for remote client integration.
    -