Open WebUI MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HTTP_PORT | No | Port to use when running the server in HTTP mode | |
| MCP_TRANSPORT | No | Transport protocol for the server (e.g., 'http') | |
| OPENWEBUI_URL | Yes | The URL of your Open WebUI instance (e.g., https://your-openwebui-instance.com) | |
| OPENWEBUI_API_KEY | No | Optional default API key for authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_current_userA | Get the currently authenticated user's profile. Returns your ID, name, email, role, and permissions. |
| list_usersA | List all users in Open WebUI. ADMIN ONLY. |
| get_userB | Get details for a specific user. ADMIN ONLY. |
| update_user_roleA | Update a user's role. ADMIN ONLY. Roles: 'admin', 'user', 'pending'. |
| delete_userA | Delete a user. ADMIN ONLY. WARNING: Cannot be undone! |
| list_groupsB | List all groups with their IDs, names, and member counts. |
| create_groupA | Create a new group. ADMIN ONLY. |
| get_groupB | Get details for a specific group including members. |
| update_groupB | Update a group's name or description. ADMIN ONLY. |
| add_user_to_groupA | Add a user to a group. ADMIN ONLY. |
| remove_user_from_groupB | Remove a user from a group. ADMIN ONLY. |
| delete_groupA | Delete a group. ADMIN ONLY. Removes all users from the group. |
| list_modelsB | List all available models including custom models. |
| get_modelB | Get details for a specific model including system prompt and parameters. |
| create_modelC | Create a new custom model wrapper. ADMIN ONLY. |
| update_modelB | Update a model's name, system prompt, or parameters. |
| delete_modelB | Delete a custom model. ADMIN ONLY. |
| list_knowledge_basesB | List all knowledge bases with their IDs, names, and descriptions. |
| get_knowledge_baseC | Get details for a knowledge base including file list. |
| create_knowledge_baseC | Create a new knowledge base for RAG. |
| update_knowledge_baseB | Update a knowledge base's name or description. |
| delete_knowledge_baseA | Delete a knowledge base and all its files. WARNING: Cannot be undone! |
| list_filesB | List all uploaded files with metadata. |
| search_filesB | Search files by filename pattern. Supports wildcards like *.pdf |
| get_fileB | Get metadata for a specific file. |
| get_file_contentB | Get the extracted text content from a file. |
| update_file_contentB | Update the extracted text content of a file. |
| delete_fileC | Delete a file. |
| delete_all_filesA | Delete all files. ADMIN ONLY. WARNING: Cannot be undone! |
| list_promptsB | List all prompt templates. |
| create_promptB | Create a new prompt template triggered by a command. |
| get_promptC | Get a prompt template by its command. |
| update_promptC | Update a prompt template. |
| delete_promptC | Delete a prompt template. |
| list_memoriesB | List all your stored memories. |
| add_memoryB | Add a new memory to your memory store. |
| query_memoriesC | Search memories using semantic similarity. |
| update_memoryD | Update an existing memory. |
| delete_memoryC | Delete a specific memory. |
| delete_all_memoriesA | Delete all your memories. WARNING: Cannot be undone! |
| reset_memoriesB | Re-embed all memories in the vector database. |
| list_chatsB | List your chats. |
| get_chatB | Get a chat's details and message history. |
| delete_chatC | Delete a chat. |
| delete_all_chatsA | Delete all your chats. WARNING: Cannot be undone! |
| archive_chatC | Archive a chat. |
| share_chatC | Share a chat (make it publicly accessible). |
| clone_chatB | Clone a shared chat to your account. |
| list_foldersB | List all folders for organizing chats. |
| create_folderB | Create a new folder. |
| get_folderD | Get folder details. |
| update_folderB | Rename a folder. |
| delete_folderC | Delete a folder. |
| list_toolsB | List all available tools (MCP, OpenAPI, custom). |
| get_toolC | Get details for a specific tool. |
| create_toolC | Create a new custom tool with Python code. |
| update_toolB | Update a tool's name or code. |
| delete_toolC | Delete a tool. |
| list_functionsB | List all functions (filters and pipes). |
| get_functionC | Get details for a specific function. |
| create_functionC | Create a new function (filter or pipe) with Python code. |
| update_functionC | Update a function's name or code. |
| toggle_functionB | Toggle a function's enabled/disabled state. |
| delete_functionD | Delete a function. |
| list_notesB | List all your notes. |
| create_noteB | Create a new note with markdown content. |
| get_noteB | Get a specific note by ID. |
| update_noteB | Update a note's title or content. |
| delete_noteC | Delete a note. |
| list_channelsB | List all team chat channels. |
| create_channelC | Create a new team chat channel. |
| get_channelC | Get details for a specific channel. |
| update_channelB | Update a channel's name or description. |
| delete_channelC | Delete a channel and all its messages. |
| get_channel_messagesB | Get messages from a channel with pagination. |
| post_channel_messageB | Post a message to a channel. Optionally reply to a parent message. |
| delete_channel_messageB | Delete a message from a channel. |
| get_system_configA | Get system configuration. ADMIN ONLY. |
| export_configB | Export full system configuration. ADMIN ONLY. |
| get_bannersB | Get system notification banners. |
| get_models_configA | Get default models configuration. ADMIN ONLY. |
| get_tool_serversA | Get tool server (MCP/OpenAPI) connections. ADMIN ONLY. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 82 tools
The tools cover distinct resources like chats, files, models, and users, but there is significant overlap in CRUD operations across different resource types, which could cause confusion. For example, 'delete_chat', 'delete_file', 'delete_folder', etc., all follow the same pattern but target different entities, potentially leading to misselection if the agent isn't clear on the resource context.
Tool names follow a highly consistent verb_noun pattern throughout, such as 'create_channel', 'get_channel', 'update_channel', and 'delete_channel'. This predictability makes it easy for agents to understand and navigate the toolset without confusion from mixed naming conventions.
With 82 tools, the count is excessive for the Open WebUI domain, making the surface overwhelming and difficult to manage. This many tools suggests poor scoping, as many operations could be consolidated or generalized, leading to potential inefficiency and confusion for agents.
The toolset provides comprehensive CRUD and lifecycle coverage for all key resources in Open WebUI, including chats, files, models, users, and knowledge bases. There are no obvious gaps, with tools for creation, retrieval, updating, deletion, listing, and specialized actions like sharing or querying, ensuring agents can handle full workflows without dead ends.