Copilot CLI 1.0.79-1 fails MCP initialization when `server/discover` returns `-32602`
- Lenguaje dominante
- Shell
- Estrellas
- 11.2k
- Forks
- 1.9k
- Merge medio
- 14 h 16 min
- PR fusionados (30 d)
- 6
Descripción
### Describe the bug
Copilot CLI 1.0.79-1 cannot connect to an MCP server built with FastMCP.
Before MCP initialization completes, the CLI sends a `server/discover` request. FastMCP does not implement this method and returns `-32602 Invalid request parameters`. Copilot treats that response as a fatal lifecycle negotiation error and aborts initialization.
The same server and configuration work without issue in Copilot CLI 1.0.78.
### Affected version
1.0.79-1
### Steps to reproduce the behavior
1. Configure the MCP server as shown in "Additional Context".
2. Start Copilot CLI 1.0.79-1.
3. Observe the CLI sending `server/discover`.
4. FastMCP rejects the unsupported request.
5. Copilot aborts MCP lifecycle negotiation before `initialize` completes.
### Expected behavior
An unsupported optional `server/discover` request should not block normal MCP initialization.
If the server returns an error for the probe, Copilot should continue with the standard `initialize` lifecycle rather than treating the response as fatal.
In particular, this should not depend on the server returning exactly `-32601 Method not found`. FastMCP currently returns `-32602` because the request does not match any supported `ClientRequest` schema.
### Additional context
## MCP configuration
Values have been redacted:
```json
{
"mcpServers": {
"fabric-rti-mcp": {
"command": "uvx",
"args": ["microsoft-fabric-rti-mcp"],
"env": {
"KUSTO_SERVICE_URI": "",
"KUSTO_SERVICE_DEFAULT_DB": "",
"FABRIC_API_BASE": ""
}
}
}
}
```
## More Details
Another MCP implementation returns:
```text
Method 'server/discover' is not available.
```
Copilot tolerates that response and continues initialization.
Guía de contribución
Línea de trabajo
Comienza siguiendo el flujo de inicialización de MCP que envía la solicitud server/discover y, a continuación, compara el tratamiento de la respuesta -32602 con la respuesta tolerada “Method not found” descrita aquí. Se considera terminado cuando una prueba no compatible ya no aborta la inicialización y la configuración de FastMCP puede completar el ciclo de vida estándar de initialize.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- shell
- Área
- cli
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 65/100