modelcontextprotocol / modelcontextprotocol/python-sdk

MCP client doesn't not initialize new session when getting 404 session not found

Abierto
#1,676 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug improves spec compliance P2 ready for work
Lenguaje dominante
Python
Estrellas
24.3k
Forks
4k
Merge medio
1 d 1 h
PR fusionados (30 d)
31

Descripción

Initial Checks
Description

Per https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#session-management

When a client receives HTTP 404 in response to a request containing an MCP-Session-Id, it MUST start a new session by sending a new InitializeRequest without a session ID attached.

This is not the case with the python client. It just sends a session terminated error in streamable_http.py

Example Code

Python & MCP Python SDK
mcp: 1.22.0
python: 3.14.0

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con src/mcp/client/streamable_http.py alrededor de la línea 277, donde se gestiona una respuesta 404 que contiene un MCP-Session-Id, y compara ese comportamiento con el requisito de gestión de sesiones enlazado en el issue. Sigue el punto de entrada de inicialización del cliente y verifica el comportamiento completado mediante una respuesta 404: el cliente debería enviar una nueva InitializeRequest sin un ID de sesión en lugar de devolver un error session-terminated.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
api
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
70/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.