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。
  • 额外注意

    • 服务器支持 OAuth、速率限制和错误上下文分析等能力,可在需要时通过配置为客户端提供更丰富的错误处理与重试策略。
    • 若你需要对接多份规格(OpenAPI、Postman Collection),可将它们作为多个规格源加入服务器,以实现对同一后端的统一访问入口。

服务器信息