SeedBase Test Data

Generate realistic, FK-consistent synthetic test data for your databases from your AI assistant.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
88%
Naming quality
100%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (1)

  • LOWTool 'fetch_generation' suggests web access but openWorldHint=falsein fetch_generation

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,284Tokens (tool definitions)
~1.8 KBTypical response size
Moderate attention impact (1.00% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "seedbase": {
      "command": "npx",
      "args": [
        "@seedbase/client"
      ]
    }
  }
}

Runnable packages

npm@seedbase/client0.2.2stdio

Remote endpoints

https://seedba.se/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_projects

List your SeedBase projects (id, name, database type). Use this first to find the project to work with.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "projects": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "db_type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "db_type"
        ]
      }
    }
  },
  "required": [
    "projects"
  ]
}
🟢get_ddl(project, dialect)

Get a project's schema as CREATE TABLE statements. Accepts a project id or name and an optional SQL dialect (postgresql, mysql, sqlite, mssql).

Input Schema

{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project id (UUID) or project name"
    },
    "dialect": {
      "type": "string",
      "enum": [
        "postgresql",
        "mysql",
        "sqlite",
        "mssql"
      ],
      "description": "SQL dialect for the DDL (default: the project's database type)"
    }
  },
  "required": [
    "project"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ddl": {
      "type": "string"
    },
    "dialect": {
      "type": "string"
    }
  },
  "required": [
    "ddl",
    "dialect"
  ]
}
🟡generate_test_data(project, rows, seed)

Generate a fresh synthetic dataset for a project and return it as SQL INSERT statements. Optionally set rows per table. The data is foreign-key consistent.

Input Schema

{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project id (UUID) or project name"
    },
    "rows": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows per table (optional; plan limits apply)"
    },
    "seed": {
      "type": "integer",
      "description": "Seed for deterministic output (optional)"
    }
  },
  "required": [
    "project"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "completed",
        "running"
      ]
    },
    "generation_id": {
      "type": "string"
    },
    "sql": {
      "type": "string",
      "description": "Complete SQL INSERTs. Absent when the result is too large — download it from download_url instead; no partial SQL is ever returned."
    },
    "truncated": {
      "type": "boolean",
      "description": "True when the SQL was too large to inline. The response then contains NO sql; fetch the complete file from download_url."
    },
    "download_url": {
      "type": "string",
      "description": "Authenticated download endpoint for the complete SQL (send your API key as 'Authorization: Bearer …')."
    },
    "sql_chars": {
      "type": "integer"
    }
  },
  "required": [
    "status",
    "generation_id"
  ]
}
🟢fetch_generation(generation_id)

Fetch a previously started generation by id: returns its status, and the SQL INSERT statements once completed. Use this when generate_test_data reported the generation as still running.

Input Schema

{
  "type": "object",
  "properties": {
    "generation_id": {
      "type": "string",
      "description": "The generation id (UUID) reported by generate_test_data"
    }
  },
  "required": [
    "generation_id"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "completed",
        "running"
      ]
    },
    "generation_id": {
      "type": "string"
    },
    "sql": {
      "type": "string",
      "description": "Complete SQL INSERTs. Absent when the result is too large — download it from download_url instead; no partial SQL is ever returned."
    },
    "truncated": {
      "type": "boolean",
      "description": "True when the SQL was too large to inline. The response then contains NO sql; fetch the complete file from download_url."
    },
    "download_url": {
      "type": "string",
      "description": "Authenticated download endpoint for the complete SQL (send your API key as 'Authorization: Bearer …')."
    },
    "sql_chars": {
      "type": "integer"
    }
  },
  "required": [
    "status",
    "generation_id"
  ]
}
🟡create_project(name, db_type)

Create a new, empty SeedBase project. Use import_schema afterwards to add the schema.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Project name"
    },
    "db_type": {
      "type": "string",
      "enum": [
        "postgresql",
        "mysql",
        "sqlite",
        "mssql"
      ],
      "description": "Target database type (default: postgresql)"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "db_type": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "db_type"
  ]
}
🔴import_schema(project, content, format)

Import a database schema into a project from pasted content: SQL DDL (CREATE TABLE …, raw pg_dump/mysqldump schema output works), SQL INSERT dumps, CSV/TSV, JSON, or ORM model code (Django, Prisma, SQLAlchemy, …). Replaces the project's current schema.

Input Schema

{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project id (UUID) or project name"
    },
    "content": {
      "type": "string",
      "description": "The schema source text (e.g. the DDL)"
    },
    "format": {
      "type": "string",
      "description": "Optional hint: sql, csv, tsv, json, or an ORM name (django, prisma, sqlalchemy, …). Auto-detected when omitted."
    }
  },
  "required": [
    "project",
    "content"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "table_count": {
      "type": "integer"
    },
    "fk_count": {
      "type": "integer"
    },
    "tables": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "table_count",
    "fk_count"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools