Skip to main content
Glama
FixtureForge

SeedWeaver

by FixtureForge

SeedWeaver 🌱

Generate realistic, referentially-coherent test data from your real database schema — straight from Claude, Cursor, or any MCP client.

Paste your CREATE TABLE SQL (or a JSON schema) and SeedWeaver generates seed data where foreign keys actually resolve to real primary keys, unique constraints are respected, and values are realistic (names, emails, dates, decimals). Unlike generic mock-data tools that spit out statistically random junk, SeedWeaver understands the relationships in your schema.

Ask your AI: "Generate 50 users and 200 orders for this schema" — and get INSERTs you can run immediately, with every order.user_id pointing at a user that exists.


Why SeedWeaver

Most "fake data" tools (Faker wrappers, random generators) give you isolated rows with no awareness of your schema. The moment you have foreign keys, you're back to hand-wiring relationships. SeedWeaver:

  • Resolves foreign keys — referenced tables are generated first (topological ordering), and FK columns point at real generated keys.

  • Respects constraints — unique columns stay unique, primary keys are unique, NOT NULL is honored.

  • Reads your real schema — paste Postgres/MySQL CREATE TABLE DDL directly, no manual config.

  • Realistic values — names, emails, addresses, companies, dates, decimals, enums.

  • Outputs what you need — SQL INSERT statements, JSON, or CSV.

Related MCP server: mockhero

Install

npx -y seedweaver-mcp

Add to your MCP client config (Claude Desktop / Cursor / Windsurf):

{
  "mcpServers": {
    "seedweaver": {
      "command": "npx",
      "args": ["-y", "seedweaver-mcp"]
    }
  }
}

Tools

Tool

What it does

analyze_schema

Parse a schema (SQL DDL or JSON) and report tables, columns, relationships, and generation order. Run this first to confirm SeedWeaver reads your schema correctly.

generate_seed_data

Generate coherent test data. Returns SQL INSERTs (default), JSON, or CSV.

Examples

From SQL DDL:

Generate 20 rows of test data for:

CREATE TABLE users (
  id UUID PRIMARY KEY,
  email VARCHAR(255) UNIQUE NOT NULL,
  full_name VARCHAR(100),
  created_at TIMESTAMP
);
CREATE TABLE orders (
  id SERIAL PRIMARY KEY,
  user_id UUID NOT NULL REFERENCES users(id),
  total DECIMAL(10,2),
  status VARCHAR(20)
);

Every generated orders.user_id will be a real users.id.

From a JSON schema (gives you fine control — enums, ranges, per-table row counts):

{
  "tables": [
    {
      "name": "users",
      "rows": 20,
      "columns": [
        { "name": "id", "type": "uuid", "primaryKey": true },
        { "name": "email", "type": "email", "unique": true },
        { "name": "name", "type": "fullName" }
      ]
    },
    {
      "name": "orders",
      "rows": 80,
      "columns": [
        { "name": "id", "type": "serial", "primaryKey": true },
        { "name": "user_id", "type": "fk", "references": "users.id" },
        { "name": "total", "type": "decimal", "min": 5, "max": 500 },
        { "name": "status", "type": "enum", "values": ["pending", "paid", "shipped"] }
      ]
    }
  ]
}

Supported column types: uuid, serial, int, decimal, boolean, email, fullName, firstName, lastName, username, phone, address, city, country, company, url, word, sentence, paragraph, date, datetime, enum, fk.


Free vs. Pro

The free tier is fully functional for small schemas. Pro removes the limits and adds the features you need for real projects and CI.

Free

Pro

Tables per schema

2

Unlimited

Rows per table

50

Unlimited

Output formats

SQL, JSON

+ CSV

Deterministic seeds (reproducible data)

—

✓

Custom locales

—

✓

Use in CI / automation

—

✓

→ Get SeedWeaver Pro — $19/mo

Activate by setting your license key:

{
  "mcpServers": {
    "seedweaver": {
      "command": "npx",
      "args": ["-y", "seedweaver-mcp"],
      "env": { "SEEDWEAVER_LICENSE": "your-key-here" }
    }
  }
}

License

