使用说明
打开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。
