apifoxmcp服务

dongqs/asianfo_apifox
0 Stars 146 次浏览 码畜008 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "apifox": {
      "args": [
        "-m",
        "apifox_mcp"
      ],
      "command": "python",
      "env": {
        "APIFOX_ACCESS_TOKEN": "your_access_token_here",
        "APIFOX_PROJECT_ID": "your_default_project_id"
      }
    }
  }
}

服务介绍

Apifox MCP Server

一个用于集成 Apifox 开放 API 的 MCP (Model Context Protocol) 服务器。支持导入/导出 OpenAPI/Swagger 格式数据以及 Postman Collection 数据。

功能特性

  • ✅ 导入 OpenAPI/Swagger 格式数据(支持 OpenAPI 3 和 Swagger 2)
  • ✅ 导入 Postman Collection v2 格式数据
  • ✅ 导出 OpenAPI/Swagger 格式数据(支持 JSON 和 YAML)
  • ✅ 支持多种导入导出选项配置
  • ✅ 完整的错误处理和类型安全

安装

前置要求

  • Python 3.10 或更高版本
  • Apifox 访问令牌(Access Token)

安装步骤

  1. 克隆或下载此项目

  2. 安装依赖:

pip install -e .

或用于开发:

pip install -e ".[dev]"

配置

获取 Apifox 访问令牌

  1. 登录 Apifox
  2. 进入账号设置
  3. 生成 API 访问令牌

设置环境变量

在使用 MCP 服务器之前,需要设置环境变量:

Windows (PowerShell):

$env:APIFOX_ACCESS_TOKEN="your_access_token_here"
$env:APIFOX_PROJECT_ID="your_default_project_id"  # 可选,设置默认项目 ID

Linux/macOS:

export APIFOX_ACCESS_TOKEN="your_access_token_here"
export APIFOX_PROJECT_ID="your_default_project_id"  # 可选,设置默认项目 ID

使用方法

在 Claude Desktop 中配置

编辑 Claude Desktop 配置文件:

Windows:

%APPDATA%\Claude\claude_desktop_config.json

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

添加以下配置:

{
  "mcpServers": {
    "apifox": {
      "command": "python",
      "args": ["-m", "apifox_mcp"],
      "env": {
        "APIFOX_ACCESS_TOKEN": "your_access_token_here",
        "APIFOX_PROJECT_ID": "your_default_project_id"
      }
    }
  }
}

可用工具

1. import_openapi

导入 OpenAPI/Swagger 格式数据到 Apifox 项目。

参数:

  • project_id (可选): Apifox 项目 ID,未提供时使用环境变量 APIFOX_PROJECT_ID
  • input_type (必需): 输入类型,可选 "url" 或 "data"
  • input_value (必需): URL 地址或 OpenAPI 数据字符串
  • target_endpoint_folder_id (可选): 目标接口文件夹 ID
  • target_schema_folder_id (可选): 目标数据模型文件夹 ID
  • endpoint_overwrite_behavior (可选): 接口覆盖行为
  • schema_overwrite_behavior (可选): 数据模型覆盖行为
  • locale (可选): 语言环境,默认 "zh-CN"

示例:

请帮我从 https://petstore.swagger.io/v2/swagger.json 导入 OpenAPI 数据到项目 123456

2. import_postman_collection

导入 Postman Collection v2 格式数据到 Apifox 项目。

参数:

  • project_id (可选): Apifox 项目 ID,未提供时使用环境变量 APIFOX_PROJECT_ID
  • collection_data (必需): Postman Collection JSON 字符串
  • target_endpoint_folder_id (可选): 目标接口文件夹 ID
  • endpoint_overwrite_behavior (可选): 接口覆盖行为
  • endpoint_case_overwrite_behavior (可选): 接口用例覆盖行为
  • locale (可选): 语言环境,默认 "zh-CN"

示例:

请帮我导入这个 Postman Collection 到项目 123456: {...}

3. export_openapi

从 Apifox 项目导出 OpenAPI/Swagger 格式数据。

参数:

  • project_id (可选): Apifox 项目 ID,未提供时使用环境变量 APIFOX_PROJECT_ID
  • scope_type (可选): 导出范围类型,默认 "ALL"
  • excluded_tags (可选): 要排除的标签列表
  • endpoint_ids (可选): 要导出的接口 ID 列表
  • endpoint_folder_ids (可选): 要导出的接口文件夹 ID 列表
  • oas_version (可选): OpenAPI 版本,默认 "3.1"
  • export_format (可选): 导出格式,默认 "JSON"
  • include_apifox_extension (可选): 是否包含 Apifox 扩展属性
  • add_folders_to_tags (可选): 是否将文件夹添加到标签
  • branch_id (可选): 分支 ID
  • module_id (可选): 模块 ID
  • locale (可选): 语言环境,默认 "zh-CN"

示例:

请帮我从项目 123456 导出 OpenAPI 3.1 格式的 JSON 数据

开发

项目结构

apifoxmcp/
├── src/
│   └── apifox_mcp/
│       ├── __init__.py          # 包初始化
│       ├── __main__.py          # 启动入口
│       ├── client.py            # Apifox API 客户端
│       └── server.py            # MCP 服务器实现
├── pyproject.toml               # 项目配置
└── README.md                    # 项目文档

运行测试

pytest

API 参考

详细的 API 文档请参考 Apifox 开放 API 文档

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

链接

相关 MCP 服务