Mirrors | Staging Environments for AI Agents
The staging environment<br>your agents never had.
The staging environment<br>your agents never had.
Mirrors rebuilds the systems your agents call, then replays real sessions to catch regressions before your users do.<br>Get started →Talk to us
drops into your stack automatically<br>LangChainLangChainLangGraphLangGraphOpenAIOpenAIAnthropicAnthropicClaudeClaude CodeCursorCursorCodexCodexWindsurfWindsurfModelContextProtocolMCP<br>LangChainLangChainLangGraphLangGraphOpenAIOpenAIAnthropicAnthropicClaudeClaude CodeCursorCursorCodexCodexWindsurfWindsurfModelContextProtocolMCP
One past session, replayed in the environment against two versions of the agent. The bad refund happens here instead of in production.<br>replay reportacme-air-support<br>session ›Cancel my Acme Air reservation HQ8ML2 and refund to the original card.<br>agent v1···<br>get_reservation_detailsprovided<br>38ms<br>get_user_detailsmirror db<br>22ms<br>cancel_reservationprovided<br>41ms<br>issue_refundprovided<br>67ms
One $420.00 refund to card ••4242.
agent v2···<br>get_reservation_detailsprovided<br>38ms<br>get_user_detailsmirror db<br>22ms<br>cancel_reservationprovided<br>41ms<br>issue_refundprovided<br>67ms<br>issue_refundprovided<br>64ms
Two refunds. $840.00 to card ••4242.
v2 issued a second refund on order HQ8ML2.<br>Caught in the environment, before deploy. v1 refunded once, v2 refunded twice.
How your environment gets built<br>Start with the files you already have. No waiting on production traffic. The collector keeps the environment in step with production afterward.
YOUR AGENTlive in productionTRACESTHE ENVIRONMENTschema · seed · toolsREPLAYPR CHECKa bad change fails before merge
01Drop in your traces<br>A trace export, agent code, tool code, or docs. Or stream sessions straight from production with the collector.
02Mirrors builds the environment<br>Schema, seed data, and tool behavior mined into a runnable copy of the systems your agent calls, including the internal tools nobody will give you a test instance of. Ready in minutes.
03Test every change against it<br>Replay past sessions on every pull request. A bad refund or a wrong ticket fails in the environment instead of in front of a customer.
Claude CodeCursorVS CodeChatGPTCodexClaude / Desktop<br>Run in your terminalcopy<br>claude mcp add --transport http mirrors https://api.runmirrors.com/mcp<br>Then run /mcp → mirrors → Authenticate via browser.
What changes once your agent has an environment
without an environmentin the environmentA bad refund ships, and a customer finds it first.<br>The bad refund happens in the environment, and never deploys.<br>Reproducing the bug means poking at live production systems.<br>You rerun the exact session against a safe copy of them.<br>Every prompt, tool, or model change is a gamble.<br>Every change is tested against past sessions before it merges.
Start free. Pay for what you replay.<br>Build environments and run your first replays free. Past 60 replay minutes a month it's usage-based, billed by the minute. No seat licenses, no lock-in.
Free<br>Free to start, then pay per minute<br>✓60 replay minutes / mo free<br>✓Then $0.20 / replay-minute<br>✓Build unlimited environments<br>✓CI gate and public /v1 API<br>✓No commitment, cancel anytime<br>$0/mo<br>Get started
Enterprise<br>For teams at scale<br>✓Volume pricing<br>✓SSO and role controls<br>✓Security review<br>✓On-prem / BYOC available<br>Custom pricingContact us
Frequently Asked Questions
How close is the environment to my real systems?▾You check it against your own traffic. The Replay screen diffs each recorded production call against its counterpart in the environment, so you can see where the two agree and where they drift before you trust it with a merge gate. Tools rebuilt from real code behave exactly like the real thing; the ones inferred from traces are the ones to read closely.
Does my production data leave my infrastructure?▾The environment runs on invented data. Mirrors learns the shape and behavior of your systems from your traces, then fabricates the values it runs against. Replays hit plausible fake records, so a risky prompt or a shared report never exposes a real customer.
Which frameworks and languages do you support?▾The collector is two lines of code and instruments LangChain, LangGraph, and the OpenAI and Anthropic SDKs automatically. It ships for Python, TypeScript, and Go, and anything else logs traces through one manual call. Evals and the playground attach to your agent script directly. LangGraph works today and more runners are coming.
How is this different from LangSmith or Braintrust?▾They watch and score what your agent already did, in production. Mirrors gives your agent somewhere else to do it: a runnable copy of the systems it calls, including the internal ones nobody will hand you a test instance of. They tell you a refund went wrong. Mirrors is where the wrong refund happens instead. Most teams run both.
My agent talks to internal systems that have no test environment. Does that work?▾That is the case Mirrors is built for. It learns each tool from...