mcp-tap CLI binary sits between any MCP client and server over stdio, transparently intercepting JSON-RPC messages without modifying them.
Usage
CLI flags
Everything after
-- is treated as the MCP server command.
How it works
1
Spawn
Spawns the MCP server as a child process.
2
Forward
Forwards stdin from the client to the server, stdout from the server to the client.
3
Parse
Parses JSON-RPC messages on both pipes.
4
Emit tool events
For
tools/call requests: records the request, matches it with the response, and emits a tool_call event with source: "mcp_proxy".5
Emit lifecycle events
For other MCP lifecycle methods (e.g.,
initialize, tools/list): emits an mcp_lifecycle event.