Mirrors is available by request: accounts are enabled one at a time rather than
self-serve. If you have not been set up yet, request
access first. Signing in without a granted
account leaves every step below answering
403.How do I set up Mirrors, step by step?
Five steps: connect an MCP client so your AI does the driving, add the collector so real sessions start streaming, then build an environment and point your agent at it, and read your first result. Steps 3 to 5 can be run from your MCP client, the CLI, or the dashboard; they all hit the same backend.1
Install the MCP
Mirrors hosts an MCP server that exposes the full product surface (build, explore, query, and eval environments), so any MCP client can drive it. Point your client at the hosted endpoint; sign-in happens in the browser on first use, no API key to paste.Then run Every other client (Zed, Warp, Goose, Cline, Windsurf, …), the one-click installs, and headless/CI setups with a workspace key are on the MCP server page.
- Claude Code
- Cursor
- VS Code
- ChatGPT
- Codex
- Claude / Desktop
/mcp → mirrors → Authenticate via browser.2
Install the collector
The collector streams your agent’s real production traces to Mirrors, the raw material every environment is built from. First mint a workspace API key (Run your agent normally and traces start streaming. Details per language: Python, TypeScript, Go.
mk_live_…) at runmirrors.com under Settings → API keys, then install the collector and initialize it before your agent runs. It auto-instruments LangChain/LangGraph, Anthropic, and OpenAI, ships traces in the background, and never raises into your app.3
Build your first environment
Turn the collected traces into an environment: a schema, a seeded database, and bound tools, a runnable copy of your agent’s world, scored per tool for fidelity. Ask your MCP client, or use the CLI:You can also build from the dashboard under Set up. Prefer files over a live stream?
mirrors build traces.jsonl --name my-agent ingests a trace log directly.4
Point your agent at it
Your agent does not move. Give it the endpoint, and every tool call goes to the
twin instead of production. Nothing about your framework, your SDK version, or
how your loop is written matters here: it is three HTTP calls.The first call to a cold mirror waits about two minutes while its container
starts.
POST /v1/envs/my-agent/wake warms it without blocking, which is what
you want in a test suite’s setup. Full reference: tool plane.5
Read what it did
Every session keeps a transcript of the calls made in it, in order, with
arguments, latency, and how each tool was answered (The dashboard’s Connect screen has the same thing with a console attached,
so you can call a tool by hand and read exactly what your agent would read.
provided real code,
synthesized generated code, simulated a model). With your agent’s loop on
your own machine, that ledger is our record of what it did.Next steps
How it works
Fidelity scoring, deterministic seeding, sessions, and business context.
MCP server
Every client, one-click installs, and headless setups.
CLI
The
mirrors command: full parity with the web app.Tool plane
The endpoints your agent calls: tools, sessions, transcripts.
