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