The SeedWeaver MCP server is MIT licensed and free to run. Pro features are unlocked with a paid license key. Built with the Model Context Protocol.

Available Tools

2 tools
analyze_schemaA

Parse a database schema (SQL CREATE TABLE statements or a JSON schema) and report its tables, columns, relationships, and the order seed data would be generated in. Use this first to confirm SeedWeaver understands the schema correctly.

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaYesThe schema to analyze: either raw SQL DDL (CREATE TABLE ...) or a JSON schema object with a 'tables' array.

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the tool parses and reports, implying read-only behavior, but does not explicitly mention lack of side effects, authentication needs, or rate limits. The output content is described at a high level.

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?

Two sentences with zero waste. The first sentence concisely states the action and scope, the second provides clear usage guidance.

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 one parameter with good schema coverage and no output schema, the description outlines what the tool outputs (tables, columns, relationships, seed order) but lacks details on the return format or structure. It is mostly complete for a simple analysis tool.

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 description coverage is 100% for the single parameter, and the description adds context about acceptable formats (SQL DDL or JSON schema with 'tables' array), which is already in the schema. The description also explains what the tool reports, which goes beyond the parameter schema.

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 parses a database schema and reports tables, columns, relationships, and seed data order. It distinguishes from the sibling tool 'generate_seed_data' by noting it is used first to confirm understanding.

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 says 'Use this first to confirm SeedWeaver understands the schema correctly,' indicating it should precede generate_seed_data. However, it does not discuss when not to use it or provide alternatives beyond the implied sequence.

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

generate_seed_dataA

Generate realistic, referentially-coherent test data from a database schema. Foreign keys resolve to real generated primary keys, unique constraints are respected, and values are realistic (names, emails, dates). Accepts SQL DDL or a JSON schema. Returns INSERT statements, JSON, or CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsNoDefault rows per table (individual tables can override via 'rows' in JSON schema). Defaults to 10.
seedNoDeterministic seed for reproducible output. Pro feature.
formatNoOutput format. 'sql' (INSERT statements, default), 'json', or 'csv'. CSV is a Pro feature.
schemaYesSQL DDL (CREATE TABLE ...) or a JSON schema with a 'tables' array.

TDQS

A4.4/5.0
Behavior4/5

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

Without annotations, the description bears full burden for behavioral disclosure. It effectively communicates key behaviors: generating realistic data, respecting constraints, and supporting multiple output formats. It also notes Pro features (seed, CSV). However, it does not discuss error handling or limitations.

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 highly concise, comprising three focused sentences. It front-loads the primary purpose, then explains features, and finally specifies input/output options. No wasted words.

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 4 parameters (100% schema coverage) and no output schema, the description provides sufficient context: input types, output formats, and core behavioral guarantees. It lacks mention of error conditions but is otherwise complete for its intended use case.

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%, providing detailed parameter descriptions. The tool description adds value by noting defaults (rows=10), Pro features (seed, CSV), and the schema input format. This extra context elevates the score above baseline 3.

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's purpose: generating realistic, referentially-coherent test data. It specifies key features (foreign key resolution, unique constraints, realistic values) and distinguishes itself from the sibling tool 'analyze_schema' by focusing on data generation.

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 the tool (generating test data from a schema) and mentions input options (SQL DDL or JSON schema) and output formats. However, it does not explicitly state when not to use it or provide direct comparison with the sibling tool, leaving some ambiguity.

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. 2 tool updatesv0.2.0
    • First observedanalyze_schema
    • First observedgenerate_seed_data

TDQS

A4.3/5.0
Disambiguation5/5

The two tools have entirely distinct purposes: one for analyzing/validating schema understanding, the other for generating data. No overlap or ambiguity.

Naming Consistency5/5

Both tools follow the consistent verb_noun pattern (analyze_schema, generate_seed_data), making their actions and targets clear.

Tool Count3/5

With only 2 tools, the server is minimal but still covers its core purpose. It could benefit from a few more tools (e.g., configuration, validation), but the count is acceptable for a focused utility.

Completeness4/5

The tool surface covers the essential workflow: analyze schema, then generate data. Minor gaps like customizing data types or revalidating are absent but not critical for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

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/FixtureForge/seedweaver-mcp'

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