Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Generate realistic, FK-consistent synthetic test data for your databases from your AI assistant.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
SEEDBASE_API_KEY, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"seedbase": {
"command": "npx",
"args": [
"-y",
"@seedbase/client"
],
"env": {
"SEEDBASE_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http seedbase https://seedba.se/mcp --header 'Authorization: your-value'claude mcp add seedbase --env SEEDBASE_API_KEY=your-value -- npx -y @seedbase/clientFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"seedbase": {
"url": "https://seedba.se/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"seedbase": {
"command": "npx",
"args": [
"-y",
"@seedbase/client"
],
"env": {
"SEEDBASE_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"seedbase": {
"type": "http",
"url": "https://seedba.se/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"seedbase": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@seedbase/client"
],
"env": {
"SEEDBASE_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account marcelglaeser, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: SEEDBASE_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.2.2) reached the registry 5 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Whisper
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
One routable IPv6 per AI agent, verifiable from the DNS root. Keyless tools need no signup.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Generate realistic, relationship-preserving, privacy-safe test data for your databases — and pull it straight into your local or CI database.
Seedbase lives on seedbase.dev: you model (or import) a schema there, generate datasets, and use this package to pull them into Postgres, MySQL, SQLite and more. Schema-aware, foreign-key-correct, reproducible by seed.
This is the Node.js client, a counterpart to the Python SDK.
npm install @seedbase/client
Zero runtime dependencies — pure ESM, built on the native fetch of Node 18+.
import { SeedbaseClient } from "@seedbase/client";
// Token from the argument, $SEEDBASE_TOKEN, or ~/.seedbase/config.json const client = new SeedbaseClient({ token: "dr_sk_..." });
// Trigger a generation and wait for it to finish const gen = await client.generate(projectId, { seed: 42, wait: true });
// Download the result (Uint8Array) const bytes = await client.download(gen.id, { format: "sql" }); import { writeFile } from "node:fs/promises"; await writeFile("dump.sql", bytes);
This package ships seedbase-mcp — a zero-dependency Model Context Protocol server that lets AI assistants generate test data for you. Describe what you need ("fill my Shop project with MySQL test data") and the assistant drives SeedBase end-to-end through five tools:
| Tool | What it does |
|---|---|
list_projects | List your SeedBase projects (id, name, database type) |
create_project | Create a new, empty project |
import_schema | Import a schema from SQL DDL (raw pg_dump --schema-only works), CSV/JSON or ORM model code |
get_ddl | Get a project's schema as CREATE TABLE statements, per dialect |
generate_test_data | Generate a fresh FK-consistent dataset and return it as SQL (large results are written to a local file, never truncated) |
Hosted (zero install) — point any Streamable-HTTP MCP client at https://seedbase.dev/mcp with an Authorization: Bearer dr_sk_... header:
claude mcp add-json seedbase '{"type":"http","url":"https://seedbase.dev/mcp","headers":{"Authorization":"Bearer dr_sk_..."}}'
Local via Claude Code (stdio):
claude mcp add-json seedbase '{"type":"stdio","command":"npx","args":["-y","-p","@seedbase/client","seedbase-mcp"],"env":{"SEEDBASE_API_KEY":"dr_sk_..."}}'
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": { "seedbase": { "command": "npx", "args": ["-y", "-p", "@seedbase/client", "seedbase-mcp"], "env": { "SEEDBASE_API_KEY": "dr_sk_..." } } } }
Create a free account at seedbase.dev/register (no credit card), then create an API key under Settings → API keys. The free tier is enough to generate full, foreign-key-consistent datasets. The server is stdio-only, talks exclusively to https://seedbase.dev, and stores nothing locally.
The token is resolved in this order:
token option passed to the constructor.SEEDBASE_TOKEN environment variable.token field in ~/.seedbase/config.json (written by seedbase login).API keys with the dr_sk_ prefix are sent as Authorization: Bearer ..., other tokens as Authorization: Token .... Get a key at seedbase.dev/settings?tab=api-keys.
new SeedbaseClient({
token, // optional, see resolution order above apiUrl, // default "https://seedbase.dev/api/v1" (https enforced, http only for localhost) configPath, // override ~/.seedbase/config.json requestTimeout, // per-request timeout in ms, default 30000 fetch, // inject a custom fetch (e.g. for tests) });
| Method | Description |
|---|---|
listProjects() | All datasets/projects (paginated, followed automatically). |
getProject(projectId) | A single project. |
listGenerations(projectId) | Generations for a project (paginated). |
getGeneration(generationId) | A single generation. |
generate(projectId, opts) | Trigger a generation. opts: { seed, rows, format, rebaseTo, wait, timeout, pollInterval }. With wait: true it polls until the generation reaches completed/failed/cancelled. |
download(generationId, { format }) | Download the generated artifact as a Uint8Array. format defaults to "sql". |
seededRows(projectId, { seed, rows }) | Generate and return the rows as { tableName: [row, ...] }, in foreign-key-safe order. |
exportConfig(projectId) | The project's engine config as an object. |
importConfig(projectId, config) | Replace the project's engine config. |
All methods are async and return Promises. Failures throw a SeedbaseError (with .statusCode for HTTP errors), carrying a readable message that includes the server's detail or field errors.
import { SeedbaseError } from "@seedbase/client";
try { await client.getProject("missing"); } catch (err) { if (err instanceof SeedbaseError) { console.error(err.statusCode, err.message); } }
Fill a Prisma-managed database with realistic, foreign-key-consistent data, in one call. Your schema must already exist (your prisma migrate owns it); SeedBase only fills it. Free tier.
// prisma/seed.ts
import { PrismaClient } from "@prisma/client"; import { SeedbaseClient } from "@seedbase/client"; import { seedPrisma } from "@seedbase/client/prisma";
const prisma = new PrismaClient(); const client = new SeedbaseClient({ token: process.env.SEEDBASE_TOKEN });
await seedPrisma(prisma, client, { project: process.env.SEEDBASE_PROJECT, seed: 42 });
Then run prisma db seed. A runnable demo (offline, no account) is in examples/prisma-seed-demo.mjs.
MIT licensed.