A Go-based web logging proxy that sits between an MCP client and server (STDIO interface) and shows the bidirectional traffic through a browser UI.
https://github.com/emicklei/mcp-log-proxyEver wondered what's actually happening between your MCP client and server? When your integration breaks, are you stuck adding log statements and guessing at message flow?
mcp-log-proxy puts an end to MCP debugging in the dark. This Go-based proxy sits transparently between your client and server, capturing every message exchange and displaying it through a clean web interface you can view in your browser.
MCP communication happens over STDIO, making it nearly impossible to inspect traffic during development. You're essentially flying blind when building integrations with Claude, debugging connection issues, or optimizing message patterns.
This proxy solves that by giving you complete visibility into:
Working on several MCP integrations simultaneously? The proxy automatically detects port conflicts and assigns different ports to each instance. A simple dropdown in the web UI lets you switch between active proxy sessions - perfect when you're debugging multiple servers or comparing different implementations.
Integration Testing: Proxy your MCP server during Claude integration to see exactly which tools are being called and what responses Claude receives. Catch malformed responses before they break your workflow.
Performance Analysis: Watch message timing to identify slow tool calls or inefficient request patterns. See if your server is handling concurrent requests properly.
Error Diagnosis: When something breaks, see the exact error messages and stack traces in context with the conversation flow. No more hunting through disconnected log files.
Protocol Compliance: Verify your server responses match MCP specifications by inspecting the raw JSON-RPC messages.
Installation takes seconds with Homebrew:
brew tap emicklei/tap
brew install emicklei/tap/mcp-log-proxy
Using it is as simple as wrapping your existing MCP server command:
mcp-log-proxy -command "your-mcp-server --args"
The proxy starts your server as a subprocess and opens a web interface at localhost:5656. Your Claude configuration barely changes - just point it at the proxy instead of your server directly.
Claude Configuration: Drop the proxy into your Claude MCP config with custom titles and ports:
"your-server": {
"command": "/path/to/mcp-log-proxy",
"args": [
"-command", "/path/to/your-server",
"-title", "MyServer Debug",
"-port", "7788"
]
}
CI/CD Integration: Run automated tests through the proxy to capture traffic logs for later analysis. The web interface becomes your test report.
Team Debugging: Share proxy URLs with team members to collaboratively debug integration issues in real-time.
This isn't another heavyweight debugging solution. It's a focused tool that does one thing exceptionally well - making MCP communication visible. Zero configuration, minimal resource usage, and it gets out of your way once it's running.
The proxy handles automatic error logging, graceful subprocess management, and intelligent port selection. You focus on building; it handles the debugging infrastructure.
Ready to stop debugging MCP integrations blindfolded? Install mcp-log-proxy and see exactly what your client and server are saying to each other.