This guide explains how to configure the MCP Figma server running on Windows to be accessible from Claude Code in WSL2.
The MCP Figma server runs on Windows at 127.0.0.1:3845, but Claude Code in WSL2 cannot access it directly because 127.0.0.1 in WSL refers to WSL's localhost, not Windows' localhost.
The MCP Figma server must be configured to run on 127.0.0.1:3845 (Windows localhost).
netsh interface portproxy show v4tov4netsh interface portproxy delete v4tov4 listenport=3845netsh interface portproxy add v4tov4 listenport=3845 listenaddress=<WSL_IP> connectport=3845 connectaddress=127.0.0.1netsh interface portproxy show v4tov4Expected output:
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
<WSL_IP> 3845 127.0.0.1 3845
netsh advfirewall firewall add rule name="Port 3845 WSL" dir=in action=allow protocol=TCP localport=3845Modify the ~/.claude.json file to use the Windows IP address:
{
"mcpServers": {
"figma-dev-mode-mcp-server": {
"type": "sse",
"url": "http://<WSL_IP>:3845/sse"
}
}
}Test-NetConnection -ComputerName <WSL_IP> -Port 3845Expected output:
ComputerName : <WSL_IP>
RemoteAddress : <WSL_IP>
RemotePort : 3845
InterfaceAlias : vEthernet (WSL (Hyper-V firewall))
SourceAddress : <WSL_IP>
TcpTestSucceeded : True
curl http://<WSL_IP>:3845/sse --connect-timeout 5 -vExpected output:
< HTTP/1.1 200 OK
< Content-Type: text/event-stream
< Cache-Control: no-cache, no-transform
< Connection: keep-alive
- MCP Figma Server:
127.0.0.1:3845(Windows) - Network redirection:
<WSL_IP>:3845 → 127.0.0.1:3845 - Windows Firewall: Port 3845 open for WSL
- Claude Code:
http://<WSL_IP>:3845/sse
netstat -an | findstr 3845netsh interface portproxy delete v4tov4 listenport=3845netsh advfirewall firewall delete rule name="Port 3845 WSL"If connection fails:
- Verify that the MCP Figma server is started
- Verify that the network redirection is active
- Verify that Windows firewall allows port 3845
- Restart Claude Code after modifications
- The IP address
<WSL_IP>may vary depending on your WSL2 configuration - This configuration survives Windows restarts
- To permanently remove, use the deletion commands above