Copilot CLI 1.0.79-1 fails MCP initialization when `server/discover` returns `-32602`
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
### 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.
Contributor guide
Research direction
Start by tracing the MCP initialization flow that sends the server/discover request, then compare handling of the -32602 response with the tolerated “Method not found” response described here. Done means an unsupported probe no longer aborts initialization and the FastMCP configuration can complete the standard initialize lifecycle.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100