Open WebUI MCP 服务器

Open WebUI MCP 服务器是一个用于管理 Open WebUI 的管理 API 的工具,允许 AI 助手管理用户、组、模型、知识库等。

  • by troylar
  • Python
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 troylar/open-webui-mcp-server

使用说明

打开WebUI MCP服务器

MCP(模型上下文协议)服务器,将Open WebUI的管理API作为工具公开,允许AI助手管理用户、组、模型、知识库等。

特性

  • 用户管理:列出、获取、更新角色、删除用户
  • 组管理:创建、更新、添加/删除成员、删除组
  • 模型管理:创建自定义模型、更新系统提示、管理参数
  • 知识库管理:创建、列出、删除知识库
  • 聊天管理:列出、查看、删除聊天记录
  • 工具和功能发现:列出可用的工具和功能
  • 权限感知:所有操作都尊重登录用户的权限

安全

重要:此服务器将用户的身份验证令牌传递给Open WebUI。这意味着:

  • 管理员操作需要管理员API密钥
  • 普通用户只能访问自己的资源
  • 所有权限检查都由Open WebUI的API强制执行

安装

pip install openwebui-mcp-server

或者使用紫外线:

uv pip install openwebui-mcp-server

配置

设置所需的环境变量:

export OPENWEBUI_URL=https://your-openwebui-instance.com

(可选)设置一个默认的API密钥(可根据请求重写):

export OPENWEBUI_API_KEY=your-api-key

用法

使用克劳德桌面

添加到您的Claude桌面配置(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "openwebui": {
      "command": "openwebui-mcp",
      "env": {
        "OPENWEBUI_URL": "https://your-openwebui-instance.com",
        "OPENWEBUI_API_KEY": "your-api-key"
      }
    }
  }
}

使用开放式WebUI(通过MCPO)

  1. 以HTTP模式启动服务器:
export OPENWEBUI_URL=https://your-openwebui-instance.com
export MCP_TRANSPORT=http
export MCP_HTTP_PORT=8001
openwebui-mcp
  1. 在Open WebUI中添加为MCP服务器:
    • 首选 管理员设置→ 外部工具
    • 使用URL添加新的MCP服务器: http://localhost:8001/mcp

程序化使用

from openwebui_mcp.client import OpenWebUIClient

client = OpenWebUIClient(
    base_url="https://your-openwebui-instance.com",
    api_key="your-api-key"
)

# List all users (admin only)
users = await client.list_users()

# Create a group
group = await client.create_group("Engineering", "Engineering team")

# Create a custom model
model = await client.create_model(
    id="my-assistant",
    name="My Assistant",
    base_model_id="gpt-4",
    meta={"system": "You are a helpful assistant."},
    params={"temperature": 0.7}
)

可用工具

用户管理

工具 描述 权限
get_current_user 获取经过身份验证的用户的个人资料 任意
list_users 列出所有用户 管理员
get_user 获取特定用户详细信息 管理员
update_user_role 更改用户角色 管理员
delete_user 删除用户 管理员

组管理

工具 描述 权限
list_groups 列出所有组 任意
create_group 创建新组 管理员
get_group 获取组详细信息 任意
update_group 更新组名/描述 管理员
add_user_to_group 将用户添加到组 管理员
remove_user_from_group 从组中删除用户 管理员
delete_group 删除组 管理员

模型管理

工具 描述 权限
list_models 列出所有型号 任意
get_model 获取模型配置 任意
create_model 创建自定义模型 管理员
update_model 更新模型设置 管理员
delete_model 删除模型 管理员

知识库管理

工具 描述 权限
list_knowledge_bases 列出知识库 任意
get_knowledge_base 获取知识库详细信息 任何
create_knowledge_base 创建知识库 任意
delete_knowledge_base 删除知识库 所有者

聊天管理

工具 描述 权限
list_chats 列出用户的聊天记录 自己的
get_chat 获取聊天信息 自己
delete_chat 删除聊天记录 拥有
delete_all_chats 删除所有聊天记录 拥有

系统

工具 描述 权限
list_tools 列出可用工具 任意
list_functions 列表函数/过滤器 任意
get_system_config 获取系统配置 管理员

发展

# Clone the repo
git clone https://github.com/troylar/open-webui-mcp-server.git
cd open-webui-mcp-server

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linter
ruff check src/

许可证

MIT许可证-请参阅 许可证 了解详情。

贡献

欢迎投稿!请在GitHub上打开问题或PR。

相关项目