Open WebUI 集成 MCPo 实践:支持 Ollama 与多种 MCP Server
随着人工智能工具和模型的快速发展,如何高效、安全地将这些工具集成到标准化的 API 接口中成为了开发者面临的重要挑战。Open WebUI 的 MCPo 项目(Model Context Protocol-to-OpenAPI Proxy Server)正是为了解决这一问题而设计的。
什么是 MCPo?
MCPo 是一个简单、可靠的代理服务器,能够将任何基于 MCP 协议的工具转换为兼容 OpenAPI 的 HTTP 服务器。它通过标准化 RESTful API 接口,让复杂的工具变得易于使用,并支持与大语言模型(LLM)代理和应用程序的无缝交互。
核心优势包括:
- 即时兼容性:支持 OpenAPI 工具、SDK 和用户界面,无需额外配置。
- 安全性与稳定性:采用标准化的 HTTPS 传输协议,支持 JWT 和 API 密钥认证。
- 自动生成文档:无需手动配置,自动生成交互式 Swagger UI 文档。
- 纯 HTTP 支持:无需额外的套接字或胶合代码,简化开发流程。
部署指南
1. 环境准备
首先确保本地已安装 Ollama 并拉取所需模型。这一步是为了后续验证 AI 能力。
ollama run gemma3
2. 安装与启动 MCPo
MCPo 可以通过 pip 或 uvx 快速安装。这里以 Python 环境为例,启动时指定端口和 API 密钥以增强安全性。
# 安装
pip install mcpo
# 启动示例(带 API 密钥保护)
mcpo --port 8000 --api-key "top-secret" -- your_mcp_server_command
实际运行中,你可以直接启动具体的 MCP 服务,例如时间服务或 Fetch 服务:
# 启动时间服务
uvx mcpo --port 8000 --api-key "top-secret" -- uvx mcp-server-time --local-timezone=America/New_York
# 启动 Fetch 服务
uvx mcpo --port 8000 -- uvx mcp-server-fetch
启动后,访问 http://localhost:8000/docs 即可查看自动生成的 API 文档。
3. 配置文件管理
对于需要同时运行多个 MCP 工具的场景,推荐使用配置文件进行管理。这样不同工具可以通过唯一路由访问,避免冲突。
{
"mcpServers": {
"memory": {
"command": "npx",
"args"


