返回 MCP 目录
public公开dns本地运行

mcp-server-any-openapi

一个可扩展的OpenAPI端点发现和API请求工具,通过语义搜索快速找到相关API端点并执行请求。

article

README

🚀 MCP 服务器

MCP(Message Communication Protocol)服务器基于 FastAPI 实现,主要用于支持与 Claude Desktop 的交互。它可通过 Docker 运行,还支持多平台架构,为开发者提供了便利的使用体验。

🚀 快速开始

MCP 服务器能够帮助开发者轻松实现与 Claude Desktop 的交互。你可以通过以下步骤快速安装并运行它。

✨ 主要特性

  • 多架构支持:官方镜像支持三种平台:linux/amd64linux/arm64
  • 灵活的工具命名:可通过 MCP_API_PREFIX 控制工具名称。
  • OpenAPI 支持:能够处理 OpenAPI 规范,提取 API 端点信息并提供搜索功能。

📦 安装指南

使用预构建镜像(Docker Hub)

docker pull buryhuang/mcp-server-any-openapi:latest

本地开发构建

docker build -t mcp-server-any-openapi .

运行容器

docker run \
  -e OPENAPI_JSON_DOCS_URL=https://api.example.com/openapi.json \
  -e MCP_API_PREFIX=finance \
  buryhuang/mcp-server-any-openapi:latest

🔧 技术细节

核心组件

  1. EndpointSearcher:核心类,处理以下功能:
    • OpenAPI 规范解析
    • 半检索索引创建
    • 端点文档格式化
    • 自然语言查询处理
  2. 服务器实现
    • 异步 FastAPI 服务器
    • MCP 协议支持
    • 工具注册和调用处理

实现说明

  • 基于端点的处理:不同于难以处理大规格文档的基于文档的方法,我们通过以下方式对端点进行索引:
    • 使用路径和方法作为唯一标识符
    • 参数感知嵌入
    • 响应方案上下文
  • 优化规范处理:通过以下方式处理 OpenAPI 规范(支持高达 10MB 或约 5,000 个端点):
    • 惰性加载组件模式
    • 并行解析路径项
    • 选择性生成嵌入(省略冗余描述)

📚 详细文档

集成与配置

在 Claude Desktop 中配置 MCP 服务器:

{
  "mcpServers": {
    "any_openapi": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OPENAPI_JSON_DOCS_URL=https://api.example.com/openapi.json",
        "-e",
        "MCP_API_PREFIX=finance",
        "-e",
        "GLOBAL_TOOL_PROMPT='Access to insights apis for ACME Financial Services abc.com .",
        "buryhuang/mcp-server-any-openapi:latest"
      ]
    }
  }
}

贡献指南

  1. ** Fork 仓库**
  2. ** 创建功能分支**(git checkout -b feature/amazing-feature
  3. ** 提交更改**(git commit -m 'Add some amazing feature'
  4. ** 推送到分支**(git push origin feature/amazing-feature
  5. ** 提交 Pull Request**

📄 许可证

该项目在 LICENSE 文件中包含其许可条款。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端