anthropics / anthropics/claude-ai-mcp

Tool-call results cross-wired between concurrent chats (remote connector, claude.ai web) — user shown another conversation's answer

未關閉
#676 0 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
沒有語言資料
星號
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 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。