mcpField
B
BackendGen

BackendGen

本地服务
github.com/SiTouhemi开发工具014 周前更新

关于 BackendGen

BackendGen 是本地编译器,可将有版本的 YAML 或 JSON 规范转换为经过测试的 NestJS、Prisma 和 PostgreSQL 后端。它面向开发者和 AI 编码 Agent,提供规范校验、变更预览,以及重新生成和破坏性模式变更的保护。

主要功能

  1. 01校验有版本的 YAML 和 JSON 后端规范
  2. 02生成 NestJS、Prisma 和 PostgreSQL 项目
  3. 03生成类型化 TypeScript 客户端和前端契约
  4. 04预览重新生成的变更并保留自定义文件
  5. 05运行生成项目的检查与测试

适用场景

  1. 01根据 Agent 编写的规范构建后端
  2. 02规范变更后重新生成项目
  3. 03应用前审查模式变更
  4. 04向前端 Agent 提供类型化 API 契约

MCP 相关

本地 stdio MCP 服务支持 AI Agent 查询能力、校验规范、预览并生成后端、运行生成项目的测试,以及获取前端交接契约。只有明确请求审查时才会返回迁移 SQL。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sitouhemi-backendgen": {
"command": "npx",
"args": [
"-y",
"@2hemi/backendgen-mcp"
],
"env": {
"BACKENDGEN_ALLOWED_ROOTS": "<BACKENDGEN_ALLOWED_ROOTS>"
}
}
}
}
启动命令npx -y @2hemi/backendgen-mcp
需要配置的环境变量
BACKENDGEN_ALLOWED_ROOTSOptional list of filesystem roots BackendGen may read and write, separated by ';' (or ':' between POSIX absolute paths).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@2hemi/backendgen-mcp0.2.2

工具

12

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

BackendGen

**BackendGen 是面向 AI 编码 Agent 的确定性后端编译器。**为 Agent 提供精简、带版本的 YAML 或 JSON 规范,它就能生成结构清晰、经过测试的后端,而无需从头臆造数据库模型、权限、API 路由和迁移。

目前,它可以生成 NestJS 11 + Prisma 6 + PostgreSQL 仓库,其中包括类型化的 TypeScript 客户端,以及供前端 Agent 使用的小型 frontend-contract.json。生成的项目不依赖 BackendGen 运行时。

**Alpha 阶段:**BackendGen 已可供设计合作伙伴试用和用于本地项目。用于生产环境前,请审核生成的应用;它尚未完成独立安全审查,也尚未完成三次设计合作伙伴试用。

npm CLI · npm MCP 服务 · 报告问题 · 设计合作伙伴计划

适用场景

当 AI Agent 需要为前端提供真正的后端时,BackendGen 会很有用:

  • 建模实体、关系、筛选、排序和分页;
  • 添加身份验证、角色、行所有权、组织和租户隔离;
  • 生成预订、通知、webhook、持久化任务和上传功能;
  • 在编译器管理的代码与应用管理的自定义代码之间保持清晰的边界;
  • 规范变更后安全地重新生成,并通过增量迁移和明确的破坏性变更审核关卡进行把控。

BackendGen 不是托管后端服务、部署平台或前端构建器。它在本地运行并生成代码,供开发者或编码 Agent 审核、自定义、测试、部署并连接到前端。

要求

  • Node.js 22 或更高版本
  • npm 10 或更高版本
  • 只有在需要运行生成项目的集成测试时才需要 PostgreSQL

五分钟上手

试用 BackendGen 无需 npm 账户,也无需此仓库。

mkdir backendgen-try
cd backendgen-try

npx -y @2hemi/backendgen init backend.yaml --name team-api
npx -y @2hemi/backendgen validate backend.yaml
npx -y @2hemi/backendgen generate backend.yaml --output ./team-api

cd team-api
npm install
npm test

生成的项目会在安装期间运行 prisma generate,因此首次运行无需单独执行 Prisma 命令。从父目录运行 npx -y @2hemi/backendgen test-generated --output ./team-api --install,即可让 Agent 通过一条有明确边界的编译器命令完成安装、验证、构建和单元测试。

init 会创建一个有效的入门规范。编辑 backend.yaml,然后再次运行 validate 和 generate。重新生成现有项目之前,请使用 diff 预览变更内容:

npx -y @2hemi/backendgen diff backend.yaml --output ./team-api

测试完整的 SaaS 示例

仓库包含从基础 CRUD 到功能齐全的后端规范。这个多租户任务示例是很好的首次测试:

git clone https://github.com/SiTouhemi/Backendgen.git
cd Backendgen

npx -y @2hemi/backendgen validate examples/saas-tasks/backend.yaml
npx -y @2hemi/backendgen generate examples/saas-tasks/backend.yaml --output ./generated/saas-tasks

