Skip to main content
The mcp-tap CLI binary sits between any MCP client and server over stdio, transparently intercepting JSON-RPC messages without modifying them.

Usage

With AARM receipt signing:

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.

Python module

The proxy also works as a Python module: