一个同时支持 MCP 和 CLI 的 Apifox/OpenAPI 文档工具。
项目使用 Yarn 3。
yarn install
yarn build常用开发命令:
yarn build
yarn typecheck
yarn lint工具支持三种来源,三选一:
--projectId--siteId--oas
说明:
- 来源参数必须显式通过命令行传入
- 不支持通过环境变量传入
projectId、siteId、oas
支持以下环境变量:
APIFOX_ACCESS_TOKENAPIFOX_API_BASE_URLAPIFOX_API_VERSIONAPIFOX_API_PAGE_SIZEAPIFOX_DATA_LOCATION
示例:
export APIFOX_ACCESS_TOKEN="your_access_token"
export APIFOX_DATA_LOCATION="/tmp"启动时如果已经传入来源参数,MCP 会注册带后缀的工具名,便于多实例区分。
示例:
apifox-mcp --projectId=12345
apifox-mcp --siteId=abcde
apifox-mcp --oas=https://petstore.swagger.io/v2/swagger.json如果启动时没有传来源参数,MCP 会注册无后缀工具名:
read_apifox_oasread_apifox_oas_ref_resourcesrefresh_apifox_oasget_apifox_cache_info
同时这些工具的 schema 会带 oneOf,要求在调用时传入以下之一:
projectIdsiteIdoas
如果启动时传了来源参数,则工具 schema 不再要求重复传来源。
以 projectId 为例:
{
"mcpServers": {
"api-docs": {
"command": "npx",
"args": ["-y", "@acehubert/apifox-mcp@latest", "--projectId=12345"],
"env": {
"APIFOX_ACCESS_TOKEN": "your_access_token"
}
}
}
}CLI 所有命令都要求显式传入来源参数。
apifox oas view --projectId=12345
apifox oas view --siteId=abcde
apifox oas view --oas=/tmp/openapi.jsonapifox oas refresh --projectId=12345
apifox oas refresh --oas=https://petstore.swagger.io/v2/swagger.jsonapifox refs read \
--projectId=12345 \
--path=/paths/_users.json \
--path=/components/schemas/User.jsonapifox cache info --projectId=12345返回内容包括:
cacheDircacheFileexistssourcelastUpdatedAt
apifox --help
apifox oas --help
apifox refs --help
apifox cache --help拉取文档后会在本地生成缓存,并把 OpenAPI 文档拆成:
- 主索引
index.json paths/*.jsoncomponents/**/*.json
cache info 中的 lastUpdatedAt 使用缓存文件 index.json 的修改时间。
skills/是项目内 skills 源目录.claude/skills已软链接到skills/
- 读取
projectId来源时必须提供有效的APIFOX_ACCESS_TOKEN siteId与oas来源不要求 tokenoas后缀命名会基于输入地址或路径生成稳定 hash