{"repo":"kerlenton/mcpsnoop","free":true,"listed":false,"github":"https://github.com/kerlenton/mcpsnoop","clone":"git clone https://github.com/kerlenton/mcpsnoop.git","description":"Wireshark for MCP. A transparent proxy that shows every real tool call between your AI client and your MCP servers, live in your terminal.","language":"Go","stars":339,"topics":["mcp","model-context-protocol","bubbletea","claude","cli","codex","cursor","debugging","devtools","golang"],"license":"MIT","category":"mcp-servers","readme_excerpt":"Wireshark for MCP. A transparent proxy that shows every real tool call between your AI client and your MCP servers, live in your terminal. The problem The official MCP Inspector connects as its own client, so it never sees what your client (Cursor, Claude Code, Codex) actually sends your server. And anything that waits for a request to arrive can't show the call the model never made, or made with the wrong arguments. When a tool silently isn't called, capabilities don't line up, or a call just hangs, you're left digging through logs and guessing. mcpsnoop sits in the real data path instead. Wrap your server command with it and watch every JSON-RPC frame live, as your real client and server talk. Quick start See it right away, with nothing to set up. To use it for real, wrap your server in your client's MCP config. Everything after -- is the command that normally launches your server. Swap in whatever you already use, like python server.py , npx -y @scope/server , or a compiled binary. On Claude Desktop you don't have to make that edit by hand. wrap finds claude desktop config.json , copies it to claude desktop config.json.mcpsnoop.bak the first time, and rewrites only that one server's entry, so your formatting and every other server are left alone. Inside the rewritten entry the keys come back in alphabetical order. unwrap restores the file, and removes the backup once no server is wrapped any more. Restart Claude Desktop after either, since MCP servers are launched once at ","default_branch":null,"files":null,"tree":[],"storefront":"/r/kerlenton","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kerlenton/mcpsnoop/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}