github / github/copilot-cli

Figma Desktop MCP (type:http) is shown as SSE and fails with "SSE error: Non-200 status code (400)

Đang mở
#2,790 1 bình luận 3 reaction 0 người được giao Xem trên GitHub
area:mcp area:networking
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

### 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:

```text
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

1. Open Figma Desktop.
2. Open a Figma Design file, switch to Dev Mode, and enable the desktop MCP server.
3. Add the above server entry to .github/mcp.json.
4. Start a new Copilot CLI session in that workspace.
5. 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
```json
{
"mcpServers": {
"figma-desktop": {
"type": "http",
"url": "http://127.0.0.1:3845/mcp",
"tools": ["*"]
}
}
}
```

Actual status shown in Copilot CLI

```text
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

- Figma local MCP docs: https://developers.figma.com/docs/figma-mcp-server/local-server-installation/
- MCP transports spec: https://modelcontextprotocol.io/specification/2025-03-26/basic/transports
- Possibly related Copilot CLI issue: #1360 (Streamable HTTP error - Session not found)

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.