接口管理工具,实现前后端接口对接
npm install @wginit/mcp-api-managermcp.json 中注册该服务(stdio 方式):
json
{
"mcpServers": {
"mcp-api-manager": {
"command": "npx",
"args": ["-y", "@wginit/mcp-api-manager@latest"]
}
}
}
`
服务启动后通过标准输入输出(stdio)与 MCP 客户端通信。
工具:parse-api-doc
- 功能:解析本地 Markdown 接口文档并自动生成 API 请求文件(按模块聚合)与可选 mock 文件
- 入参:
- filePath: string,接口文档路径(绝对或相对路径均可)
- apiDir: string,生成 API 请求文件保存目录
- generateMock: boolean,是否生成 mock 数据(默认 false)
调用示例(概念示例,实际在 MCP 客户端内发起):
`json
{
"name": "parse-api-doc",
"arguments": {
"filePath": "D:\\project\\mcp-server\\api-manager\\docs\\api.md",
"apiDir": "D:\\project\\mcp-server\\api-manager\\src\\api",
"generateMock": true
}
}
`
成功返回中会列出生成的文件绝对路径清单。
Markdown 文档格式支持说明
解析器使用 markdown-it,通过 tokens 解析,兼容度较高。建议遵循以下结构(不强制完全一致):
- 二级标题划分接口:## 接口名或模块名
- 三级标题分节:
- ### 接口信息:使用列表项描述
- - 接口名称: xxx
- - 请求方式: GET|POST|PUT|DELETE|PATCH
- - 接口路径: /path/to/api
- - 功能描述: 文本说明
- ### 请求参数:可包含
- #### 请求体参数 (ModelName):表格,列建议包含「参数名 | 类型 | 必填 | 说明 | 示例值」
- ### 请求示例:代码块(json 或 js 等)
- ### 响应示例:
- 可直接放一个成功示例代码块;或使用 #### 成功响应 与 #### 错误响应 子标题分别放置
- 可选:### 错误响应示例:代码块
解析结果结构(每个接口):
- method / path / name / desc
- request.bodyModel 与 request.bodyParams[](若检测到请求体参数表格)
- requestExample / responseExample(成功)/ errorResponseExample(错误)
生成结果
- API 请求文件按“模块”聚合
- 模块依据接口路径的“目录部分”划分(去掉最后一段),例如:/estate/inspection/taskcontroller/saveTaskController
- 模块键为 estate/inspection/taskcontroller
- 文件名会被驼峰化输出为 estateInspectionTaskcontroller.js
- 单个文件内导出该模块下所有接口方法
- 方法名基于完整路径驼峰化生成,避免重名
- 每个方法形如:
`js
/**
* 描述文本
* @param {Object} params
* @param {string} params.foo - foo
* @returns {Promise}
*/
export function estateInspectionTaskcontrollerSaveTaskController(params) {
return request({
url: "/estate/inspection/taskcontroller/saveTaskController",
method: "POST",
data: params,
});
}
`
- Mock 文件(当开启 generateMock)
- 仍按接口逐个生成,便于替换/对照
- 输出目录:
- 文件名示例:estateInspectionTaskcontrollerSaveTaskController.mock.js
- 内容:默认导出解析自“响应示例”的 JSON(若为空则为 {}`)