# apipost-mcp **Repository Path**: wcsugar/apipost-mcp ## Basic Information - **Project Name**: apipost-mcp - **Description**: apipost mcp - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ApiPost MCP Server 基于 MCP(Model Context Protocol)的 ApiPost 开放 API 服务器,让 AI 能够直接管理 Apipost 中的接口文档。 ## 功能特性 - ✅ **接口保存** - 创建或更新 API 接口文档 - ✅ **接口详情** - 获取完整接口信息(请求/响应配置) - ✅ **项目详情** - 查看项目配置和环境变量 - ✅ **接口列表** - 列出项目中所有接口 - ✅ **目录管理** - 创建和管理接口文档目录 - ✅ **团队/项目** - 团队列表、项目列表、项目创建 - ✅ **接口搜索** - 按名称、URL、方法筛选接口 ## 环境要求 - **Node.js** >= 18.0.0 - **npm** >= 8.0.0 ## 安装 ```bash cd D:\workspace\DTCloudForum\apipost-openapi npm install npm run build ``` ## 配置 在 MCP 配置文件中添加服务器(以 Cursor 为例): ```json { "mcpServers": { "apipost": { "command": "node", "args": ["/absolute/path/to/DTCloudForum/apipost-openapi/dist/index.js"], "env": { "APIPOST_TOKEN": "your_access_token_here", "APIPOST_HOST": "https://openapi.apipost.cn", "APIPOST_PROJECT_ID": "your-project-id-uuid" } } } } ``` ### 环境变量 | 变量名 | 必填 | 说明 | 默认值 | |--------|------|------|--------| | `APIPOST_TOKEN` | ✅ | API 访问令牌 | - | | `APIPOST_HOST` | 否 | API 地址 | `https://openapi.apipost.cn` | | `APIPOST_PROJECT_ID` | 否 | 锁定项目 ID,设置后所有工具仅操作该项目 | - | > **`APIPOST_PROJECT_ID` 说明** > > - 设置后,所有涉及 `project_id` 的工具调用中该参数**可省略**,服务端自动注入。 > - 若调用方仍然传入 `project_id`,必须与环境变量值一致,否则请求被**直接拒绝**(防越权)。 > - 不影响 `apipost_list_teams`、`apipost_list_projects`、`apipost_create_project` 等无需项目 ID 的工具。 ### 获取 Token 路径:`Apipost 客户端 > 工作台 > 项目设置 > 对外能力 > open API` ## 可用工具 > 设置 `APIPOST_PROJECT_ID` 后,下表中标注 `project_id*` 的参数均可省略。 | 工具 | 说明 | 主要参数 | |------|------|---------| | `apipost_save_api` | 保存(创建/更新)接口 | project_id*, name, method, url | | `apipost_create_folder` | 创建目录 | project_id*, name, parent_id | | `apipost_get_api_detail` | 获取接口详情 | project_id*, target_ids[] | | `apipost_get_project_detail` | 获取项目详情 | project_id* | | `apipost_list_apis` | 获取接口列表 | project_id* | | `apipost_list_teams` | 获取团队列表 | - | | `apipost_list_projects` | 获取项目列表 | team_id | | `apipost_create_project` | 创建项目 | name, team_id | | `apipost_search_apis` | 搜索接口 | project_id*, keyword, method | ## 使用示例 ```typescript // 保存接口 apipost_save_api({ project_id: "your-project-id", name: "获取用户列表", method: "GET", url: "/api/users", query_params: [ { key: "page", value: "1", description: "页码", required: true, field_type: "Integer" }, { key: "size", value: "10", description: "每页数量", field_type: "Integer" } ], response_example: { code: 10000, msg: "success", data: [] } }) // 获取接口详情 apipost_get_api_detail({ project_id: "your-project-id", target_ids: ["target-id-1", "target-id-2"] }) // 获取项目详情 apipost_get_project_detail({ project_id: "your-project-id" }) ``` ## 开发 ```bash # 开发模式(热重载) npm run dev # 构建 npm run build # 类型检查 npx tsc --noEmit # MCP Inspector 测试 npm run inspect ``` ## 项目结构 ``` apipost-openapi/ ├── src/ │ └── index.ts # MCP Server 主入口 ├── dist/ # 编译输出 ├── package.json ├── tsconfig.json └── README.md ```