With Redis, a legacy session can hold an SSE stream on two instances at once
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 49/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- redis, typescript
- Domain
- backend, distributed-systems
Research direction
Start in src/routes/mcp.ts at hasActiveSSESession, then trace how Redis-backed session state and mcpBroadcastNotification handle streams across instances. Reproduce with two instances sharing Redis: open the same session on both and broadcast a notification. Done when only one connected stream receives each message, as required by the transport described in the issue.
Written by the indexing model from the issue text.
Description
The one-stream-per-session check (hasActiveSSESession, src/routes/mcp.ts) only looks at local streams. A second GET for the same session on another instance gets 200, and every broadcast is then written to both streams, with the same event id. The 2025-11-25 transport says the server MUST send each message on only one connected stream and MUST NOT broadcast it across streams.
Repro: two instances on one Redis; GET on A (200), GET on B with the same Mcp-Session-Id (200, while a second GET on A gets 409); mcpBroadcastNotification → both streams receive id: 1 with the same notification. Overlaps #317.
🤖 Generated with Claude Code
- Dominant language
- TypeScript
- Stars
- 58
- Forks
- 15
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 57
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from platformatic/mcp
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
platformatic/mcp#382 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
platformatic/mcp#381 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
platformatic/mcp#378 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
platformatic/mcp#373 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
platformatic/mcp#372 ·
Maintainers usually reply within 1 day
All issues in platformatic/mcp
Similar issues
-
[Bug]: Device screenshot fails with 500 on iPhone Duo (Xcode 27.2): serve-sim calls simctl without --displayPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
pingdotgg/t3code#24900 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
inu-appcenter/UNIDorm-web#411 ·
Maintainers usually reply within 1 day
-
🐛 bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ranxianglei/billion-context#4720 ·
Maintainers usually reply within 1 day
-
area:arcade game p3-medium ready-for-agent type:bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
fderuiter/deruiter.dev#2840 ·
Maintainers usually reply within 1 day