Muhammad-Adil-code/Mcp-forge

GitHub: Muhammad-Adil-code/Mcp-forge

MCPForge 是一个 CLI 工具,能将任意 OpenAPI 规范一键转化为经过测试、安全且可部署的 MCP 服务器,让 AI agent 可以直接调用现有 API。

Stars: 0 | Forks: 0

MCPForge
**只需一条命令,即可将任何 API 转化为经过测试、安全且可部署的 MCP 服务器。** [![npm](https://img.shields.io/badge/npm-mcp--forge-cb3837?logo=npm)](https://www.npmjs.com/package/mcp-forge) [![license](https://img.shields.io/badge/license-MIT-f5a623)](./LICENSE) [![node](https://img.shields.io/badge/node-%3E%3D18-3c873a?logo=node.js&logoColor=white)](https://nodejs.org) [![MCP](https://img.shields.io/badge/Model_Context_Protocol-compatible-2f6df0)](https://modelcontextprotocol.io)
## 为什么选择 MCPForge AI agent(ChatGPT、Claude、Cursor 以及自定义 agent)正从**对话**转向 **行动**——它们可以跨应用为你执行操作。要让一个 agent *使用*某个应用,该应用 需要一个 **MCP 服务器**(Model Context Protocol)——一个供任何 agent 插入的通用“插座”。 很快,每个产品都会被问到*“这支持我的 AI agent 吗?”*——就像 十年前*“你有移动应用吗?”*成了标配一样。但如今构建一个 MCP 服务器 意味着要拼凑**五种不同的工具**:一个用于转换你的 API,一个 用于测试,一个用于安全扫描,一个用于运行,还有一个用于商业化。 **MCPForge 是完成整个工作的唯一工具**——这是一种中立的开发者体验, 在开放标准之上运行完整的生命周期。 ``` npx mcp-forge init ./openapi.json # inspect: tools, auth, a security glance npx mcp-forge scan ./openapi.json # low-noise security scan (CI-friendly) npx mcp-forge test ./openapi.json # call every tool live + report what works npx mcp-forge generate ./openapi.json # emit a deployable MCP server you own npx mcp-forge serve ./openapi.json # run it locally + watch every agent call ``` ## 天生通用 - **支持任何 API 输入** —— 支持任何 OpenAPI 2 (Swagger) 或 3.x 规范,JSON 或 YAML,文件或 URL。 API 可以用**任何**语言或框架(Node、Python、Go、Rails、PHP 等)编写。 MCPForge 只读取规范。 - **支持任何 agent 输出** —— 它生成一个标准的 MCP 服务器,因此它与**任何** MCP client 兼容。 - **无锁定** —— `generate` 写入**归你所有**的文件,并且可以部署到任何地方。 ## 安装 ``` npm install -g mcp-forge # …或者无需安装直接运行: npx mcp-forge ``` ## 命令 | 命令 | 作用 | |---|---| | `init` / `inspect` | 解析规范 → 显示工具、声明的 auth,以及快速的安全概览。 | | `scan` | 全面安全扫描,**设计上低噪音**——仅标记真正具有可操作性的内容(无 auth 的写入操作、路径遍历参数、无 schema 的请求体、大范围的删除接口)。遇到 `high` 级别问题则以非零状态退出,因此可以直接接入 CI。 | | `test` | 使用根据每个工具 schema 生成的示例输入,针对线上 API 调用**每一个工具**,然后报告实际运行情况:`pass`、`need-auth`、预期的 `4xx`、`server-error`、`unreachable`。默认为只读(除非使用 `--write`,否则跳过修改操作)。遇到真正的失败时以非零状态退出——对 CI 友好。 | | `generate` | 生成一个独立的 MCP 服务器(`server.mjs` + model + `package.json` + README)。归你所有;可部署到任何地方。`--out ./dir`。 | | `serve` | 通过 stdio 在本地运行 MCP 服务器,并实时记录每一次工具调用,这样你就可以将 agent 指向它并观察其行为。`--auth "Bearer …"`。 | ### 参数 ``` --base-url Override the API base URL (if the spec omits it) --out Output directory for `generate` (default ./mcp-server) --auth Authorization header forwarded to the backing API --write Include write ops (POST/PUT/PATCH/DELETE) when running `test` --help, --version ``` ## 示例 ``` $ mcpforge init https://petstore3.swagger.io/api/v3/openapi.json MF MCPForge › Swagger Petstore - OpenAPI 3.0 1.0.27 base url https://petstore3.swagger.io/api/v3 tools 19 auth petstore_auth, api_key ● addPet POST /pet ● getPetById GET /pet/{petId} … ⚠ security 1 medium (run: mcpforge scan …) ``` ``` $ mcpforge generate ./openapi.json --out ./my-mcp $ cd my-mcp && npm install && npm start # → 一个真正的、符合协议的 MCP server,你的 agent 可以连接到它。 ``` ## 安全扫描刻意保持安静 现有的 MCP 扫描器因高达约 78% 的误报而臭名昭著——模式匹配 会对所有内容触发。MCPForge 采取相反的立场:**少量且真实的发现,每一个** 都附带具体的修复方案。**它标记的是当你将 API 移交给 自主 agent 时真正重要的内容——无 auth 的写入操作、可能导致遍历或 SSRF 的路径/文件参数、无 schema 的请求体,以及危险且 大范围的删除接口。 ## 工作原理 ``` any OpenAPI spec ──▶ normalized tool model ──▶ ┌─ generate (deployable server) (any language) (one clean shape) ├─ scan (low-noise security) ├─ test (live tool verification) ├─ serve (run + inspect calls) └─ …future stages plug in here ``` 每个阶段都在**一个标准化的模型**上运行,绝不是原始规范——这 使得每个阶段保持简单且输入具有通用性。新阶段(测试、部署、商业化) 可以插入到同一个模型中。 ## 路线图 - [x] `init` · `scan` · `test` · `generate` · `serve` —— 已完成端到端的工作与验证 - [ ] 托管仪表板(用于查看工具、测试、发现和调用日志的统一视图) - [ ] 一键部署 - [ ] 商业化接口(使用量计量、按调用计费) ## 贡献 欢迎提交 Issues 和 PR。新的扫描器规则以及语言/规范的边缘情况尤其 有用——我们的目标是打造一个能在任何真实 API 上“直接运行”的工具。 ## 许可证 [MIT](./LICENSE) © Muhammad Adil
标签:AI, GNU通用公共许可证, MCP, MITM代理, Node.js, OpenAPI, SOC Prime, 开发工具, 文档结构分析, 暗色界面, 自动化代码审查, 自动化攻击