modelcontextprotocol / modelcontextprotocol/java-sdk

I would like to maintain MCP server state persisted (sessionId)

Offen
#738 2 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement feature/session-storage P2
Vorherrschende Sprache
Java
Sterne
3.7k
Forks
1.1k
Ø Merge
1 T. 15 Std.
Gemergte PRs (30 T.)
9

Beschreibung

Now the session id is maintained in memory in a map. But since I have my MCP server multiple pods running, I would like the state to be persisted in redis or in a DB.

I would like to override the session Validator as a parameter in the HttpServletStreamableServerTransportProvider

Current Behavior

Currently only the session creation can be customised but not maintaining the state fully.

Context

I am not able to implement stateful session in a distributed setup

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit HttpServletStreamableServerTransportProvider und untersuche, wie die Sitzungserstellung, -validierung und die In-Memory-Sitzungszuordnung behandelt werden. Definiere einen Erweiterungspunkt für benutzerdefinierte Sitzungsvalidierung und -persistenz, der podübergreifend funktioniert, wobei Redis oder eine Datenbank das Ziel sind; als abgeschlossen gilt die Aufgabe, wenn zustandsbehaftete Sitzungen nicht mehr von einem Prozess abhängen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, redis
Bereich
backend, distributed-systems
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.