LABSCO SUMMARY
For the moment a server "just doesn't work".
MCP failures are usually opaque from inside the client: a tool returns nothing, or the model quietly stops using it, and there is no obvious place to look. Putting a proxy between the two turns that into an ordinary debugging session — you can see the malformed argument, the error the server printed to stderr, and how long each call actually took.
What it is
A proxy and desktop UI for debugging MCP integrations. You either wrap a stdio server's launch command with mcp-reticle run, or point mcp-reticle proxy at an HTTP-based server, and everything crossing the wire becomes inspectable in real time.
What you get
- Raw JSON-RPC messages — requests, notifications and responses — with each request correlated to the response that answered it
- Latency and token estimates per exchange, so an expensive tool shows up as a number rather than a hunch
- Server stderr and crashes captured, instead of vanishing into the client's logs
- Session recording and log export
- Four entry points:
runwraps a stdio server,proxyreverse-proxies an HTTP server,uiopens the desktop app,daemonruns a headless telemetry hub - A log-only mode with
--logwhen you want the capture without the window - Coverage of stdio, Streamable HTTP, WebSocket and HTTP/SSE
Requirements
Install from npm (npm install -g mcp-reticle), PyPI (pip install mcp-reticle) or Homebrew; macOS, Linux and Windows are all listed. Nothing else — it sits in front of a server you already have. One caution from the project itself: recordings capture tool inputs, tool outputs and server stderr, so treat the exports as sensitive artefacts rather than ordinary logs.
Setup effort
One command — npm install -g mcp-reticle
USE CASES
01
Working out why a tool call returns nothing
Wrap the server's command, reproduce the failure, and read the request that was actually sent alongside the response that came back.
02
Finding which server is costing you context
Read the per-message token estimates instead of guessing which integration is inflating every turn.
03
Catching a server that dies on start
Capture stderr and the crash, which the client normally swallows, then read it in the UI or an exported log.
BEFORE YOU INSTALL
What to know first
Requires
npm on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
TERMINAL
npm install -g mcp-reticleMCP Clients
Claude Desktop
CLAUDE DESKTOP · JSON
{
"mcpServers": {
"filesystem": {
"command": "mcp-reticle",
"args": [
"run",
"--name",
"filesystem",
"--",
"npx",
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/<YOUR_USERNAME>/work"
]
}
}
}This is an example that wraps the filesystem server. Everything after "--" is the launch command of the server you want to inspect, and filesystem is that server's name; the block's example inspects the filesystem server. Run mcp-reticle ui to watch the traffic.