MindBridge X
MindBridge X是一个全栈游乐场,用于快速设计模拟REST端点、测试有效载荷并将其暴露给模型上下文协议(MCP)客户端。该工具包捆绑了一个模拟API web服务器、一个MCP桥接器和一个CLI代码生成器,因此您可以快速构建集成原型。
概述
MindBridge X提供了一个用于制作端点的可视化仪表板,一个将这些端点转换为MCP工具的JSON-RPC桥,以及一个从自然语言提示构建代码的生成器CLI。默认情况下,它将所有配置存储在SQLite中,并使用 ADMIN_KEY.
特性
- 可视化端点生成器:使用方法、路径、标头、延迟和状态切换创建REST路由。内置的请求日志可帮助您在不离开仪表板的情况下跟踪有效负载。
- 模板响应:使用带有环境变量、路径参数和可重用代码段的Handlebars样式助手来制作动态JSON正文。
- MCP电桥:使用每个工具的JSON模式将模拟端点映射到MCP服务器和工具,然后在下面公开它们
/mcp/:slug具有自动请求验证和日志记录功能。 - 代码生成器CLI:从自然语言提示流式传输OpenAI驱动的脚手架(
npm run generate -- "prompt"). - 安全持久性:默认情况下为SQLite(或通过Postgres
DATABASE_URL)Prisma迁移和NextAuth凭据登录由以下人员控制ADMIN_KEY. - 操作中间件:头盔、压缩、摩根测井和简单
/api/health活性探针的终点。
安装
需求
- Node.js 18或更高版本
- npm 9或更高版本
设置
- 安装依赖项:
npm install- 复制示例环境并调整值(尤其是
ADMIN_KEY,NEXTAUTH_SECRET,以及OPENAI_API_KEY如果您计划使用生成器):
cp .env.example .env默认目标SQLite通过 DATABASE_URL="file:./prisma/dev.db".将此指向Postgres以获得生产平价。
- 使用Prisma创建或更新数据库架构(使用
DATABASE_URL):
npm run db:migrate用法
运行web仪表板并模拟API
启动Next.js应用程序(包括管理UI和模拟API路由):
npm run dev然后打开 http://localhost:3000/login 并使用默认管理员凭据登录(admin@example.com / password).从这里,您可以创建项目、端点和MCP映射。
对于为编译后的应用程序提供的生产风格启动,请运行:
npm run build
npm run start使用MCP JSON-RPC桥
- 在仪表板中,创建一个MCP服务器并添加指向模拟端点的工具。
- 将JSON-RPC 2.0请求发送到
POST http://localhost:3000/mcp/;基地/mcp代理默认slug。 - 健康检查:
GET http://localhost:3000/mcp/返回基本状态有效载荷。
使用OpenAI生成代码
使用CLI从自然语言提示中构建代码片段(需要 OPENAI_API_KEY):
npm run generate -- "Write a function that parses a CSV string into objects"该命令将响应流式传输到stdout,以便您可以复制/粘贴生成的代码。
建筑
API-MCPGenTool/
├─ server.js # HTTP server wrapper for the Express app
├─ index.js # Entry point for the mock API web server
├─ mcp-express.js # Express router implementing the MCP JSON-RPC bridge
├─ src/index.js # CLI code generator using OpenAI's Responses API
├─ gui-mock-api/ # Admin dashboard routes, views, and SQLite helpers
├─ public/ # Static assets served by the GUI (if applicable)
├─ package.json # Root package scripts & dependencies
└─ README.md数据库设置
- 地方发展:默认情况下使用SQLite。复制
.env.example到.env,保持DATABASE_URL="file:./prisma/dev.db",然后运行npm run db:migrate创建模式并在本地生成Prisma客户端。你也可以指出DATABASE_URL如果你愿意,可以在本地Postgres实例上。 - 生产:提供托管的Postgres数据库(Neon、Supabase、Render、Railway等),设置
DATABASE_URL到提供的连接字符串,然后运行npm run db:migrate:deploy因此模式保持最新。
数据库配置
地方发展
- 使用默认SQLite URL(
DATABASE_URL="file:./prisma/dev.db")对于零依赖的开发设置或点DATABASE_URL在本地Postgres实例上。 - 更改连接字符串后,重新运行
npm run db:migrate(或npm run db:generate)因此Prisma会刷新该数据库的客户端。
制作(渲染)
- 渲染(和类似的主机)需要PostgreSQL
DATABASE_URL(SQLite文件不会在这些环境中持久化)。 - 构建命令:
npm install && \
./node_modules/.bin/prisma generate && \
./node_modules/.bin/prisma migrate deploy && \
npm run build- 启动命令:
npm start部署
部署→ 维塞尔
- 将GitHub存储库导入Vercel并选择默认项目设置。
- 在Vercel仪表板中配置环境变量:
- DATABASE_URL (SQLite用于本地开发或生产中的Postgres) - NEXTAUTH_URL (您的Vercel网站URL) - NEXTAUTH_SECRET (强随机值) - GITHUB_ID, GITHUB_SECRET (可选GitHub OAuth) - 您使用的任何其他应用程序机密(OPENAI_API_KEY, ADMIN_KEY, MCP_PUBLIC_URL等等)。
- 构建命令:
npm run build(跑步prisma generate && next build). - 启动命令:
npm run start. - 使用以下命令运行首次部署的数据库迁移
npm run db:migrate:deploy作为针对生产的部署后或手动作业DATABASE_URL. - 首次启动的操作顺序:设置环境变量→ 触发构建→ 运行迁移→ 打开应用程序并登录。
部署→ 通用节点主机(渲染/铁路等)
- 运行时:使用Node.js≥18(根据
package.json发动机)。 - 环境:设置与上述相同的变量(
DATABASE_URL,NEXTAUTH_URL,NEXTAUTH_SECRET、提供者密钥,OPENAI_API_KEY等等)。 - 构建:
npm run build. - 开始:
npm run start. - 迁移:首次部署时(或架构更改后),运行
npm run db:migrate:deploy随着生产DATABASE_URL在启动应用程序之前。
部署(渲染)
- 数据库:Render的托管Postgres(或任何外部Postgres)必须通过
DATABASE_URL环境变量。Render运行时文件系统不支持SQLite文件,因此在部署时始终提供Postgres URL。 - 生成命令 (渲染仪表板→ _生成命令_):
npm install && npm run render:build这 render:build 脚本链 db:generate, db:migrate:deploy,以及 build 于是Prisma跑了进去 npm run的环境 (自动暴露 ./node_modules/.bin).这避免了依赖 npx,一些托管建筑商从 即使在 npm 可用。它还保证新表(如RouteDataset模拟响应数据存储) 在服务启动之前迁移。
- 开始命令 (渲染仪表板→ _启动命令_):
npm start- 所需的环境变量 (渲染仪表板→ _环境_):
- DATABASE_URL –Postgres连接字符串(引导和迁移所需)。 - NEXTAUTH_SECRET NextAuth的强随机秘密。 - NEXTAUTH_URL –渲染服务的公共HTTPS URL。 - ADMIN_DEFAULT_ENABLED=false –建议通过CLI/DB手动创建生产管理员,默认种子管理员保持禁用状态。 - 您需要的任何其他提供者密钥(例如。, OPENAI_API_KEYOAuth密钥等)。
- 部署时的迁移:因为Render容器一旦构建就不可变,请确保
npm run db:migrate:deploy跑步前npm start上述构建命令序列处理Prisma客户端生成和迁移,因此任何运行时路径都不会回退到prisma migrate dev.
健康检查
- 端点:
GET /api/health - 答复:
{ "status": "ok", "database": "ok" | "unavailable" } - 用于Render、Railway或其他编排器的正常运行时间检查。
仅开发人员回归检查
- 跑
node scripts/dev-checks/mock-route-regression.mjs设置后DATABASE_URL(以及可选MOCK_BASE_URLNext.js服务器运行时)快速验证模拟路由是否可以端到端存储GET响应和POST请求样本。
部署检查表
- 复制
.env.example到.env并填写数值。 - 本地开发:确保
DATABASE_URL=file:./prisma/dev.db(或指向本地Postgres实例)。 - 跑
npm run db:migrate. - 跑
npm run dev. - 生产:
- 配置Postgres和set DATABASE_URL. - 集 NEXTAUTH_URL, NEXTAUTH_SECRET,以及任何提供者密钥(例如GitHub OAuth)。 - 跑 npm run db:migrate:deploy. - 跑 npm run build 和 npm run start.
截图
如果可用,可以在此处添加管理仪表板和MCP配置UI的屏幕截图。
贡献说明
- 分叉存储库并创建功能分支。
- 跑
npm install安装依赖项。 - 在适当的情况下添加或更新测试。
- 使用明确的提交消息,并打开一个描述您的更改的拉取请求。
路线图
- 添加端点模板和MCP映射的自动化测试。
- 发布Docker资产以便于部署。
- 为常见的API模式扩展CLI提示和支架。
- 提供示例MCP客户端和SDK片段。
- 将示例屏幕截图和演练附加到文档中。