cd generated/saas-tasks
npm install
npm test

在 examples/README.md 中查看所有示例及其演示内容:

示例演示内容
notes APICRUD、筛选、分页和排序
auth notes账户、角色、所有权和身份验证
SaaS tasks组织和强制执行的租户隔离
hotel booking预订、防止时间重叠和通知
all featuresCRUD、身份验证、组织、预订、通知、webhook、任务和上传

将其与 AI 编码 Agent 配合使用(MCP)

MCP 包可让 AI Agent 发现受支持的后端功能、验证规范、预览更改、生成后端、运行生成的测试、返回前端交接契约和自定义指南。它还可以说明自定义点。它通过 stdio 在本地运行,无需 BackendGen 账号或网络侦听器。

只有 Agent 明确请求审核时,才会返回迁移 SQL;正常响应中不会包含生成的源代码。

将此服务添加到支持 MCP 的客户端,并且只提供你信任的目录:

{
  "mcpServers": {
    "backendgen": {
      "command": "npx",
      "args": ["-y", "@2hemi/backendgen-mcp"],
      "env": {
        "BACKENDGEN_ALLOWED_ROOTS": "/absolute/path/to/projects"
      }
    }
  }
}

对于 Codex、Claude Code、Cursor、ChatGPT 桌面版、Windows、Lovable Desktop,以及正确的 v0 交接方式,请参阅 docs/AI_BUILDERS.md 中针对各客户端的命令。完整的 MCP 安全和工具参考请参阅 docs/MCP.md。

连接后,可以向 Agent 提出如下请求:

创建一个多租户任务管理后端。首先检查 BackendGen 的功能和相关特性。编写规范、验证规范、预览生成结果、在此项目中生成后端,并运行生成的测试。 将自定义行为保留在文档说明的自定义点中。

生成内容

对于有效的规范,BackendGen 会生成一个独立仓库,其中包含:

  • NestJS API、Prisma schema、PostgreSQL 迁移、OpenAPI 配置和测试;
  • 根据规范标准化结果生成的端点和权限规则;
  • 用于编译器管理代码的 src/generated/,以及用于你自行管理代码的 src/custom/;
  • 记录所有权和哈希值的 .backendgen/manifest.json;
  • frontend-contract.json 和供前端 Agent 使用的类型化 TypeScript 客户端。

重新生成时,BackendGen 会保留自定义文件;除非你明确使用 --force,否则不会覆盖已编辑的生成文件;对于具有破坏性或依赖数据的 schema 更改,则要求明确审核。更改线上 schema 前,请阅读 docs/MIGRATIONS.md。

验证与限制

仓库的 CI 会验证编译器、CLI、MCP、安全契约模糊测试、软件包安装和生成项目场景。生成的项目也会在发布测试矩阵中针对 PostgreSQL 进行构建和测试。具体证据请参阅 本地验证记录和 安全契约。

这些证据并不能证明每个生成的应用都适合用于生产环境。你仍需负责审核规范、生成的代码、机密信息、基础设施和部署配置。

当前边界:

  • 一个生产目标:NestJS + Prisma + PostgreSQL;
  • FastAPI 和其他后端目标不在计划范围内;
  • 尚无托管的 BackendGen SaaS 或直接的浏览器 v0 MCP 集成;
  • 在配对基准测试得出实际结果前,不要声称可以节省令牌。

文档

如果你需要……请阅读
编写规范规范参考
了解每项受支持的功能功能包
连接 AI Agent 或 MCP 客户端AI 构建器集成
自定义生成的项目自定义指南
安全地重新生成或更改 schema迁移指南
在本地运行测试本地测试
了解安全边界威胁模型
参与贡献贡献指南

反馈与支持

我们正在寻找愿意在真实的非生产项目中测试 BackendGen 的开发者和 AI 开发者。请提交 issue,并说明:

  1. 你想构建什么;
  2. 经过脱敏的 backend.yaml 规范;
  3. 你使用的命令或 MCP 客户端;
  4. 哪些地方运行正常、哪些地方令人困惑,以及你原本期待的结果。

切勿包含 API 密钥、.env 文件、客户私有代码或生产数据库数据。如需报告安全漏洞,请按照 SECURITY.md 中的说明操作,而不要提交公开 issue。完整的支持详情请参阅 SUPPORT.md。

开发

要参与 BackendGen 本身的开发:

npm ci
npm test
npm run test:fuzz:ci
npm run test:e2e
npm run test:distribution

准备发布的维护者可以运行相同的非发布检查:npm run verify:release。基于 PostgreSQL 的执行仍是单独的 npm run verify:local:postgres 工作流,详见本地测试。

BackendGen 根据 Apache-2.0 许可证授权。生成的项目归其用户所有。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。