使用说明
OpenAPI到MCP服务器
此项目直接从提供的 openapi.yaml,使用 uv 用于依赖性管理。每个HTTP端点都成为AnythingLLM(或任何支持MCP的客户端)可以调用的MCP工具。
快速开始
-
安装依赖项
uv sync -
配置
openapi2mcpserver/config.yamlbase_url: "https://localhost:12001" verify_ssl: false openapi_path: "../openapi.yaml" # Optional, defaults to the repo root copy log_file: "../logs/openapi2mcpserver.log" # Optional, enables file logging log_level: "INFO" # Optional, supports DEBUG/INFO/WARNING/ERROR auth: mode: "basic" # Options: 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" -
启动MCP服务器
uv run openapi2mcpserver
在AnythingLLM中使用此MCP服务器
以下步骤针对AnythingLLM桌面插件系统,并列出了macOS和Windows的默认路径。如果文件不存在,则创建该文件,并用计算机上的值替换示例路径。
macOS
-
打开
~/Library/Application Support/anythingllm-desktop/storage/plugins/anythingllm_mcp_servers.json -
添加或合并以下配置:
{ "mcpServers": { "rhino-agent": { "command": "/Users/<你的用户名>/.local/bin/uv", "args": ["run", "--project", "/Users/<你的用户名>/workspace/AIProjects/openapi2mcpserver", "openapi2mcpserver"] } } }
视窗
-
打开
%APPDATA%\anythingllm-desktop\storage\plugins\anythingllm_mcp_servers.json -
如果你使用
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模式输入,并将调用转发到上游API。响应(状态、标头和JSON/文本正文)逐字返回给MCP客户端,以便您可以链接后续操作,如轮询任务状态。
