MockForge AI Relational Mock Database & Fixture Generator について
MockForge AIは、開発者やQAチーム向けにスキーマからリレーショナルテストデータを生成します。依存関係に沿ってデータを作り、外部キー整合性を保ちながらメモリ内で動作します。
主な機能
- 01SQLとORMスキーマの解析
- 02依存順に沿ったデータ生成
- 03外部キー整合性の維持
- 04SQL、JSON、CSV、Prisma形式で出力
- 05CLIとSDKによる利用
活用シーン
- 01リレーショナルテストフィクスチャの作成
- 02CIテストデータベースへのデータ投入
- 03SQLスキーマからのデータ生成
MCP 対応
MCPサーバーとして記載されていますが、READMEにはMCPインターフェースや公開するツールの説明がありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🎲 MockForge AI
インテリジェントなブラウザー内リレーショナルモック DB &シードデータ合成ツール
MockForge AI は、驚異的な速度を誇り、クラウドのオーバーヘッドがゼロのリレーショナルモックデータベース兼シードデータ合成ツールです。Kahn のトポロジカル DAG ソーター、ブラウザー内 WebAssembly SQLite エンジン、Gemini 1.5 Flash を活用し、MockForge は完全にインメモリーで、クラウドのコンピューティングコストが発生することなく(VPS コストは $0)、毎秒 88,000 件以上の速度で外部キー整合性を 100% 保った数百万件の合成行を生成します。
リリースをダウンロード • CLI クイックスタート • Python SDK • アーキテクチャ • エンタープライズ機能 • 使用例
⚡ 課題:リレーショナルシードデータの悪夢
開発者や QA エンジニアは、シード用のフィクスチャを手作業で作成するために、何百時間も費やしています。
- 外部キー違反:
usersより先にordersを挿入すると、整合性制約エラーが発生し、統合テストがクラッシュします。 - 劣化するテスト用フィクスチャ:スキーマのマイグレーション(Prisma、Drizzle、Alembic)によって静的な JSON モックが無効になり、手動での更新を余儀なくされます。
- PII とコンプライアンスのリスク:サニタイズ済みの本番データベースをステージング環境にコピーすると、HIPAA、GDPR、SOC 2 に違反することがよくあります。
- クラウドデータベースのコスト:CI/CD ランナーごとにステージングデータベースのインスタンスを用意すると、インフラ費用が膨らみます。
MockForge は、SQL DDL または Prisma スキーマを解析して依存関係の DAG を構築し、CI/CD ランナーやブラウザー内で、一貫性のあるリレーショナルデータを数百万行合成することで、この問題を解決します。
🏛️ アーキテクチャ
MockForge は、外部データベースに依存することなく、完全にクライアント側、または一時的なサーバーレスエッジランタイムで動作します。
flowchart TD
subgraph Inputs["Schema Input Layer"]
DDL["SQL DDL (Postgres / MySQL / SQLite)"]
Prisma["Prisma / Drizzle Schema"]
OpenAPI["OpenAPI / Swagger Spec"]
end
subgraph CoreEngine["MockForge In-Memory Engine (< 88,000 rows/sec)"]
Parser["AST Schema Parser & Foreign Key Graph Builder"]
DAGSorter["Kahn's Topological DAG Sorter\n(Resolves Insertion Hierarchy & Cycles)"]
Generator["Deterministic Synthetic Generator\n(Context-Aware Faker + Gemini 1.5 Flash)"]
WASMDB["In-Memory WebAssembly SQLite Database\n(Real-Time FK & Unique Constraint Validator)"]
end
subgraph Exporters["Multi-Format Exporter Layer"]
SQLExp["SQL INSERT Scripts (.sql)"]
JSONExp["Nested Relational JSON"]
CSVExp["Relational CSV Bundles"]
PyExp["Pytest Fixtures (Python)"]
TSExp["TypeScript / Prisma Seeders"]
end
subgraph ZeroCostEdge["Serverless Edge (api.mockforge.io)"]
CFWorkers["Cloudflare Workers (Headless CI/CD Seed API)"]
end
Inputs --> Parser
Parser --> DAGSorter
DAGSorter --> Generator
Generator --> WASMDB
WASMDB --> SQLExp & JSONExp & CSVExp & PyExp & TSExp
CFWorkers -.->|Headless DDL-to-Seed API| CoreEngine
🚀 クイックスタート
1. CLI クイックスタート
最新リリースからコンパイル済みバイナリをダウンロードするか、npm でインストールしてください。
npm install -g @ritualdev/mockforge
任意の SQL スキーマから、外部キー整合性を保ったリレーショナルレコードを 1,000 件生成します。
mockforge generate ./examples/schema.sql --count 1000 --format sql -o seed.sql
対応する出力形式:--format sql、--format json、--format csv、--format prisma。
2. Python SDK クイックスタート(pip install mockforge)
Pytest のフィクスチャ、Django、SQLAlchemy、自動テストパイプラインに最適です。
from mockforge import RelationalSynthesizer
# Define your schema
schema = """
CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT);
CREATE TABLE orders (id INTEGER PRIMARY KEY, user_id INTEGER REFERENCES users(id), amount REAL);
"""
# Synthesize relational dataset
synthesizer = RelationalSynthesizer()
seed_sql = synthesizer.generate_from_ddl(
schema,
row_counts={"users": 50, "orders": 200}
)
print(seed_sql[:200])
# All foreign keys are guaranteed valid and resolved in topological order!
完全な pytest 統合ガイドについては、examples/pytest_fixtures.pyを参照してください。
3. Node.js / TypeScript SDK
npm install @ritualdev/mockforge
import { MockForgeEngine } from '@ritualdev/mockforge';
const engine = new MockForgeEngine();
const result = await engine.synthesizeFromSql(`
CREATE TABLE customers (id INT PRIMARY KEY, name VARCHAR(100));
CREATE TABLE invoices (id INT PRIMARY KEY, customer_id INT REFERENCES customers(id), total DECIMAL);
`, { count: 500 });
console.log(`Generated ${result.totalRows} rows across ${result.tables.length} tables in ${result.elapsedMs}ms`);
🏢 エンタープライズ機能($50K–$250K ACV の機能)
- 🛡️ 本番データベースのマスキングと匿名化(HIPAA / GDPR / SOC 2):稼働中の Postgres/MySQL 本番データベースからサニタイズ済みスナップショットを MockForge に渡し、外部キーの関係を 100% 維持しながら、実際の顧客名、SSN、クレジットカード番号を整合性のある合成モックデータに置き換えます。
- 🌐 一時的なモック API サーバー(OpenAPI / Swagger / GraphQL):CI/CD テストランナー(GitHub Actions、GitLab CI)内で、メモリ上の HTTP モックサーバーを即座に起動し、クラウドデータベースの起動による遅延なしで、スキーマ定義から動的な REST エンドポイントを提供します。
- 🔄 双方向 ORM マイグレーション同期ツール:Prisma、Drizzle、SQLAlchemy、Django ORM のマイグレーションと直接連携し、git のコミットごとに決定論的なテストフィクスチャを再生成します。
📊 パフォーマンスベンチマーク
- スループット:メモリ上で毎秒 88,000 行以上を生成・検証します。
- 外部キーの正確性:10,000 件を超えるリレーショナルテストの組み合わせで 100% の有効性を実現します。
- インフラコスト:月額 $0.00(VPS $0、クラウドデータベース費用 $0)。
- テスト検証:Node.js、WebAssembly、Python 3.8 以降で 58 件中 58 件のテストに合格しています。
💖 Dodo Payments でのスポンサー支援とサポート
MockForge は RitualDev Lab が開発しています。スポンサー支援は、クライアント側の WebAssembly SQLite/PGlite テストランナー、合成データ生成アルゴリズム、複数の方言に対応したスキーマフィクスチャツールの開発に直接役立てられます。
⚡ Dodo Payments でワンクリック決済 • 🎁 インタラクティブな寄付フォーム(USD と INR UPI) • ❤️ GitHub Sponsors
🔒 物理的な配送は不要です。Dodo Payments(Merchant of Record)が提供し、税務インボイスを即時発行。世界各地の決済方法(カード、UPI、Apple Pay)に対応しています。
🤝 コミュニティとサポート
- 機能リクエストとバグ報告:公開 Issue トラッカーで Issue を作成してください。
- エンタープライズライセンス:複数ユーザー向けのボリュームライセンス、データベースマスキングパイプライン、カスタム ORM 同期ツールについては、
[email protected]までお問い合わせください。 - コア開発:RitualDev Studio が開発・保守しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。