RelayOrb

Claude Code MCP servers: add them, then see every tool call

Updated

Claude Code can use any MCP server as a source of tools. This guide shows how to add one, where the configuration is stored, and how to record exactly what Claude Code sends to the server and what comes back.

Add an MCP server to Claude Code

Use claude mcp add with a name, then -- and the command that starts the server. Claude Code launches the server over stdio when a session starts.

Add the filesystem MCP server

claude mcp add fs -- npx -y @modelcontextprotocol/server-filesystem ~/notes
claude mcp list

Where the configuration lives

By default, claude mcp add stores the server for you in your local project scope. Add --scope project to write it to a .mcp.json file at the repository root, which you can commit and share with your team, or --scope user to make it available in every project.

See every tool call Claude Code makes

When Claude Code does something surprising with a tool, you want the exact request and response. Put relayorb record -- in front of the server command. RelayOrb starts the real server, passes every message through unchanged, and records each one to a local SQLite file.

Add the server through RelayOrb

claude mcp add fs -- relayorb record --name fs -- npx -y @modelcontextprotocol/server-filesystem ~/notes

Inspect the session

After you use Claude Code, list the recorded sessions and open the latest one by name. Each line shows the method, tool name, latency, and whether it succeeded or returned a tool error. Add --json to get the full arguments and responses.

Session timeline

$ relayorb show fs
    2.064s  ->  initialize                                 5ms  ok
    2.074s  ->  tools/list                                10ms  ok
    5.842s  ->  tools/call list_directory                  4ms  ok
    8.053s  ->  tools/call read_multiple_files             3ms  ok

Turn a session into a test

Export a good session and commit it. relayorb check re-sends the recorded calls to the server and fails if any answer changed, and relayorb replay stands in for the server so tests run offline.

Regression-check the server

relayorb export fs -o fixtures/fs.json
relayorb check fixtures/fs.json -- npx -y @modelcontextprotocol/server-filesystem ./testdata

Install RelayOrb

Free and open source (Apache-2.0). A single binary for macOS, Linux, and Windows. No account, no cloud, no telemetry.

macOS / Linux

curl -fsSL https://relayorb.com/install.sh | sh

Windows and other options: GitHub Releases.

FAQ

How do I add an MCP server to Claude Code?
Run claude mcp add <name> -- <command> [args...]. Use --scope project to share it through a committed .mcp.json file.
How do I debug an MCP server in Claude Code?
Wrap the server command with relayorb record -- so every request and response is saved, then run relayorb show <name> to see each tool call, its latency, and its result.
Does recording slow Claude Code down?
Barely. RelayOrb forwards each line as soon as it arrives and writes the copy to SQLite on a separate thread.