MERN MCP について
MERN MCPは、MERN開発者やAIコーディングワークフロー向けのオープンソースMCPサーバーです。既存コードベースにCRUDリソースを生成し、プレビュー後に適用する手順を備えています。
主な機能
- 01MongoDB、Express、ReactのCRUDファイル生成
- 02プロジェクト構成と技術スタックに応じた設定
- 03書き込み計画のプレビューとハッシュ確認
- 04ExpressおよびReactルートの統合
- 05リソースのフィールド追加と削除
- 06生成リソースのマニフェスト管理
活用シーン
- 01既存のMERNアプリへのCRUD追加
- 02自然言語の説明からリソース項目を生成
- 03管理画面向けフォームと一覧の作成
- 04コード書き込み前の変更計画の確認
MCP 対応
MCPサーバーは、互換クライアント向けにリソースのプレビュー、生成、一覧、拡張、削除ツールを提供します。Claude CodeとCodex CLIに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| mode | enum | いいえ | preview | apply |
| fields | array | いいえ | |
| overrides | object | いいえ | |
| overrides.auth | enum | いいえ | jwt | none |
| overrides.rbac | boolean | いいえ | |
| overrides.language | enum | いいえ | typescript | javascript |
| overrides.structure | enum | いいえ | monorepo | separate |
| overrides.reactStack | enum | いいえ | plain | react-query | redux | axios |
| overrides.validation | enum | いいえ | zod | express-validator | both | none |
| description | string | いいえ | |
| previewHash | string | いいえ | |
| resourceName | string | はい | |
| conflictStrategy | enum | いいえ | abort | overwrite | skip |
詳細

MERN MCP
AI を活用した MERN スタック CRUD スキャフォルダー兼 MCP サーバー
mern-mcp は、既存のコードベース内に MERN スタックの CRUD リソースをスキャフォールドするためのオープンソース Model Context Protocol(MCP)サーバーです。Claude Code と Codex CLI の両方に対応したセットアップ機能を備えています。MongoDB および Mongoose のモデル、Express のサービスとルート、React クライアントモジュールに加え、安全性を高めるプレビュー後に適用するワークフローで、新しいリソースを実際のアプリケーションに組み込むために必要な配線を生成します。
MERN スタック開発向けの MCP サーバー、MongoDB・Express・React・Node.js の CRUD ジェネレーター、Mongoose と Express のボイラープレートジェネレーター、または AI コーディングアシスタントと連携する React 管理画面のスキャフォルダーをお探しなら、このリポジトリはまさにその用途のために作られています。
目次: 役立つ理由 · 生成されるファイル · インストール · 設定 · Claude Code · Codex CLI · Docker · MCP ツール · 例 · プロジェクトのスタイル · 自然言語 · プレビューのワークフロー · 対象ユーザー
このリポジトリが役立つ理由
チームが必要としているのは、たいていの場合、汎用的なコードジェネレーターではありません。プロジェクトを調査し、既存のフォルダー構成に従い、繰り返し使える CRUD の一連の実装を作成し、無計画な書き込みを避けられるローカル MCP ツールです。mern-mcp は、こうした実用的なワークフローに重点を置いています。
Next.js、Node.js、MongoDB 向けの MCP をすでに使っていても、それらのツールは通常、フレームワークやデータベースのレベルで支援します。mern-mcp が役立つのは、モデル、サービス、コントローラー、ルート、バリデーター、クライアント API、フック、フォーム、一覧画面、詳細画面、統合パッチといったリソースの一連のワークフローを、ひとつの場所で扱えるためです。アシスタントに各レイヤーを個別に接続するよう頼む代わりに、開発者は CRUD の一連の実装全体を一度にスキャフォールドし、計画を確認して、より早くビジネスロジックに取りかかれます。これにより、繰り返しのセットアップ作業が減り、統合手順の見落としを防ぎ、日々のフルスタック開発が大幅に楽になります。
次のような場合に特に役立ちます。
- リソーススキーマから MERN の CRUD API と React UI をスキャフォールドする
- Mongoose モデル、Express コントローラー、サービス、ルート、バリデーターを生成する
- React のフォーム、一覧画面、詳細画面、フック、共有型、API モジュールを生成する
- MCP 対応のコーディングアシスタントを使って、自分のリポジトリ内にリソースを作成する
- 適用前にファイル変更をプレビューする
- フィールド追加や削除のワークフローを使って、生成したリソースを継続的に管理する
- モノレポや、サーバーとクライアントが分かれたプロジェクトに対応する
mern-mcpが生成するもの
各リソースについて、mern-mcpは以下を生成できます。
- サーバーのモデルファイル
- サーバーのサービスファイル
- サーバーのコントローラーファイル
- サーバーのルートファイル
- バリデーションが有効な場合のサーバーのバリデーターファイル
- JWT 認証が有効な場合の認証ミドルウェアファイル
- クライアントの共有型定義ファイル
- クライアントの API モジュール
- クライアントのデータフック
- クライアントのフォームコンポーネント
- クライアントのリストコンポーネント
- クライアントの詳細コンポーネント
生成されるパスの例は次のとおりです。
server/models/product.model.ts
server/services/product.service.ts
server/controllers/product.controller.ts
server/routes/product.routes.ts
server/validators/product.validator.ts
client/types/product.types.ts
client/api/product.api.ts
client/hooks/useProduct.ts
client/components/ProductForm.tsx
client/components/ProductList.tsx
client/components/ProductDetail.tsx
プランナーは、対応するパターンを検出した場合、既存ファイルにパッチを適用することもできます。
- サーバーのエントリーファイルに新しい Express ルートをマウントする
- React Router ファイルに新しいルートを登録する
- 検出したストアの構造に対応している場合、Redux ストアにリデューサーを登録する
インストール
npm install
npm run build
コンパイル済みの MCP サーバーを対象の MERN プロジェクトに対して実行します。
node dist/index.js --project-root /absolute/path/to/target-project
ローカルで開発する場合:
npm run dev -- --project-root /absolute/path/to/target-project
設定
対象プロジェクトのルートにmern-mcp.config.jsonを作成します。
React Query を使用するモノレポの TypeScript プロジェクトの例:
{
"structure": "monorepo",
"language": "typescript",
"reactStack": "react-query",
"validation": "zod",
"auth": "none",
"rbac": false,
"paths": {
"serverRoot": "./server",
"clientRoot": "./client",
"serverEntry": "index.ts",
"clientRouter": "router.tsx"
}
}
Redux と JWT 認証を使用する、クライアントアプリとサーバーアプリが分かれた構成の例:
{
"structure": "separate",
"language": "typescript",
"reactStack": "redux",
"validation": "both",
"auth": "jwt",
"paths": {
"serverRoot": "./server",
"clientRoot": "./client",
"modelsDir": "src/models",
"servicesDir": "src/services",
"controllersDir": "src/controllers",
"routesDir": "src/routes",
"validatorsDir": "src/validators",
"middlewareDir": "src/middleware",
"componentsDir": "src/components",
"hooksDir": "src/hooks",
"apiDir": "src/api",
"typesDir": "src/types",
"serverEntry": "src/index.ts",
"clientRouter": "src/router.tsx",
"clientStore": "src/store.ts"
}
}
pathsを使って、すべての成果物のディレクトリを上書きできます。
Claude Code で使う
- このリポジトリの依存関係をインストールしてビルドします。
npm install
npm run build
- スキャフォールドする対象の MERN プロジェクトに
mern-mcp.config.jsonを作成します。 - MCP サーバーを Claude Code に追加します。
claude mcp add mern-mcp -- node /absolute/path/to/mern-mcp/dist/index.js --project-root /absolute/path/to/project
- Claude Code でサーバーが利用可能であることを確認します。
scaffold_resourceを apply モードで使用する前に、preview_scaffoldから始めます。
Codex CLI で使う
- このリポジトリの依存関係をインストールしてビルドします。
npm install
npm run build
- スキャフォールドする対象の MERN プロジェクトに
mern-mcp.config.jsonを作成します。 - MCP サーバーを Codex CLI に追加します。
codex mcp add mern-mcp --command node --args /absolute/path/to/mern-mcp/dist/index.js --project-root /absolute/path/to/project
- Codex に MCP サーバーが表示されていることを確認します。
preview_scaffoldから始めて、生成プランを確認し、返されたpreviewHashを apply モードで再利用します。
Docker で実行する
ホストに Node.js を直接インストールしたくない場合は、Docker でmern-mcpを実行できます。
- このリポジトリからイメージをビルドします。
docker build -t mern-mcp .
- 対象の MERN プロジェクトに
mern-mcp.config.jsonがあることを確認します。 - コンテナを実行し、対象プロジェクトをコンテナにマウントします。
docker run --rm -i \
-v /absolute/path/to/target-project:/workspace \
mern-mcp \
--project-root /workspace
- Docker 化したサーバーを MCP クライアントに登録する場合は、コマンドに Docker を指定し、同じ引数を渡します。
設定例:
docker run --rm -i -v /absolute/path/to/target-project:/workspace mern-mcp --project-root /workspace
MCP ツール
現在、サーバーには以下のツールが登録されています。
preview_scaffoldscaffold_resourcelist_resourcesadd_fielddelete_resource
preview_scaffold
ファイルを変更する前に、スキャフォールドのドライランを行い、生成される書き込みプランを確認します。
scaffold_resource
リソース用の完全な MERN CRUD スキャフォールドをプレビューまたは適用します。
list_resources
マニフェストで管理されているリソースを一覧表示し、必要に応じてプロジェクト内の未管理リソースをスキャンします。
add_field
既存の生成済みリソースに新しいフィールドを追加する操作をプレビューまたは適用します。
delete_resource
生成済みリソースの削除をプレビューまたは適用し、そのマニフェストレコードを削除します。
scaffold_resource、add_field、delete_resourceで重要な入力は次のとおりです。
mode:"preview"または"apply"previewHash:"apply"モードで必須conflictStrategy:"abort"、"overwrite"、または"skip"
リソース入力の例
product リソースのプレビューリクエストの例:
{
"resourceName": "Product",
"fields": [
{ "name": "title", "type": "string", "required": true },
{ "name": "price", "type": "number", "required": true },
{ "name": "inStock", "type": "boolean", "required": false }
],
"mode": "preview"
}
プレビュー後、返されたpreviewHashを apply モードで再利用します。
サポートするプロジェクトスタイル
mern-mcp は、以下の各項目を設定して MERN コードを生成できます。
- プロジェクト構成:
monorepoまたはseparate - 言語:
typescriptまたはjavascript - React のデータスタック:
plain、react-query、redux、またはaxios - バリデーション:
zod、express-validator、both、またはnone - 認証:
jwtまたはnone
パスも設定できるため、src/models、src/routes、src/components、src/store.ts などのカスタムディレクトリを生成先に指定できます。
自然言語または明示的なフィールド
リソースをスキャフォールドする方法は 2 つあります。
- 明示的なフィールドスキーマを渡します。
- 自然言語の説明を渡し、プランナーにフィールドを推測させます。
自然言語入力の例:
a blog post with title, body, author, tags
この形式の入力はリソース構造に解析されます。たとえば、author のような語は objectId の参照になり、tags のような語は文字列配列になります。
サポートされているフィールド型は次のとおりです。
stringnumberbooleandateobjectId
サポートされている UI ウィジェットのヒントは次のとおりです。
texttextareanumbercheckboxdateselectmultiselecttags
プレビューを優先する、より安全なワークフロー
このリポジトリの特に優れた点の 1 つは、プレビューと適用の仕組みです。
previewモードでは、プラン、成果物、統合アクション、競合、および決定論的なpreviewHashが返されますapplyモードでは、一致するpreviewHashが必要です- 管理対象外のファイルとの競合は、
abort、overwrite、またはskipで処理できます - 生成されたリソースのパスは
.mern-mcp-manifest.jsonで追跡されます
これにより、AI ツールや人間のオペレーターは、無関係な作業を気付かないうちに上書きすることなく、より管理された方法でコードをスキャフォールドできます。
このプロジェクトの対象ユーザー
mern-mcp は、次のような方に適しています。
- リソースのスキャフォールディングを高速化したい MERN スタック開発者
- MCP を使った AI 支援コーディングのワークフローに取り組む方
- 管理ダッシュボードや CRUD バックオフィスを繰り返し構築するエージェンシー
- 社内ツールや SaaS のコントロールパネルをリリースするスタートアップチーム
- 一貫した規約を維持する TypeScript および JavaScript チーム
- 単なるコードテンプレートではなく、生成と統合の両方を求める開発者
検索意図とキーワード
このようなプロジェクトは、次のような語句で検索されることがよくあります。
- MERN スタック向け MCP サーバー
- MERN スタック CRUD ジェネレーター
- MongoDB Express React Node スキャフォルダー
- Mongoose モデルジェネレーター
- Express API ボイラープレートジェネレーター
- React Query CRUD ジェネレーター
- Redux CRUD スキャフォルダー
- MERN アプリ向け AI コードジェネレーター
- フルスタック JavaScript 向けローカル MCP ツール
- フルスタック TypeScript CRUD スキャフォールディング
このサーバーが、これらの成果物や統合機能を直接生成するため、これらの語句はこのプロジェクトに関連しています。
地域に関連する検索での発見性
米国、カナダ、英国、ヨーロッパ、中東、インド、バングラデシュ、パキスタン、シンガポール、またはオーストラリアから MERN スタックのスキャフォールディングツールを探している場合も、答えは同じです。mern-mcp は自分のプロジェクト内でローカルに動作し、特定のクラウドリージョンやホスティングプラットフォームに依存しません。
そのため、プロジェクトが Node.js と MCP 対応クライアントを使用していれば、分散型の開発チーム、リモートエージェンシー、スタートアップチーム、フリーランス開発者、プロダクト企業に適しています。ニューヨーク、トロント、ロンドン、ベルリン、ドバイ、ベンガルール、ダッカ、シンガポール、シドニーなど、どの都市で作業していても利用できます。
このリポジトリが関連する検索で上位表示される理由
このリポジトリは、単なるテンプレートの寄せ集めではありません。次の機能を備えています。
- 実行可能な MCP サーバー
- Zod を使った型付き入力スキーマ
- 設定可能なプロジェクトパスの解決
- サーバーとクライアントの登録に対応する AST ベースの統合パッチャー
- マニフェストに基づくリソース管理
- プレビュー、適用、フィールド追加、一覧表示、削除のワークフロー
- メインのライフサイクルを対象としたテストとスモークテスト
これらの組み合わせは、MERN コード生成、MCP ツール、CRUD スキャフォールディング、Express ルート生成、Mongoose モデル生成、React Query CRUD ヘルパー、Redux スキャフォールディング、TypeScript のフルスタック自動化に関する検索に直接関連しています。
開発時のチェック
npm run check
npm test
npm run build
npm run smoke
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。