[BUG] Figma Desktop MCP HTTP connection fails with "No session found for sessionId

Resolved 💬 3 comments Opened Dec 27, 2025 by credovik Closed Feb 27, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Claude Code - Figma MCP HTTP Connection Issue

Summary

Claude Code fails to establish a session with the Figma Desktop MCP server over HTTP transport, despite the server functioning correctly with other clients.

Environment

  • Claude Code Version: 2.0.76
  • OS: macOS 26.2 (Build 25C56)
  • Figma Desktop Version: 125.11.6
  • FigmaAgent Version: 125.11.6
  • MCP Server: Figma Dev Mode MCP Server v1.0.0 (HTTP transport)
  • Server URL: http://127.0.0.1:3845/mcp

Configuration

MCP server configured in ~/.claude.json:

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

Issue Description

When Claude Code attempts to call Figma MCP tools (e.g., get_design_context, get_screenshot), all requests fail with:

Streamable HTTP error: Error POSTing to endpoint: {"jsonrpc":"2.0","error":{"code":-32002,"message":"No session found for sessionId"},"id":null}

Expected Behavior

Claude Code should successfully initialize a session with the Figma MCP server and be able to call tools.

Actual Behavior

  • claude mcp list shows: figma-desktop: http://127.0.0.1:3845/mcp (HTTP) - ✓ Connected
  • All tool calls fail with "No session found for sessionId"

Root Cause Analysis

1. The MCP Server Works Correctly

Testing with curl confirms the server responds properly when correct headers are provided:

curl -s -X POST http://127.0.0.1:3845/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":"test123","method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}'

Response: Successfully initializes and returns server capabilities.

2. Missing Accept Headers

Without the proper Accept header:

curl -s -X POST http://127.0.0.1:3845/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":"test123","method":"initialize",...}'

Response:

{"jsonrpc":"2.0","error":{"code":-32000,"message":"Not Acceptable: Client must accept both application/json and text/event-stream"},"id":null}

3. Other Clients Work

JetBrains WebStorm successfully connects to the same MCP server (verified in logs at ~/Library/Logs/JetBrains/WebStorm2025.3/mcp/figma-desktop.log).

Hypothesis

Claude Code's HTTP MCP client may not be sending the required Accept: application/json, text/event-stream header, or is not properly handling the streaming response format required by the Figma MCP server.

Steps to Reproduce

  1. Install Figma Desktop (version 125.11.6)
  2. Configure Figma Desktop MCP server in ~/.claude.json:

``json
"mcpServers": {
"figma-desktop": {
"type": "http",
"url": "http://127.0.0.1:3845/mcp"
}
}
``

  1. Open Figma Desktop with a design file
  2. Run claude mcp list - shows as "Connected"
  3. Attempt to use any Figma MCP tool (e.g., mcp__figma-desktop__get_screenshot)
  4. Observe "No session found for sessionId" error

Additional Context

  • The Figma MCP server uses SSE (Server-Sent Events) for responses, indicated by the requirement for text/event-stream in the Accept header
  • The error occurs consistently across all Figma MCP tool invocations
  • Server process is confirmed running (PID 16020: /Users/v/Library/Application Support/Figma/FigmaAgent.app/Contents/MacOS/figma_agent)

Suggested Fix

Update the HTTP MCP client implementation to:

  1. Always include Accept: application/json, text/event-stream header for HTTP MCP requests
  2. Properly handle SSE/streaming responses from HTTP MCP servers
  3. Ensure session initialization occurs before tool calls

Logs

Server is listening correctly:

$ lsof -i :3845
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Figma   48537    v   62u  IPv4 0x5867ecbed94539c8      0t0  TCP localhost:v-one-spp (LISTEN)

---

Note: This issue prevents Claude Code from integrating with Figma's official MCP server, which is a core use case for design-to-code workflows.

What Should Happen?

Claude Code should successfully connect to the Figma Desktop MCP server and execute tools like get_design_context, get_screenshot, etc. when the file is open in Figma Desktop.

Error Messages/Logs

Streamable HTTP error: Error POSTing to endpoint: {"jsonrpc":"2.0","error":{"code":-32002,"message":"No session found for sessionId"},"id":null}

Steps to Reproduce

  1. Install Figma Desktop (version 125.11.6)
  2. Add this configuration to ~/.claude.json:

```json
"mcpServers": {
"figma-desktop": {
"type": "http",
"url": "http://127.0.0.1:3845/mcp"
}
}

  1. Open Figma Desktop and load any design file
  2. Navigate to a specific node (e.g., node-id=10784:20084)
  3. Run claude mcp list - confirms server shows as "✓ Connected"
  4. Try to use any Figma MCP tool via Claude Code:
  • Example: Call mcp__figma-desktop__get_screenshot with nodeId parameter
  1. Observe the "No session found for sessionId" error

Root Cause: Testing with curl reveals the MCP server requires Accept: application/json, text/event-stream header. Claude Code appears to not send this header, preventing session initialization.

Proof server works:
curl -X POST http://127.0.0.1:3845/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":"test","method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
# Returns successful initialization

Claude Model

Sonnet (default)

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.0.76 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Additional Context:

  • JetBrains WebStorm successfully connects to the same Figma MCP server (verified in logs)
  • Server process confirmed running: lsof -i :3845 shows Figma listening on port
  • Figma MCP server uses SSE (Server-Sent Events), requiring the text/event-stream Accept header
  • This blocks a critical design-to-code workflow for Figma integration

Technical Details:

  • FigmaAgent Version: 125.11.6
  • MCP Server: Figma Dev Mode MCP Server v1.0.0
  • Server URL: http://127.0.0.1:3845/mcp
  • Transport: HTTP with SSE

Suggested Fix:
Update Claude Code's HTTP MCP client to always include Accept: application/json, text/event-stream header for proper SSE support.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