REST端点模拟工具

MindBridge X是一个全栈开发工具,用于快速设计模拟REST端点、测试负载,并将其暴露给模型上下文协议(MCP)客户端。

  • by macmann
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 macmann/API-MCPGenTool

使用说明

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或更高版本

设置

  1. 安装依赖项:
    npm install
    
  2. 复制示例环境并调整值(尤其是 ADMIN_KEY, NEXTAUTH_SECRET,以及 OPENAI_API_KEY 如果您计划使用生成器):
    cp .env.example .env
    
    默认目标SQLite通过 DATABASE_URL="file:./prisma/dev.db".将此指向Postgres以获得生产平价。
  3. 使用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桥

  1. 在仪表板中,创建一个MCP服务器并添加指向模拟端点的工具。
  2. 将JSON-RPC 2.0请求发送到 POST http://localhost:3000/mcp/<slug>;基地 /mcp 代理默认slug。
  3. 健康检查: GET http://localhost:3000/mcp/<slug> 返回基本状态有效载荷。

使用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
    

部署

部署→ 维塞尔

  1. 将GitHub存储库导入Vercel并选择默认项目设置。
  2. 在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等等)。
  3. 构建命令: npm run build (跑步 prisma generate && next build).
  4. 启动命令: npm run start.
  5. 使用以下命令运行首次部署的数据库迁移 npm run db:migrate:deploy 作为针对生产的部署后或手动作业 DATABASE_URL.
  6. 首次启动的操作顺序:设置环境变量→ 触发构建→ 运行迁移→ 打开应用程序并登录。

部署→ 通用节点主机(渲染/铁路等)

  • 运行时:使用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_URL Next.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的屏幕截图。

贡献说明

  1. 分叉存储库并创建功能分支。
  2. 跑 npm install 安装依赖项。
  3. 在适当的情况下添加或更新测试。
  4. 使用明确的提交消息,并打开一个描述您的更改的拉取请求。

路线图

  • 添加端点模板和MCP映射的自动化测试。
  • 发布Docker资产以便于部署。
  • 为常见的API模式扩展CLI提示和支架。
  • 提供示例MCP客户端和SDK片段。
  • 将示例屏幕截图和演练附加到文档中。