Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Should McpTransportContextExtractor contain default methods for protocol version, lastEventId and sessionId

Ouverte
#492 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
java

Piste de recherche

Localisez McpTransportContextExtractor et examinez ses implémentations existantes ainsi que l’utilisation de McpTransportContext. Vérifiez si les accesseurs par défaut pour la version du protocole, l’ID de session et l’ID du dernier événement correspondent à l’API actuelle et aux concepts du protocole ; le travail est terminé lorsque l’interface expose une API cohérente et compatible.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

waiting for triage

I am defining my McpTransportContextExtractor implementation as:

@Internal
@Singleton
class DefaultMcpTransportContextExtractor implements McpTransportContextExtractor<HttpRequest<?>> {
    public static final String HTTP_HEADER_MCP_PROTOCOL_VERSION = "MCP-Protocol-Version";
    public static final String DEFAULT_PROTOCOL_VERSION = "2025-03-26";
    public static final String HTTP_HEADER_MCP_SESSION_ID = "Mcp-Session-Id";
    public static final String HTTP_HEADER_DEFAULT_LAST_EVENT_ID = "Last-Event-ID";

    @Override
    public McpTransportContext extract(HttpRequest<?> request, McpTransportContext transportContext) {
        transportContext.put(HTTP_HEADER_MCP_PROTOCOL_VERSION,
            request.getHeaders().get(HTTP_HEADER_MCP_PROTOCOL_VERSION, String.class)
                .orElse(DEFAULT_PROTOCOL_VERSION));
        request.getHeaders().get(HTTP_HEADER_MCP_SESSION_ID, String.class)
            .ifPresent(v -> transportContext.put(HTTP_HEADER_MCP_SESSION_ID, v));
        request.getHeaders().get(HTTP_HEADER_DEFAULT_LAST_EVENT_ID, String.class)
            .ifPresent(v -> transportContext.put(HTTP_HEADER_DEFAULT_LAST_EVENT_ID, v));
        return transportContext;
    }
}

But given that the specification defines session id, last event and protocol version. I think it would be good if the McpTransportContextExtractor contained default methods:

default String getSessionId() {
   return null;
}

default String getLastEventId() {
   return null;
}

default String getProtocolVersion() {
   return "2025-03-26";
}

I can submit a PR if you think it is a good idea. With this change the TransportContext will have a clear API for those spec defined concepts.

Langage dominant
Java
Étoiles
3.7k
Forks
1.1k
Merge moyen
1 j 15 h
PR mergées (30 j)
9

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de modelcontextprotocol/java-sdk

Toutes les issues de modelcontextprotocol/java-sdk

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.