打开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)
- 以HTTP模式启动服务器:
export OPENWEBUI_URL=https://your-openwebui-instance.com
export MCP_TRANSPORT=http
export MCP_HTTP_PORT=8001
openwebui-mcp- 在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。
