modelcontextprotocol / modelcontextprotocol/java-sdk
Simplify error response when accessing MCP without session ID
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Java
- Estrellas
- 3.7k
- Forks
- 1.1k
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 9
Descripción
Description:
Currently, when accessing the MCP Streamable HTTP server at https://host:port/mcp without providing a session ID, the server responds with the full exception stack trace and detailed error information.
Issue:
Returning the complete stack trace in the response is not user-friendly and may expose internal details unnecessarily.
Suggestion:
Instead of returning the full error, return a simple, clear message indicating there is an issue with the request headers or the session ID
stack trace
{
"cause": null,
"stackTrace": [
{
"moduleName": null,
"moduleVersion": null,
"classLoaderName": null,
"methodName": "doGet",
"fileName": "HttpServletStreamableServerTransportProvider.java",
"lineNumber": 268,
"className": "com.ibm.modelcontextprotocol.server.transport.HttpServletStreamableServerTransportProvider",
"nativeMethod": false
},
{
"moduleName": null,
"moduleVersion": null,
"classLoaderName": null,
"methodName": "service",
"fileName": "HttpServlet.java",
"lineNumber": 527,
"className": "jakarta.servlet.http.HttpServlet",
"nativeMethod": false
},
{
"moduleName": null,
"moduleVersion": null,
"classLoaderName": null,
"methodName": "service",
"fileName": "HttpServlet.java",
"lineNumber": 614,
"className": "jakarta.servlet.http.HttpServlet",
"nativeMethod": false
}
],
"jsonRpcError": null,
"message": "text/event-stream required in Accept header; Session ID required in mcp-session-id header",
"localizedMessage": "text/event-stream required in Accept header; Session ID required in mcp-session-id header",
"suppressed": []
}
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en HttpServletStreamableServerTransportProvider.java alrededor de la línea 264 e inspecciona el manejo de GET para las solicitudes sin un encabezado mcp-session-id. Reproduce la solicitud descrita en la issue y, a continuación, verifica que la respuesta proporcione un mensaje sencillo de solicitud o de ID de sesión sin exponer el stack trace de la excepción.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- api, backend
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Tranquilo
- Claridad
- Bien especificado
- Aptitud para principiantes
- 68/100