Muhammad-Adil-code/Mcp-forge
GitHub: Muhammad-Adil-code/Mcp-forge
MCPForge 是一个 CLI 工具,能将任意 OpenAPI 规范一键转化为经过测试、安全且可部署的 MCP 服务器,让 AI agent 可以直接调用现有 API。
Stars: 0 | Forks: 0
**只需一条命令,即可将任何 API 转化为经过测试、安全且可部署的 MCP 服务器。**
[](https://www.npmjs.com/package/mcp-forge)
[](./LICENSE)
[](https://nodejs.org)
[](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, 开发工具, 文档结构分析, 暗色界面, 自动化代码审查, 自动化攻击