You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
initialize is being called multiple times within a single conversation, resulting in multiple Mcp-Session-Id values. My server relies on Mcp-Session-Id to link requests together (per the spec), and this was working ~3 days ago — but something changed and now it's broken.
What I'm seeing
sequenceDiagram
participant Host as Host (Claude Desktop)
participant Server as MCP Server
Note over Host,Server: Before conversation starts
Host->>Server: POST initialize
Server-->>Host: Mcp-Session-Id: aaa-111
Host->>Server: POST resources/read<br/>Mcp-Session-Id: aaa-111
Server-->>Host: HTML (app UI)
Host->>Server: POST tools/call (discover_run)<br/>Mcp-Session-Id: aaa-111
Server-->>Host: { runId: null } (no run yet, expected)
Note over Host,Server: User types prompt...
Note over Host,Server: Second initialize — unexpected!
Host->>Server: POST initialize
Server-->>Host: Mcp-Session-Id: bbb-222
Host->>Server: POST tools/call (run_web_automation)<br/>Mcp-Session-Id: bbb-222
Note over Server: Stores run under bbb-222 ✅
Host->>Server: POST tools/call (discover_run)<br/>Mcp-Session-Id: aaa-111
Note over Server: Looks up aaa-111 → null ❌<br/>(run is under bbb-222)
Loading
My server stores a session→run mapping on run_web_automation, then the MCP App iframe calls discover_run to find that run. Because discover_run still uses the first session (aaa-111) but the run was stored under the second session (bbb-222), the lookup fails and the app can't show live status/screenshots.
What I'd expect
One initialize per conversation → one Mcp-Session-Id shared across model and app tool calls.
Happy to share server logs and more details if helpful.
Environment
Host: Claude Desktop (latest)
MCP Protocol Version: 2025-11-25
Server: Custom Next.js MCP server (Streamable HTTP)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
initializeis being called multiple times within a single conversation, resulting in multipleMcp-Session-Idvalues. My server relies onMcp-Session-Idto link requests together (per the spec), and this was working ~3 days ago — but something changed and now it's broken.What I'm seeing
sequenceDiagram participant Host as Host (Claude Desktop) participant Server as MCP Server Note over Host,Server: Before conversation starts Host->>Server: POST initialize Server-->>Host: Mcp-Session-Id: aaa-111 Host->>Server: POST resources/read<br/>Mcp-Session-Id: aaa-111 Server-->>Host: HTML (app UI) Host->>Server: POST tools/call (discover_run)<br/>Mcp-Session-Id: aaa-111 Server-->>Host: { runId: null } (no run yet, expected) Note over Host,Server: User types prompt... Note over Host,Server: Second initialize — unexpected! Host->>Server: POST initialize Server-->>Host: Mcp-Session-Id: bbb-222 Host->>Server: POST tools/call (run_web_automation)<br/>Mcp-Session-Id: bbb-222 Note over Server: Stores run under bbb-222 ✅ Host->>Server: POST tools/call (discover_run)<br/>Mcp-Session-Id: aaa-111 Note over Server: Looks up aaa-111 → null ❌<br/>(run is under bbb-222)My server stores a session→run mapping on
run_web_automation, then the MCP App iframe callsdiscover_runto find that run. Becausediscover_runstill uses the first session (aaa-111) but the run was stored under the second session (bbb-222), the lookup fails and the app can't show live status/screenshots.What I'd expect
One
initializeper conversation → oneMcp-Session-Idshared across model and app tool calls.Happy to share server logs and more details if helpful.
Environment
@modelcontextprotocol/ext-appsBeta Was this translation helpful? Give feedback.
All reactions