Summary
When using mcp-chrome-bridge with Opencode Desktop on Windows, the Chrome MCP service itself is healthy and reachable, but tool calls inside Opencode fail with Failed to connect to MCP server.
This appears to be a compatibility issue between Opencode and the mcp-server-stdio.js proxy layer from mcp-chrome-bridge.
Environment
- OS: Windows
- Client: Opencode Desktop
mcp-chrome-bridge: 1.0.31
- Chrome extension shows the local service is running
- Native host registration is successful
Opencode MCP config used
"chrome-mcp": {
"type": "local",
"enabled": true,
"timeout": 20000,
"command": [
"node",
"G:\Users\Y3387\npm-data\npm-global\node_modules\mcp-chrome-bridge\dist\mcp\mcp-server-stdio.js"
]
}
What was verified
1. mcp-chrome-bridge doctor is all green
mcp-chrome-bridge doctor v1.0.31
[OK] Installation: mcp-chrome-bridge@1.0.31, win32-x64, node v22.12.0
[OK] Host files: Wrapper: G:\Users\Y3387\npm-data\npm-global\node_modules\mcp-chrome-bridge\dist\run_host.bat
[OK] Node executable: Using node_path.txt: C:\Program Files\nodejs\node.exe (v22.12.0)
[OK] Chrome manifest: C:\Users\Y3387\AppData\Roaming\Google\Chrome\NativeMessagingHosts\com.chromemcp.nativehost.json
[OK] Chrome registry: Registry entry points to manifest
[OK] Port config: http://127.0.0.1:12306/mcp
[OK] Port constant: NATIVE_SERVER_PORT=12306
[OK] Connectivity: GET http://127.0.0.1:12306/ping -> 200
[OK] Logs: C:\Users\Y3387\AppData\Local\mcp-chrome-bridge\logs
2. Local service is reachable
127.0.0.1:12306 is listening
GET /ping returns 200
GET /mcp responds, e.g.:
{"error":"Invalid or missing MCP session ID for SSE."}
This suggests the HTTP MCP endpoint is alive.
3. Native messaging registration is correct
Manifest exists at:
C:\Users\Y3387\AppData\Roaming\Google\Chrome\NativeMessagingHosts\com.chromemcp.nativehost.json
And points to:
G:\Users\Y3387\npm-data\npm-global\node_modules\mcp-chrome-bridge\dist\run_host.bat
Observed problem in Opencode
Inside Opencode, Chrome MCP tools appear but actual calls fail with:
Error calling tool: Failed to connect to MCP server
Additional evidence from bridge logs
native_host_stderr_windows_.log contains a large number of repeated errors:
Error [ERR_HTTP_HEADERS_SENT]: Cannot write headers after they are sent to the client
at ServerResponse.writeHead (node:_http_server:351:11)
at responseViaResponseObject (...@hono/node-server...)
at async StreamableHTTPServerTransport.handleRequest (...@modelcontextprotocol/sdk...)
at async Object.<anonymous> (...mcp-chrome-bridge/dist/server/index.js:226:17)
This may indicate the stdio proxy / streamable HTTP bridge is mishandling some client requests.
Additional note
I also tested switching Opencode config to direct remote MCP:
"chrome-mcp": {
"type": "remote",
"url": "http://127.0.0.1:12306/mcp",
"enabled": true,
"timeout": 30000
}
But that behaved even worse in Opencode, so I reverted to the local + mcp-server-stdio.js setup.
Question
Is mcp-server-stdio.js expected to work with Opencode Desktop on Windows?
If yes, could the repeated ERR_HTTP_HEADERS_SENT errors indicate a bug in the proxy layer when handling Opencode's initialization / session flow?
If there is a recommended Opencode-specific configuration for Windows, I would appreciate it.
Summary
When using
mcp-chrome-bridgewith Opencode Desktop on Windows, the Chrome MCP service itself is healthy and reachable, but tool calls inside Opencode fail withFailed to connect to MCP server.This appears to be a compatibility issue between Opencode and the
mcp-server-stdio.jsproxy layer frommcp-chrome-bridge.Environment
mcp-chrome-bridge:1.0.31Opencode MCP config used
What was verified
1.
mcp-chrome-bridge doctoris all green2. Local service is reachable
127.0.0.1:12306is listeningGET /pingreturns200GET /mcpresponds, e.g.:{"error":"Invalid or missing MCP session ID for SSE."}This suggests the HTTP MCP endpoint is alive.
3. Native messaging registration is correct
Manifest exists at:
C:\Users\Y3387\AppData\Roaming\Google\Chrome\NativeMessagingHosts\com.chromemcp.nativehost.jsonAnd points to:
G:\Users\Y3387\npm-data\npm-global\node_modules\mcp-chrome-bridge\dist\run_host.batObserved problem in Opencode
Inside Opencode, Chrome MCP tools appear but actual calls fail with:
Additional evidence from bridge logs
native_host_stderr_windows_.logcontains a large number of repeated errors:This may indicate the stdio proxy / streamable HTTP bridge is mishandling some client requests.
Additional note
I also tested switching Opencode config to direct remote MCP:
But that behaved even worse in Opencode, so I reverted to the
local + mcp-server-stdio.jssetup.Question
Is
mcp-server-stdio.jsexpected to work with Opencode Desktop on Windows?If yes, could the repeated
ERR_HTTP_HEADERS_SENTerrors indicate a bug in the proxy layer when handling Opencode's initialization / session flow?If there is a recommended Opencode-specific configuration for Windows, I would appreciate it.