SuperAPI AI 工具集

jsonfabrica-mcp-server

JsonFabrica MCP Server 是一个本地 Model Context Protocol(MCP)服务器,让 AI 编程助手(如 Claude Desktop、Cursor 等支持 MCP 的客户端)在会话过程中通过调用 JsonFabrica 的 REST API,生成符合 schema 的真实感 JSON 测试数据。它仅通过 stdio 传输运行,由 AI 客户端以子进程方式启动,无需托管网络服务或开放端口,除配置的 JsonFabrica 网关外不与其他任何服务通信。该服务器提供创建模板和批量生成数据等工具,支持确定性、可复现的种子生成,以及关联记录之间的引用完整性。

访问官网

工具介绍

用途

JsonFabrica MCP Server 是一个本地 MCP(Model Context Protocol)服务器,用于让 AI 编程代理在会话中直接生成符合 schema 的真实感 JSON 测试数据。它把 JsonFabrica 的 REST API 封装为 MCP 工具,供 Claude Desktop、Cursor 或其他支持 MCP 的客户端调用。

主要能力

  • 通过 MCP 工具调用 JsonFabrica API 生成合成 JSON 测试数据。
  • 支持从可复用模板生成数据,结果确定性、种子可复现,且关联记录之间保持引用完整性。
  • 可创建单个文档或批量生成关联数据,例如先生成客户记录,再生成引用这些客户 id 的订单记录。
  • 所有工具内部捕获错误,返回 MCP isError: true 结果及可读消息,不会抛出处理器外或导致宿主进程崩溃。
  • 工具名称统一以 jsonfabrica_ 为前缀,避免与其他 MCP 服务器冲突;每个工具描述中逐字说明其调用的 REST 端点。

使用方式

服务器仅通过 stdio 传输运行:AI 客户端将其作为子进程启动,因此无需托管网络服务,也无需开放端口。它只与配置的 JsonFabrica 网关通信。

将其加入 MCP 客户端配置,使客户端通过 npx 启动它。

  • Claude Desktop:将配置块加入 claude_desktop_config.json(Settings → Developer → Edit Config),然后重启。
  • Cursor:Settings → MCP → Add new MCP server,或将配置块加入 ~/.cursor/mcp.json。

API 密钥可通过在 jsonfabrica.com 注册获取:Settings → API Keys。也可直接运行以进行本地测试。

会话中的典型用法:用户要求生成 20 条真实感客户记录和 60 条关联订单,并写入 fixtures/seed.json。代理会调用 jsonfabrica_create_template 创建客户和订单形状,再调用 jsonfabrica_create_batch 并提供 relations 映射,使每条订单引用已生成的客户 id,最后将结果写入文件。

模板 body 字符串使用 JsonFabrica 的尖括号函数调用占位符语法,例如 <getRandomFullName()>、<getRandomEmail()>、<createSeq('orderNo')>。内置函数的完整目录见 jsonfabrica.com/docs/functions,这属于编写参考,不是本服务器暴露的工具。

两个工具返回相同结构:{ batchId, status, seed, results?, error? },其中 status 为 queued | running | completed | failed。results 在批量完成时出现,按别名分组生成文档,每个值是一个文档数组。失败的批量返回 error: { code, message } 而非 results。总文档数低于 50(API 默认阈值)的批量同步运行;更大的批量返回 202 { batchId, status: "queued", seed }。

适用场景

适用于在 AI 编程会话中快速生成测试数据、填充 fixtures、构造具有引用关系的关联数据集等场景,无需切换到仪表盘或手写 fixture。

限制

以下端点被明确排除在设计范围之外:

  • POST /v1/signup 和 PATCH /v1/billing/tier:未认证的账户创建或计费层级变更端点。封装这些端点会让模型代表用户创建真实付费订阅或变更计费层级,因此被排除(仅限生成 API 表面)。
  • POST /v1/webhooks/stripe:仅限 Stripe 的 webhook 摄取,不是面向开发者的能力。

常见错误情况:401 表示 API 密钥无效或缺失;403 表示 API 密钥所属租户不允许执行该调用;402(账户被阻止)会透传上游 blockReason;网络失败(网关不可达)会给出包含已配置 JSONFABRICA_API_URL 的消息;其他情况返回 JsonFabrica API error [CODE] (HTTP status): message。

常见问题排查

  • 401 / "Invalid or missing API key":检查 JSONFABRICA_API_KEY 是否已设置且有效。
  • Connection refused / UPSTREAM_UNREACHABLE:检查 JSONFABRICA_API_URL,以及网关是否正在运行且可从该进程运行处访问。
  • 403 / FORBIDDEN:API 密钥所属租户不允许执行该调用。

源码与许可

源码布局与 OpenAPI 规范的标签对应:src/tools/ 下每个标签一个文件。src/client.ts 是唯一知道 fetch、基础 URL 和 Authorization 头的地方。采用 MIT 许可,详见 LICENSE。