Skip to main content
Glama
devasur

eve-mcp-handshake-repro

by devasur

eve MCP 연결: 도구 호출당 여섯 번의 HTTP 요청

vercel/eve를 위한 최소 재현 사례입니다. MCP 도구 호출을 한 번 하는 턴이 MCP 서버에 열한 번의 HTTP 요청을 보내며, 그중 하나가 도구 호출입니다.

mcp-server.mjs는 서버이자 계측 도구입니다. 하나의 echo 도구를 가진 상태 비저장(stateless) 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에서 기록했습니다. 동일한 열한 개 요청 패턴은 프로덕션 MCP 서버를 대상으로 한 0.34.0에서 처음 확인되었으며, 해당 환경에서는 각 요청이 루프백이 아닌 서버리스 왕복 비용을 발생시킵니다.

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.
    -