Skip to main content
Glama

MockHero

Synthetic test data API. Generate realistic, relational data for any database schema.

What it does

  • 156 field types across 15+ categories (identity, location, financial, temporal, and more)

  • Relational data — foreign keys just work. Orders reference real user IDs, reviews link to real products. One API call seeds your entire database.

  • 3 input modes — structured schema, plain English prompt, or pre-built templates

  • Auto-locale — add a country enum field and names, emails, phones match each row's nationality. 22 locales supported.

  • JSON, CSV, SQL output — Postgres, MySQL, SQLite dialects

  • Deterministic seeds — same seed + same schema = identical data every time

  • MCP server — use from Claude Desktop, Cursor, Windsurf, or any AI agent

Related MCP server: mock-mcp

Quick start

curl -X POST https://mockhero.dev/api/v1/generate \
  -H "Authorization: Bearer mh_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tables": [
      {
        "name": "users",
        "count": 50,
        "fields": [
          { "name": "id", "type": "uuid" },
          { "name": "name", "type": "full_name" },
          { "name": "email", "type": "email" },
          { "name": "country", "type": "enum", "params": { "values": ["US", "DE", "FR", "JP"] } },
          { "name": "created_at", "type": "datetime" }
        ]
      },
      {
        "name": "orders",
        "count": 200,
        "fields": [
          { "name": "id", "type": "uuid" },
          { "name": "user_id", "type": "ref", "params": { "table": "users", "field": "id" } },
          { "name": "total", "type": "price" },
          { "name": "status", "type": "enum", "params": { "values": ["pending", "shipped", "delivered"] } }
        ]
      }
    ]
  }'

Or use plain English:

curl -X POST https://mockhero.dev/api/v1/generate \
  -H "Authorization: Bearer mh_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "prompt": "50 users with German names and 200 orders linked to them" }'

Templates

Pre-built schemas for common patterns — no schema definition needed:

curl -X POST https://mockhero.dev/api/v1/generate \
  -H "Authorization: Bearer mh_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "template": "ecommerce", "scale": 2, "locale": "de" }'

Available: ecommerce, blog, saas, social

MCP server

Use MockHero from AI agents via the Model Context Protocol.

Hosted remote MCP endpoint for agent-first clients:

https://mockhero.dev/mcp/agent

This endpoint exposes estimate, loginless Polar checkout, checkout status, API key claim, schema detection, templates, and generation tools.

Local stdio MCP server for agents that run npm packages:

npm install -g @mockherodev/mcp-server

See @mockherodev/mcp-server for setup instructions.

Pricing

Free

Pro

Scale

Daily records

500

100,000

1,000,000

Requests/min

10

60

200

Price

$0

$29/mo

$79/mo

Tech stack

  • Next.js 15 (App Router)

  • Supabase (Postgres)

  • Clerk (Auth)

  • Polar (Billing)

  • Tailwind v4

License

MIT

Available Tools

5 tools
detect_schemaAInspect

Convert an existing database schema or JSON sample into MockHero's schema format.

Send a SQL CREATE TABLE statement and get back the structured schema ready to use with generate_test_data. Or send a sample JSON record and MockHero will infer the field types.

This is useful when you have migration files or an existing database and want to generate test data that matches your schema without manually writing the definition.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlNoSQL CREATE TABLE statement(s) to convert
sample_jsonNoExample JSON record to infer schema from

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It fails to mention side effects, auth requirements, or whether the operation is read-only or destructive. For a tool that processes input and returns a schema, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three paragraphs, but the first sentence captures the core. The rest provides useful context without excessive verbosity. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and full parameter descriptions, the description adequately explains the two input modes and use case. However, it lacks details on output format, error handling, or limitations, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description adds meaning by explaining that sql converts CREATE TABLE statements and sample_json infers types, going beyond the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it converts an existing database schema or JSON sample into MockHero's schema format. It specifies the verb 'Convert' and the resource, distinguishing it from siblings like generate_test_data or list_field_types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: when you have migration files or an existing database and want to generate test data. It provides context but does not explicitly state when not to use it, though the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_from_templateAInspect

Generate test data using a pre-built schema template.

Pick a template (ecommerce, blog, saas, social) and optionally adjust the scale, locale, format, and seed. The template handles all the table definitions, field types, and foreign key relationships for you.

Scale multiplier: 1.0 = default counts, 2.0 = double, 0.5 = half. Example: ecommerce template at scale 2.0 generates 100 users, 200 products, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
templateYesTemplate name
scaleNoScale multiplier for record counts (default 1.0)
localeNoDefault locale (en, de, fr, es, etc.)
formatNoOutput formatjson
sql_dialectNoSQL dialect (only when format=sql)
seedNoSeed for reproducible output

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description explains key behaviors: template handles table definitions, relationships, scale multiplier effect, and seed for reproducibility. It does not mention potential side effects or authorization, but the generative nature implies non-destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3 sentences plus examples) and front-loaded with the core purpose. It uses a clear structure with an introductory sentence, optional parameters list, and an illustrative example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters and no output schema, the description covers templates, scale, locale, format, sql_dialect, and seed adequately. It could explicitly state what the tool returns (e.g., generated data in chosen format), but the format parameter hints at this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 6 parameters have schema descriptions (100% coverage). The description adds context beyond the schema, such as scale multiplier meaning, locale as default, and sql_dialect only for format=sql, enhancing understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates test data using pre-built schema templates, listing specific templates (ecommerce, blog, saas, social). This distinguishes it from sibling tools like generate_test_data (which likely requires custom schemas).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on when to use the tool (by picking a template and optionally adjusting scale, locale, etc.) and includes an example. However, it lacks explicit when-not-to-use context or direct comparison with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_test_dataAInspect

