Skip to content

[BUG] Figma app local MCP Server connection failure (Windows native) #5125

Description

@jitterbox

Environment

  • Platform (select one):
    • Anthropic API
    • AWS Bedrock
    • Google Vertex AI
    • Other:
  • Claude CLI version: 1.0.68
  • Operating System: Windows 11
  • Terminal: Windows Terminal (in Cursor)

Bug Description

The Figma desktop app (Windows) runs a local MCP server on port 3845, which I have working and accessible in Cursor via this config:

    "Figma Dev Mode MCP": {
      "url": "http://127.0.0.1:3845/mcp"
    },

In Claude Code, I have the same core config in my .claude.json file, added by the claude mcp add command:

      "mcpServers": {
        "figma": {
          "type": "sse",
          "url": "http://127.0.0.1:3845/mcp"
        }
      }

This fails to connect consistently, with the same errors logged (see below).
I've attempted multiple variations of the MCP server config details.
I've attempted to disable the MCP server in Cursor in case of some kind of interference.

This is Figma's documentation:
https://www.figma.com/blog/introducing-figmas-dev-mode-mcp-server/

Steps to Reproduce

  1. Start Figma app and confirm MCP server is running
  2. Confirm connectivity in Cursor
  3. Optional: Disable Figma MCP server in Cursor (same result)
  4. Start Claude Code in Cursor terminal
  5. MCP server for Figma fails to connect immediately
  6. Perform full troubleshooting session w/ Claude Code (Opus 4) - no suggestions offered

Expected Behavior

MCP server connects

Actual Behavior

MCP server for Figma fails to connect consistently

Additional Context

[
{
"debug": "Starting connection attempt",
"timestamp": "2025-08-05T02:29:45.659Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "No token data found",
"timestamp": "2025-08-05T02:29:45.677Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "SSE Connection error: {"url":"http://127.0.0.1:3845/mcp","error":"SSE error: Non-200 status code (400)","stack":"Error: SSE error: Non-200 status code (400)\n at _eventSource.onerror (file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:17836)\n at pe.KD1 (file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:4969)\n at file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:1808\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}",
"timestamp": "2025-08-05T02:29:45.947Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"error": "Error: SSE error: Non-200 status code (400)\n at _eventSource.onerror (file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:17836)\n at pe.KD1 (file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:4969)\n at file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:1808\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)",
"timestamp": "2025-08-05T02:29:45.949Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "Connection failed: Error: SSE error: Non-200 status code (400)",
"timestamp": "2025-08-05T02:29:45.965Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "Error message: SSE error: Non-200 status code (400)",
"timestamp": "2025-08-05T02:29:45.979Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "Error stack: Error: SSE error: Non-200 status code (400)\n at _eventSource.onerror (file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:17836)\n at pe.KD1 (file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:4969)\n at file:///C:/Users/XXXX/AppData/Roaming/nvm/v22.14.0/node_modules/@anthropic-ai/claude-code/cli.js:1288:1808\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)",
"timestamp": "2025-08-05T02:29:45.993Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"error": "Connection failed: SSE error: Non-200 status code (400)",
"timestamp": "2025-08-05T02:29:46.009Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "Connection attempt completed in 371ms - status: failed",
"timestamp": "2025-08-05T02:29:46.031Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "Starting connection attempt",
"timestamp": "2025-08-05T02:29:46.406Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "Connection attempt completed in 76ms - status: failed",
"timestamp": "2025-08-05T02:29:46.483Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "Starting connection attempt",
"timestamp": "2025-08-05T02:29:48.155Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
},
{
"debug": "Connection attempt completed in 17ms - status: failed",
"timestamp": "2025-08-05T02:29:48.172Z",
"sessionId": "33acec4f-e4d2-437b-a979-33e2221101ea",
"cwd": "C:\XXXX"
}
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:mcpautocloseIssue will be closed automaticallybugSomething isn't workinghas reproHas detailed reproduction stepsplatform:windowsIssue specifically occurs on Windows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions