MERN MCP
AI驱动的MERN Stack CRUD脚手架和MCP服务器
mern-mcp 是一个开源的模型上下文协议(MCP)服务器,用于在现有代码库中构建完整的MERN堆栈CRUD资源,直接支持Claude Code和Codex CLI的设置。它生成MongoDB和Mongoose模型、Express服务和路由、React客户端模块,以及将新资源插入真实应用程序所需的连接,并在应用工作流之前进行更安全的预览。
如果你正在寻找一个用于MERN堆栈开发的MCP服务器、一个MongoDB Express React Node.js CRUD生成器、一个Mongoose plus Express样板生成器,或者一个与AI编码助手配合使用的React管理脚手架,那么这个存储库就是为这个特定用例构建的。
为什么此存储库有用
团队通常不需要另一个通用代码生成器。他们需要一个本地MCP工具,可以检查项目,遵循现有的文件夹结构,创建可重复的CRUD切片,并避免盲写。 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针对目标MERN项目运行编译后的MCP服务器:
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.
Use With Claude Code
- 安装依赖项并构建此存储库:
npm install
npm run build- 创建
mern-mcp.config.json在目标MERN项目中,您要搭建脚手架。 - 将MCP服务器添加到Claude代码中:
claude mcp add mern-mcp -- node /absolute/path/to/mern-mcp/dist/index.js --project-root /absolute/path/to/project- 确认服务器在克劳德代码中可用。
- 从...开始
preview_scaffold使用前scaffold_resource在应用模式下。
Use With Codex CLI
- 安装依赖项并构建此存储库:
npm install
npm run build- 创建
mern-mcp.config.json在目标MERN项目中,您要搭建脚手架。 - 将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- 确认MCP服务器已列入Codex。
- 从...开始
preview_scaffold,检查生成的计划,然后重用返回的计划previewHash用于应用模式。
使用Docker运行
你可以跑 mern-mcp 如果你不想直接在主机上安装Node.js,可以在Docker中安装。
- 从该存储库构建映像:
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- 如果你想在MCP客户端中注册Docker化服务器,请使用Docker作为命令并传递相同的参数。
示例形状:
docker run --rm -i -v /absolute/path/to/target-project:/workspace mern-mcp --project-root /workspaceMCP工具
服务器当前注册了这些工具:
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"
资源输入示例
产品资源的预览请求示例:
{
"resourceName": "Product",
"fields": [
{ "name": "title", "type": "string", "required": true },
{ "name": "price", "type": "number", "required": true },
{ "name": "inStock", "type": "boolean", "required": false }
],
"mode": "preview"
}预览后,重新使用返回的 previewHash 用于应用模式。
支持的项目样式
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.
自然语言或显式字段
您可以通过两种方式构建资源:
- 传递显式字段架构。
- 传递一个自然语言描述,让规划者推断字段。
自然语言输入示例:
a blog post with title, body, author, tags这种输入风格被解析为一个资源结构,其中包含以下术语 author 可以成为 objectId 参考和术语,如 tags 可以变成字符串数组。
支持的字段类型包括:
stringnumberbooleandateobjectId
支持的UI小部件提示包括:
texttextareanumbercheckboxdateselectmultiselecttags
更安全的预览优先工作流
这个存储库中最强大的部分之一是预览/应用合同。
preview模式返回计划、工件、集成操作、冲突和确定性previewHashapply模式要求匹配previewHash- 非托管文件冲突可以通过以下方式处理
abort,overwrite,或skip - 在中跟踪生成的资源路径
.mern-mcp-manifest.json
这为人工智能工具和人类操作员提供了一种更可控的方式来构建代码,而不会默默地覆盖无关的工作。
这个项目是给谁的
mern-mcp 非常适合:
- 希望更快地构建资源的MERN堆栈开发人员
- 使用MCP的AI辅助编码工作流程
- 机构构建重复的管理仪表板和CRUD后台
- 初创团队运送内部工具或SaaS控制面板
- TypeScript和JavaScript团队保持一致的约定
- 希望生成和集成的开发人员,而不仅仅是松散的代码模板
搜索意图和关键字
人们经常使用以下短语来寻找这样的项目:
- MERN堆栈的MCP服务器
- MERN堆栈CRUD生成器
- MongoDB Express反应节点脚手架
- Mongoose模型生成器
- API快速样板发生器
- React查询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许可证
麻省理工学院
