Skip to main content
By the end of this page your agent’s real traces are streaming to Mirrors, you have a runnable environment built from them, and your agent is calling its tools instead of production.
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 /mcpmirrorsAuthenticate via browser.
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.
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 (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.
Run your agent normally and traces start streaming. Details per language: Python, TypeScript, Go.
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 (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.
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.

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.