MCP stdio handshake times out with Honeybadger MCP server despite valid initialize response

Open 💬 2 comments Opened Mar 17, 2026 by dllopes
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Summary

Codex fails to complete the MCP handshake with the Honeybadger MCP server over stdio.

Codex reports:

MCP startup failed: timed out handshaking with MCP server after 10s

However, the server does respond correctly to initialize when tested manually outside the Codex MCP host.

Environment

  • Codex CLI: 0.114.0
  • Transport: stdio
  • Host OS: macOS
  • Honeybadger MCP server image: ghcr.io/honeybadger-io/honeybadger-mcp-server:latest
  • Docker server version: 29.2.1

MCP config

[mcp_servers.honeybadger]
command = "/Users/<redacted>/.codex/bin/honeybadger_mcp_stdio_bridge.py"
args = []

[mcp_servers.honeybadger.env]
HONEYBADGER_PERSONAL_AUTH_TOKEN = "redacted"
LOG_LEVEL = "error"

What I expected

Codex should connect to the Honeybadger MCP server and list resources/tools normally.

What happened

Codex consistently fails with:

MCP startup failed: timed out handshaking with MCP server after 10s

Important detail

I verified manually that the wrapped server does return a valid MCP initialize response when sent a Content-Length framed request:

Content-Length: 190

{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"logging":{},"tools":{"listChanged":true}},"serverInfo":{"name":"honeybadger-mcp-server","version":"1.0.0"}}}

So the server side appears responsive outside the Codex MCP host.

Additional investigation

  • The Honeybadger MCP server itself appears to use a line-delimited JSON style internally.
  • I added a local bridge that translates between Content-Length framing and line-delimited JSON.
  • The bridge works in direct manual tests.
  • Codex still times out during handshake when trying to use the same bridge via MCP config.

Related issues

These may be related to broader MCP handshake / timeout / protocol compatibility issues in Codex:

  • #5444
  • #5161
  • #6127
  • #5619

Repro steps

  1. Configure the Honeybadger MCP server in Codex via stdio
  2. Restart Codex
  3. Attempt to access MCP resources/tools
  4. Observe timeout during handshake

Notes

I can provide the bridge script and more raw handshake logs if useful.

View original on GitHub ↗

2 Comments

github-actions[bot] contributor · 5 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #13766
  • #14793
  • #13920

Powered by Codex Action

dllopes · 5 months ago

This looks related to #13766, but my case may be a narrower variant.

In my setup, the Honeybadger MCP server does respond correctly to a manual initialize request outside Codex, and I can also reproduce that through a local stdio bridge. The timeout only happens when the Codex MCP host tries to complete the handshake with that same process.

So this may be the same MCP handshake bug family, but with a different server/runtime combination.