mcpField
S
SeedBase — Synthetic Test Data

SeedBase — Synthetic Test Data

リモート
seedba.seデータ・分析015 週間前に更新
リポジトリ公式サイト

SeedBase — Synthetic Test Data について

SeedBaseは、データベースプロジェクト向けにスキーマを考慮した再現可能な合成テストデータを生成します。MCPサーバーを介して、AIアシスタントがスキーマの取り込み、DDLの確認、外部キー整合性のあるSQLデータセットの生成を行えます。

主な機能

  1. 01プロジェクトの一覧表示と作成
  2. 02SQL、CSV、JSON、ORMスキーマの取り込み
  3. 03方言別のスキーマDDL取得
  4. 04シード指定可能な外部キー整合データ生成
  5. 05大きな結果をローカルファイルに出力

活用シーン

  1. 01データベーステスト用の現実的なデータ準備
  2. 02既存スキーマのSeedBaseへの取り込み
  3. 03開発やCI向けの再現可能なデータセット生成

MCP 対応

このパッケージには、プロジェクトの一覧・作成、スキーマの取り込み、DDL取得、テストデータ生成を行う5つのツールを備えたMCPサーバーが含まれます。stdioでローカル実行する方法と、ホストされたStreamable-HTTPエンドポイントへの接続方法があります。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://seedba.se/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://seedba.se/mcp認証が必要
パッケージ
npm@seedbase/client0.2.2

ツール

6

このツールにパラメーターはありません。

詳細

Seedbase

@seedbase/client

smithery badge

データベース向けに、現実的で、リレーションシップを維持し、プライバシーに配慮したテストデータを生成し、ローカルまたは CI のデータベースに直接取り込めます。

Seedbase は seedbase.dev で利用できます。そこでスキーマを作成(またはインポート)してデータセットを生成し、このパッケージを使って Postgres、MySQL、SQLite などに取り込みます。スキーマを認識し、外部キーを正しく保ち、シード値によって再現できます。

これは Node.js クライアントで、Python SDK に相当するものです。

インストール

npm install @seedbase/client

実行時の依存関係はゼロです。純粋な ESM で、Node 18 以降のネイティブな fetch を使用しています。

クイックスタート

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);

MCP サーバー(Claude Code、Claude Desktop など)

このパッケージには seedbase-mcp が含まれています。これは依存関係ゼロの Model Context Protocol サーバーで、AI アシスタントがテストデータを生成できるようにします。必要なデータを説明するだけで(「Shop プロジェクトに MySQL のテストデータを入力して」など)、アシスタントが 5 つのツールを通じて SeedBase を最初から最後まで操作します。

ツール機能
list_projectsSeedBase プロジェクト(ID、名前、データベースの種類)を一覧表示します
create_project空の新規プロジェクトを作成します
import_schemaSQL DDL(生の pg_dump --schema-only が使用可能)、CSV/JSON、または ORM モデルコードからスキーマをインポートします
get_ddlプロジェクトのスキーマを、方言ごとの CREATE TABLE 文として取得します
generate_test_data新しい外部キー整合性のあるデータセットを生成し、SQL として返します(大きな結果は切り詰めず、ローカルファイルに書き込みます)

ホスト型(インストール不要) — 任意の Streamable-HTTP MCP クライアントから、 Authorization: Bearer dr_sk_... ヘッダーを指定して https://seedbase.dev/mcp に接続します。

claude mcp add-json seedbase '{"type":"http","url":"https://seedbase.dev/mcp","headers":{"Authorization":"Bearer dr_sk_..."}}'

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_..." }
    }
  }
}

seedbase.dev/register で無料アカウントを作成します(クレジットカード不要)。その後、Settings → API keys から API キーを作成してください。無料プランで、外部キー整合性のある完全なデータセットを生成できます。サーバーは stdio 専用で、https://seedbase.dev とのみ通信し、ローカルには何も保存しません。

認証

トークンは次の順序で解決されます。

  1. コンストラクターに渡された token オプション。
  2. SEEDBASE_TOKEN 環境変数。
  3. ~/.seedbase/config.json の token フィールド(seedbase login によって書き込まれます)。

dr_sk_ プレフィックスの API キーは Authorization: Bearer ... として送信され、それ以外のトークンは Authorization: Token ... として送信されます。キーは seedbase.dev/settings?tab=api-keys で取得できます。

API

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)
});
メソッド説明
listProjects()すべてのデータセット/プロジェクトを取得します(ページネーションに対応し、自動的に続きも取得します)。
getProject(projectId)単一のプロジェクトを取得します。
listGenerations(projectId)プロジェクトの生成結果を取得します(ページネーションに対応)。
getGeneration(generationId)単一の生成結果を取得します。
generate(projectId, opts)生成を開始します。opts:{ seed, rows, format, rebaseTo, wait, timeout, pollInterval }。wait: true の場合、生成結果が completed/failed/cancelled になるまでポーリングします。
download(generationId, { format })生成された成果物を Uint8Array としてダウンロードします。format の既定値は "sql" です。
seededRows(projectId, { seed, rows })行を { tableName: [row, ...] } として生成して返します。順序は外部キーに安全なものです。
exportConfig(projectId)プロジェクトのエンジン設定をオブジェクトとして取得します。
importConfig(projectId, config)プロジェクトのエンジン設定を置き換えます。

すべてのメソッドは非同期で、Promise を返します。失敗すると SeedbaseError(HTTP エラーの場合は .statusCode を含む)がスローされ、サーバーの detail またはフィールドエラーを含む、わかりやすいメッセージが返されます。

import { SeedbaseError } from "@seedbase/client";

try {
  await client.getProject("missing");
} catch (err) {
  if (err instanceof SeedbaseError) {
    console.error(err.statusCode, err.message);
  }
}

Prisma シード

Prisma が管理するデータベースに、外部キーの整合性が保たれた現実的なデータを一度の呼び出しで投入します。スキーマはすでに存在している必要があります(スキーマの管理は prisma migrate が担当します)。SeedBase はデータの投入のみを行います。無料プランがあります。

// 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 });

続いて prisma db seed を実行してください。実行可能なデモ(オフラインで利用でき、アカウントは不要)は examples/prisma-seed-demo.mjs にあります。

リンク

MIT ライセンスです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。