返回市场
开放API转MCP服务器

开放API转MCP服务器

作者:rykerwang2 星标更新:2025-10-31

项目介绍

OpenAPI到MCP服务器

简体中文 | English

该项目使用uv进行依赖管理,直接从提供的openapi.yaml文件启动一个模型上下文协议(MCP)服务器。每个HTTP端点都成为一个MCP工具,AnythingLLM(或其他支持MCP的客户端)可以调用这些工具。

快速开始

  1. 安装依赖

    uv sync
    
  2. 配置openapi2mcpserver/config.yaml

    base_url: "https://localhost:12001"
    verify_ssl: false
    openapi_path: "../openapi.yaml"           # 可选,默认为仓库根目录的副本
    log_file: "../logs/openapi2mcpserver.log" # 可选,启用文件日志记录
    log_level: "INFO"                         # 可选,支持DEBUG/INFO/WARNING/ERROR
    
    auth:
      mode: "basic"                           # 选项:none/basic/bearer/header/query
      username: "your-username"
      password: "your-password"
      # basic_token: "cHJlLWVuY29kZWQtY3JlZHM="
      # extra_headers:
      #   X-API-Version: "1"
    
    # default_headers:
    #   X-Request-Source: "mcp"
    
  3. 启动MCP服务器

    uv run openapi2mcpserver
    

在AnythingLLM中使用此MCP服务器

以下步骤针对的是AnythingLLM桌面插件系统,并列出了macOS和Windows的默认路径。如果文件不存在,请创建该文件,并将示例路径替换为您机器上的值。

macOS

  1. 打开~/Library/Application Support/anythingllm-desktop/storage/plugins/anythingllm_mcp_servers.json

  2. 添加或合并以下配置:

    {
      "mcpServers": {
        "rhino-agent": {
          "command": "/Users/<你的用户名>/.local/bin/uv",
          "args": ["run", "--project", "/Users/<你的用户名>/workspace/AIProjects/openapi2mcpserver", "openapi2mcpserver"]
        }
      }
    }
    

Windows

  1. 打开%APPDATA%\anythingllm-desktop\storage\plugins\anythingllm_mcp_servers.json

  2. 如果您使用uv.exe,请将路径替换为where uv命令的输出,例如:

    {
      "mcpServers": {
        "rhino-agent": {
          "command": "C:\\Users\\<YourUser>\\AppData\\Roaming\\Python\\Scripts\\uv.exe",
          "args": ["run", "--project", "C:\\Users\\<YourUser>\\workspace\\AIProjects\\openapi2mcpserver", "openapi2mcpserver"]
        }
      }
    }
    

保存后重启AnythingLLM(或在设置中重新加载插件),您应该能在工作区的工具列表中看到rhino-agent

特点

  • 自动解析每个OpenAPI路径并注册相应的MCP工具
  • 暴露OpenAPI_GetSchema以检查components.schemas
  • 工具输入涵盖路径参数、查询参数、头部信息和请求体
  • 灵活的身份验证(无/基本/承载/自定义头部/查询)以及全局默认头部
  • 结构化日志记录到控制台和文件,便于LLM故障排除

目录结构

openapi2mcpserver/
    __init__.py
    __main__.py
    client.py
    config.py
    openapi_loader.py
    server.py

运行时注意事项

启动时,服务器会读取OpenAPI描述,为每个工具构建JSON Schema输入,并将调用转发给上游API。响应(状态码、头部信息和JSON/文本主体)将原样返回给MCP客户端,以便您可以链接后续操作,如轮询任务状态。