Skip to main content
Glama

OpenAPI to MCP Server

by rykerwang
README.zh-cn.md3.34 kB
# OpenAPI 到 MCP Server [简体中文](README.zh-cn.md) | [English](README.md) 这个项目从提供的 `openapi.yaml` 直接启动一个 Model Context Protocol (MCP) 服务器,并使用 `uv` 管理依赖。每一个 HTTP 端点都会被注册为一个 MCP 工具,AnythingLLM(或任意支持 MCP 的客户端)都可以调用。 ## 快速开始 1. **安装依赖** ```bash uv sync ``` 2. **配置 `openapi2mcpserver/config.yaml`** ```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 服务器** ```bash uv run openapi2mcpserver ``` ## 在 AnythingLLM 中使用该 MCP 服务器 以下步骤针对 AnythingLLM 桌面版插件系统,并列出了 macOS 与 Windows 的默认路径。如路径不存在,请先创建文件,并根据你的实际环境替换示例路径。 ### macOS 1. 打开 `~/Library/Application Support/anythingllm-desktop/storage/plugins/anythingllm_mcp_servers.json` 2. 新增或合并以下配置: ```json { "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` 的输出,例如: ```json { "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` - 工具输入涵盖路径参数、查询参数、请求头与请求体 - 支持灵活的认证模式(none/basic/bearer/自定义 header/query)以及全局默认请求头 - 结构化日志同时输出到控制台和文件,便于 LLM 排错 ## 项目结构 ``` openapi2mcpserver/ __init__.py __main__.py client.py config.py openapi_loader.py server.py ``` ## 运行提示 服务器启动时会读取 OpenAPI 描述,为每个工具构建 JSON Schema 输入,并将调用转发给上游 API。响应(状态码、请求头以及 JSON/文本响应体)会原样返回给 MCP 客户端,这样你可以继续执行诸如轮询任务状态之类的后续操作。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rykerwang/openapi2mcpserver'

If you have feedback or need assistance with the MCP directory API, please join our Discord server