Describe the bug
When I configure Figma Desktop MCP in Copilot CLI as an HTTP MCP server, Copilot CLI shows it as Type: sse and fails to connect with:
SSE error: Non-200 status code (400)
The same endpoint works in Codex CLI with the same URL, and direct protocol probing shows the Figma endpoint is healthy and accepts a normal MCP streamable-HTTP initialize request.
This looks like Copilot CLI is misclassifying or incorrectly negotiating Figma Desktop's streamable-HTTP endpoint.
Affected version
GitHub Copilot CLI 1.0.31
Steps to reproduce the behavior
- Open Figma Desktop.
- Open a Figma Design file, switch to Dev Mode, and enable the desktop MCP server.
- Add the above server entry to .github/mcp.json.
- Start a new Copilot CLI session in that workspace.
- Observe MCP status for figma-desktop.
Expected behavior
Copilot CLI should keep this server as type:http, perform MCP initialize via HTTP POST, and connect successfully.
Additional context
Actual behavior
Copilot CLI surfaces the server as Type: sse and fails with HTTP 400.
Environment
- OS: Windows 11 / Windows_NT
- Figma Desktop local MCP endpoint: http://127.0.0.1:3845/mcp
- Workspace config file: .github/mcp.json
Minimal MCP config
{
"mcpServers": {
"figma-desktop": {
"type": "http",
"url": "http://127.0.0.1:3845/mcp",
"tools": ["*"]
}
}
}
Actual status shown in Copilot CLI
MCP Server: figma-desktop
Type: sse
URL: http://127.0.0.1:3845/mcp
Status: ✗ Failed
Error: SSE error: Non-200 status code (400)
Supporting evidence
A direct probe against the same endpoint succeeds for POST initialize and fails only for GET/SSE-style access:
- POST /mcp with:
- Accept: application/json, text/event-stream
- JSON-RPC initialize request body
- returns:
- HTTP 200
- Content-Type: text/event-stream
- Mcp-Session-Id:
But:
- GET /mcp without a valid MCP session context returns:
- HTTP 400
- {"jsonrpc":"2.0","error":{"code":-32001,"message":"Invalid sessionId"},"id":null}
This suggests the endpoint is a valid streamable-HTTP MCP server and Copilot CLI may be incorrectly taking an SSE fallback path.
Comparison
- The same Figma endpoint works in Codex CLI with the same URL.
- Figma documents the desktop MCP server at http://127.0.0.1:3845/mcp.
References
Describe the bug
When I configure Figma Desktop MCP in Copilot CLI as an HTTP MCP server, Copilot CLI shows it as Type: sse and fails to connect with:
The same endpoint works in Codex CLI with the same URL, and direct protocol probing shows the Figma endpoint is healthy and accepts a normal MCP streamable-HTTP initialize request.
This looks like Copilot CLI is misclassifying or incorrectly negotiating Figma Desktop's streamable-HTTP endpoint.
Affected version
GitHub Copilot CLI 1.0.31
Steps to reproduce the behavior
Expected behavior
Copilot CLI should keep this server as type:http, perform MCP initialize via HTTP POST, and connect successfully.
Additional context
Actual behavior
Copilot CLI surfaces the server as Type: sse and fails with HTTP 400.
Environment
Minimal MCP config
{ "mcpServers": { "figma-desktop": { "type": "http", "url": "http://127.0.0.1:3845/mcp", "tools": ["*"] } } }Actual status shown in Copilot CLI
Supporting evidence
A direct probe against the same endpoint succeeds for POST initialize and fails only for GET/SSE-style access:
But:
This suggests the endpoint is a valid streamable-HTTP MCP server and Copilot CLI may be incorrectly taking an SSE fallback path.
Comparison
References