Apache 2.0 — open source

Test your
AI agents against
the real world.

Replace every flaky sandbox with one local environment. Mimic mocks your APIs, databases, and MCP servers — drop-in compatible, coherent across surfaces, identical every run.

$ npm install -g @mimicai/cli
See how it works
18 adapters 10 CLI commands 0 external deps at runtime
01 — The problem

Production looks unified.
Testing looks like duct tape.

Your agent talks to Stripe, Plaid, Slack, Postgres. In production, that works. In testing, you stitch sandboxes with inconsistent data, rate limits, and surprise breaking changes.

P—01
"Every sandbox tells a different story."
One persona blueprint generates a coherent world. The Stripe customers, the Plaid accounts, the Postgres rows all align with the same scenario.
P—02
"Third-party sandboxes throttle our CI tests."
Local mocks. Zero network latency. No rate limits. CI runs in seconds, not minutes.
P—03
"Most sandboxes only cover part of the API."
Full surface coverage with realistic, persona-driven test data — not a handful of static fixtures.
P—04
"Sandbox data shifts and tests start failing."
Same persona + same seed = identical environment in every run. Forever.
P—05
"Our MCP servers have no real environment to test against."
Mock MCP servers with realistic tool responses, drop-in compatible with Claude Code, Cursor, and Copilot.
02 — Cross-surface consistency

One blueprint,
one coherent world.

A persona blueprint — a person, a tenant, a startup — expands into a coherent synthetic environment. Rows in Postgres, accounts in Plaid, customers in Stripe, contacts in HubSpot — all telling the same story.

Persona

Alex K.

archetype young-professional
income $85,000 / yr
role fintech PM
activity active trader
seed 42 — deterministic
Postgres
users
idusr_8af1
emailalex.k@…
created2025-11-04
Plaid
accounts
checking$4,182.10
savings$22,400.00
brokerage$58,902.55
Stripe
customer
cus_idcus_Q8a…
active subs2
mrr$48.00
MCP tools
9 live
get_customersok
list_subsok
get_balanceok
One blueprint. One seed. Every surface in agreement. Deterministic, every run, forever.
03 — How it works

Four steps. Four commands.

No SDK. No vendor accounts. No auth tokens. Mimic reads your real schema, generates a persona, seeds your databases, and hosts mock APIs — locally.

01configure

Declare your surfaces

Tell Mimic which databases, APIs, and MCP servers your agent uses. It reads Prisma schemas, SQL DDL, or live introspection.

mimic init
02generate

Expand the persona

An LLM (or pre-built blueprint) generates one coherent persona and expands it into realistic rows for every surface.

mimic run
03seed

Push to databases

FK-aware ordering, atomic transactions, idempotent. Same seed in, same database out — every run, forever.

mimic seed
04host

Mock APIs & MCP

One server per adapter. Auto-detected transport. Drop-in compatible with Claude Code, Cursor, VS Code Copilot.

mimic host
04 — Before / after

From flaky sandboxes
to deterministic environments.

The status quo before

"We have a Stripe sandbox, a Plaid sandbox, a seeded Postgres, and three different fake users that don't agree with each other."

  • Tests fail when sandbox data shifts
  • Rate limits in CI
  • Partial API coverage
  • No story for MCP tools
  • Days of setup per developer

With Mimic after

"One config file. One persona. Every surface — Postgres, Stripe, Plaid, MCP — telling the same coherent story, locally, deterministically."

  • Identical environment in every run
  • Zero network, zero rate limits
  • Full API surface coverage
  • MCP servers per adapter, auto-routed
  • Three commands, ready in 1.4s
05 — Configuration

One JSON file. Run anywhere.

Declare your domain, your personas, your surfaces. Commit it. Your team — and your CI runner — get an identical environment.

Project root mimic.json
// One persona threading every surface
{
  "domain": "fintech agent testing",
  "personas": [
    {
      "name": "finance-alex",
      "blueprint": "young-professional"
    }
  ],
  "databases": {
    "primary": {
      "type": "postgres",
      "url": "$DATABASE_URL",
      "schema": { "source": "prisma" }
    }
  },
  "apis": {
    "stripe": { "enabled": true, "mcp": true },
    "plaid":  { "enabled": true, "mcp": true }
  },
  "generate": { "volume": "6 months", "seed": 42 }
}
CI pipeline .github/workflows/agent.yml
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Start Mimic
        run: |
          npm install -g @mimicai/cli
          mimic run
          mimic seed
          mimic host &

      - name: Run agent tests
        run: npm test
        env:
          STRIPE_API_URL: http://localhost:4101/stripe/v1
          PLAID_API_URL:  http://localhost:4102/plaid

      - name: Cleanup
        if: always()
        run: mimic clean
06 — Adapters

18 adapters today.
100+ on the roadmap.

Every adapter ships as an API mock and an MCP server. Same tool names, same schemas as the real platform — your agent code stays unchanged.

#
Adapter
Package
Category
Status
Don't see what you need? Build an adapter with @mimicai/adapter-sdk — or open an issue.
07 — Flagship example

CFO Agent —
8 platforms, one AI.

A LangGraph supervisor agent that queries 8 billing platforms simultaneously alongside Postgres, through 9 live MCP servers. Next.js chat UI included.

Ready in 1.4 seconds

Stop testing
against theatre.

$ npm install -g @mimicai/cli