AnyAPI-MCP-Server
使用说明(Markdown 格式)
-
项目简介
- AnyAPI-MCP-Server 是一个服务端实现,能够将 OpenAPI、Postman Collection 等 API 规格转化为可被大语言模型访问的后端资源。它实现了资源读取、工具执行和提示模板渲染等 MCP 服务器核心能力,并通过 JSON-RPC 与客户端协作,方便将第三方 REST API 无缝接入 AI 应用中。
-
主要功能点
- 资源管理:对接入的外部 API 规格,提供可读的资源元信息和数据访问能力。
- 工具注册与执行:内置工具可用于浏览端点、查看端点详情、执行查询/请求等,支持示意性的数据交互和示例查询。
- 自动化推理提示:自动渲染并返回与 API 结构相关的 Prompt 模板,帮助 LLM 客户端快速构造有效请求。
- 安全与监控:内置日志、速率限制跟踪、错误上下文分析等,便于安全审计和故障排查。
- 支持多种传输/接口:通过 MCP 框架,与多种传输方式协作(如标准输入/输出、服务器发送事件、WebSocket 等)。
- API 规范解析:兼容 OpenAPI、Swagger、Postman 2.x,自动解析请求/响应结构、参数、认证方案等。
-
安装步骤
- 使用全局安装:npm install -g anyapi-mcp-server
- 或在你的项目中本地安装并通过命令行启动
- 启动后,服务会读取你提供的 API 规格、基础 API URL、以及可选的头信息来构建后端上下文,并对外提供工具接口。
-
服务器配置(供 MCP 客户端使用的最低信息) 说明:MCP 客户端需要通过一个可运行的启动命令来连接到该服务器。以下配置用于在客户端环境中启动服务器进程,并让客户端知道服务器的名称与启动参数。请根据实际部署替换 name、specs、baseUrl、headers 等字段。客户端配置示例仅展示用于连接服务器的命令与参数,不需要包含服务器端的内部实现细节。
- serverName(服务器名称,用于标识该后端)
- command(启动服务器的命令,例如 npx)
- args(启动参数数组,包含服务器名称、规格路径、基础URL 等) 参考配置示意(文本描述,不作为代码块呈现):
- serverName: your-api
- command: npx
- args:
- -y
- anyapi-mcp-server
- --name your-api
- --spec path/to/openapi.json
- --base-url https://api.example.com
- --header Authorization: Bearer ${API_KEY} 注释:production 环境可将 API_KEY 等敏感信息通过环境变量注入,客户端在启动服务器时会将环境变量传给进程。MCP 客户端仅需要 connaître(知道)启动命令和参数;具体服务器的运行、认证机制、缓存策略等由服务器端自行处理。
-
基本使用方法
- 启动后,MCP 客户端可以通过下列工具与服务器交互:
- list_api:浏览可用的端点,探索分类、搜索和端点细节。
- call_api:读取端点元数据、推断请求/响应结构、以及可用的 GraphQL 风格字段。
- query_api:按选定字段获取端点数据,支持数据缓存与分段提取。
- explain_api:获取端点的完整文档说明,无需真实请求。
- 通过以上工具,LLM 客户端可以在不暴露原始实现的情况下,安全、可扩展地访问外部 REST API。
- 启动后,MCP 客户端可以通过下列工具与服务器交互:
-
额外注意
- 服务器支持 OAuth、速率限制和错误上下文分析等能力,可在需要时通过配置为客户端提供更丰富的错误处理与重试策略。
- 若你需要对接多份规格(OpenAPI、Postman Collection),可将它们作为多个规格源加入服务器,以实现对同一后端的统一访问入口。