anthropics / anthropics/claude-ai-mcp
Tool-call results cross-wired between concurrent chats (remote connector, claude.ai web) — user shown another conversation's answer
- 主要語言
- 沒有語言資料
- 星號
- 471
- 分支
- 76
- PR 合併指標
- 30 天內沒有已合併 PR
描述
## Environment
- claude.ai web, remote MCP connector (Streamable HTTP transport), OAuth
- Multiple chats open in separate browser tabs, same connector, same user
## Summary
When two chats call the **same** MCP tool in parallel, the result of one chat's tool call is delivered to the *other* chat. The receiving chat renders a coherent-but-wrong answer — no error, no warning. This is a silent data-integrity failure, not a cosmetic one.
## Steps to reproduce
1. Connect a remote MCP connector exposing a stateful Q&A tool (e.g. `ask_needl`).
2. Open three chats in three tabs.
3. In each, ask about a different entity (Tab 1: "Bajaj Finance…", Tab 2: "JSW Steel…", Tab 3: "IndusInd Bank…"), triggering the tool nearly simultaneously.
**Expected:** each chat receives the result of its own tool call.
**Actual:** results are mismatched across tabs — Tab 1 (Bajaj) rendered another tab's answer, etc. Reproduced across all three tabs.
## Server-side verification (ours)
- Each tool call was processed correctly and independently; every session in our store is single-topic and correct when opened in our own app.
- Our server is fully request-isolated (per-request context, no shared state) and echoes the JSON-RPC request `id` unchanged. The mixup is purely in client-side response routing.
## Likely root cause
Appears to be the missing conversation/session identifier described in anthropics/claude-code#41836: the client doesn't echo `Mcp-Session-Id` and sends no per-conversation identifier, so concurrent conversations over one connector are indistinguishable and responses can be correlated to the wrong chat. It only manifests when the **same tool** is invoked concurrently, which suggests correlation is keyed on something other than the JSON-RPC request `id`.
## Impact
Silent wrong answers across concurrent conversations — a correctness/trust issue for any deployed connector, especially in financial/regulated contexts.
貢獻指南
這個儲存庫沒有索引到貢獻指南
評估
這個 Issue 還沒有評估資料。