Skip to main content

OpenWebUI 集成的 OpenAPI 生成

MCPHub 现在支持从 MCP 工具生成 OpenAPI 3.0.3 规范,实现与 OpenWebUI 和其他 OpenAPI 兼容系统的无缝集成,无需 MCPO 作为中间代理。

功能特性

  • 自动 OpenAPI 生成:将 MCP 工具转换为 OpenAPI 3.0.3 规范
  • OpenWebUI 兼容:无需 MCPO 代理的直接集成
  • 实时工具发现:动态包含已连接 MCP 服务器的工具
  • 双参数支持:支持 GET(查询参数)和 POST(JSON 正文)进行工具执行
  • 无需身份验证:OpenAPI 端点公开,便于集成
  • 完整元数据:具有适当模式和文档的完整 OpenAPI 规范

API 端点

OpenAPI 规范

生成并返回所有已连接 MCP 工具的完整 OpenAPI 3.0.3 规范。.json.yaml 版本接受相同的查询参数。 查询参数:
string
自定义 API 标题
string
自定义 API 描述
string
自定义 API 版本
string
自定义服务器 URL
boolean
default:"false"
包含禁用的工具
string
要包含的服务器名称列表(逗号分隔)

组/服务器特定的 OpenAPI 规范

为特定组或服务器生成并返回 JSON 或 YAML 格式的 OpenAPI 3.0.3 规范。如果存在具有给定名称的组,则返回该组中所有服务器的规范。否则,将名称视为服务器名称并仅返回该服务器的规范。 路径参数:
string
required
组 ID/名称或服务器名称
查询参数: 与主 OpenAPI 规范端点相同(title、description、version、serverUrl、includeDisabled)。

可用服务器

返回已连接的 MCP 服务器名称列表。

工具统计

返回有关可用工具和服务器的统计信息。

工具执行

通过 OpenAPI 兼容端点执行 MCP 工具。 路径参数:
string
required
MCP 服务器的名称
string
required
要执行的工具名称

OpenWebUI 集成

要将 MCPHub 与 OpenWebUI 集成:
1

启动 MCPHub

确保 MCPHub 正在运行,并且已配置 MCP 服务器
2

获取 OpenAPI 规范

3

添加到 OpenWebUI

在 OpenWebUI 中导入 OpenAPI 规范文件或直接指向 URL

配置示例

在 OpenWebUI 中,您可以通过以下方式将 MCPHub 添加为 OpenAPI 工具:

OpenAPI URL

http://localhost:3000/api/openapi.jsonhttp://localhost:3000/api/openapi.yaml

基础 URL

http://localhost:3000/api

生成的 OpenAPI 结构

生成的 OpenAPI 规范包括:

工具转换逻辑

  • 简单工具(≤10 个原始参数)→ 带查询参数的 GET 端点
  • 复杂工具(对象、数组或 >10 个参数)→ 带 JSON 请求正文的 POST 端点
  • 所有工具都包含完整的响应模式和错误处理

生成操作示例

安全性

  • 定义了 Bearer 身份验证但不对工具执行端点强制执行
  • 支持与各种 OpenAPI 兼容系统的灵活集成

相比 MCPO 的优势

直接集成

无需中间代理

实时更新

OpenAPI 规范随着 MCP 服务器连接/断开自动更新

更好的性能

直接工具执行,无代理开销

简化架构

减少一个需要管理的组件

故障排除

确保 MCP 服务器已连接。检查 /api/openapi/stats 查看服务器状态。
验证工具名称和参数是否与 OpenAPI 规范匹配。检查服务器日志以获取详细信息。
确保 MCPHub 可从 OpenWebUI 访问,并且 OpenAPI URL 正确。
检查您的 MCP 服务器配置中是否启用了工具。使用 includeDisabled=true 查看所有工具。