docs

Personas & Blueprints

A persona is a fictional identity with a coherent life story. A blueprint is the concrete data that persona generates across all surfaces — database rows, API responses, MCP tool outputs.

Pre-built personas ship as JSON files and work offline without LLM calls. Custom personas are generated by the Blueprint Engine (Pro), which uses an LLM to create a coherent persona then a deterministic expander to produce consistent data across all configured surfaces.

Pre-built personas ship free with every install. No API keys or LLM calls needed. Just `mimic seed --persona finance-alex` and go.

Available pre-built personas

PersonaDomainDescription
finance-alexFintech32, fintech PM, $85K, 3 bank accounts, active trader, Jira power user
freelancer-mayaFreelance28, freelance designer, multi-currency income, Stripe/PayPal/invoicing
college-studentEducation20, college junior, part-time work, student loans, budgeting

Adapters

Adapters are Mimic’s plugin system. There are two types:

Database adapters connect to real databases and seed them with persona data. They implement DatabaseAdapter with seed() and clean() methods.

API mock adapters register Fastify routes that simulate real API endpoints. They implement ApiMockAdapter with registerRoutes() and getEndpoints() methods.

Mock Server

The mock server is a Fastify instance that:

  1. Loads all configured adapters from mimic.json
  2. Calls each adapter’s registerRoutes() to mount route handlers
  3. Serves HTTP requests, routing by path prefix to the correct adapter
  4. Provides CORS headers for browser-based agent testing

State Store

The state store is a per-adapter in-memory key-value store that holds seeded data during a mock server session.

MethodDescription
set(collection, id, data)Store a record
get(collection, id)Retrieve by ID
list(collection)List all records in a collection
filter(collection, predicate)Query records by predicate function
update(collection, id, partial)Partial update a record
delete(collection, id)Remove a record

The state store resets when the server restarts. For stateful testing across sessions, the Pro tier offers session persistence.