Generate realistic test data for database tables.

Send either a structured schema (tables with fields) or a plain English description. Supports relational data with foreign keys, locale-aware names and addresses, 22 locales, 157 field types, and multiple output formats (JSON, CSV, SQL).

The killer feature: define multiple tables with "ref" fields, and all foreign key relationships are correct — orders reference real user IDs, reviews link to real products. One call seeds your entire database.

Auto-locale: add a "country" field as an enum with country codes (DE, FR, US, etc.) and names, emails, phones automatically match each row's nationality.

ParametersJSON Schema
NameRequiredDescriptionDefault
tablesNoStructured schema — array of table definitions
promptNoPlain English description (e.g. "50 users with German names and 200 orders linked to them")
formatNoOutput formatjson
sql_dialectNoSQL dialect (only when format=sql)
localeNoDefault locale (en, de, fr, es, ja, etc.). Auto-detected from country field if present.
seedNoSeed for reproducible output. Same seed + same schema = identical data.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses key behaviors: supports foreign key relationships across tables, auto-locale via country field, multiple output formats, and reproducibility via seed. These are beyond the input schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise and front-loaded: first sentence states purpose, then bullet-like details on features. No wasted words; every sentence adds value. Well-structured for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers input modes, relational data, locales, formats, and reproducibility. Missing explicit description of output structure (since no output schema), but mentions formats (JSON, CSV, SQL) which implies the output content. Slightly incomplete, but overall sufficient for a generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds limited new meaning per parameter. It reiterates the two modes and adds context on auto-locale and seeding, but most parameter semantics are already in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates realistic test data for database tables, and highlights two input modes (structured schema or plain English). It distinguishes from siblings like detect_schema (schema detection) and list_field_types (type listing) by focusing on generation with relational integrity and locales.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use this tool: to generate test data from a schema or plain description. It implies generating from scratch vs. using templates (generate_from_template), but doesn't explicitly contrast with siblings. Clear guidance on input modes is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_field_typesAInspect

List all 157 available field types for test data generation.

Returns every supported type organized by category (Identity, Location, Financial, Temporal, Technical, Content, Logic, Social, HR, Ecommerce, Security, AI/ML, Healthcare, Edge Cases, Special) with descriptions, parameters, and examples.

Use this to discover what types are available before building a schema.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It accurately describes a read-only listing operation with no side effects or special behaviors. The lack of parameters reduces risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences front-load the main purpose, provide detailed structure, and offer usage guidance. Every sentence adds value with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no output schema, and a simple listing task, the description is fully complete. It covers purpose, content, and usage context without gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and schema description coverage is 100%. The description does not need to add parameter info, achieving the baseline score for this case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all 157 field types for test data generation, organized by category with descriptions, parameters, and examples. This distinguishes it from sibling tools like 'list_templates' which list templates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Use this to discover what types are available before building a schema.' While it doesn't mention alternatives or when not to use, the context is clear and sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_templatesAInspect

List pre-built schema templates for common application patterns.

Available templates:

  • ecommerce: Customers, products, orders, order items, reviews (5 tables)

  • blog: Authors, posts, comments, tags, post_tags (5 tables)

  • saas: Organizations, members, subscriptions, invoices (4 tables)

  • social: Users, posts, likes, follows, messages (5 tables)

Each template includes realistic field types, proper foreign key relationships, weighted enum distributions, and auto-locale detection via country fields.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that templates include realistic field types, foreign keys, weighted enums, and locale detection, giving useful behavioral context beyond just listing names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise: one opening sentence, then a bullet list of templates. No extraneous words, front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description compensates by detailing what each template contains (table names, counts, features). It is sufficient for an agent to understand what will be returned, though the exact response format is not specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters, so schema coverage is 100%. Baseline 4 applies; description does not need to add parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists pre-built schema templates for common application patterns. It explicitly names four templates with their table counts, which distinguishes it from sibling tools like detect_schema or generate_from_template.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this to see available templates before using generate_from_template. It provides clear context but does not explicitly state when not to use or contrast with siblings, though the purpose is inherently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.0
    • First observeddetect_schema
    • First observedgenerate_from_template
    • First observedgenerate_test_data
    • First observedlist_field_types
    • First observedlist_templates

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: schema detection, template-based generation, custom generation, field type listing, and template listing. No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, with 'generate' and 'list' verbs used unambiguously.

Tool Count5/5

5 tools is ideal for this server's scope—covering schema conversion, two generation methods, and two discovery tools without being too few or too many.

Completeness5/5

The tool set covers the full workflow: schema detection, template-based generation, custom generation, and resource discovery, with no obvious gaps for the stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Generates realistic mock data using Faker.js for database seeding, API testing, and development environments. Supports person/company data, custom patterns, multi-locale generation, and structured datasets with referential integrity.
    4
    55
    7
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Generates realistic, referentially-coherent test data (SQL INSERTs, JSON, or CSV) from your database schema, resolving foreign keys and respecting constraints. Paste CREATE TABLE DDL or a JSON schema and get ready-to-run seed data with valid relationships.
    2
    87
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dinosaur24/mockhero'

If you have feedback or need assistance with the MCP directory API, please join our Discord server