MCP в Open WebUI: как дать моделям доступ к внешним инструментам
Open WebUI умеет подключать MCP-серверы и отдавать их инструменты моделям. Разбираем пошаговую настройку, ограничения и то, как это сказывается на расходе токенов при работе через шлюз.
5 мин · · агенты · автоматизация
Open WebUI MCP позволяет подключить к чату внешние инструменты: поиск по базе, задачи в трекере, файлы, любые сервисы с MCP-сервером. Модель сама решает, когда вызвать инструмент, а Open WebUI выполняет вызов и возвращает результат. Ниже разберём настройку, отличия от OpenAPI-инструментов, работу со stdio-серверами и то, сколько токенов это добавляет, когда модели подключены через шлюз.
Описание основано на документации Open WebUI (страница про MCP и про инструменты). Интерфейс меняется между версиями, а встроенная поддержка MCP, по документации, начинается с версии 0.6.31, поэтому пункты меню сверяйте у себя.
Как это работает вместе со шлюзом
Схема состоит из трёх частей:
- Модель. Подключена к Open WebUI как OpenAI-совместимый провайдер, адрес
https://api.zukko.pro/v1, ключfetch_.... Подробности в статье Open WebUI: подключение к Zukko. - Open WebUI. Хранит список инструментов, передаёт их описания модели вместе с запросом и выполняет вызовы.
- MCP-сервер. Живёт отдельно и отвечает на вызовы Open WebUI.
Шлюз о существовании MCP ничего не знает. Для него это обычный запрос chat completions, в котором есть массив tools и, в следующем запросе, результаты вызовов. Значит, MCP не требует от шлюза ничего особенного, но требует от модели умения вызывать инструменты. Это ключевой момент: по документации Open WebUI, MCP только подключает инструменты, а способность ими пользоваться зависит от модели. Если модель игнорирует инструменты или присылает неверные аргументы, документация советует взять более сильную модель с надёжным вызовом функций, а не считать, что сломан MCP.
Пошаговая настройка
По документации Open WebUI:
- Откройте Settings, Admin, Integrations.
- В разделе External Tool Servers нажмите Add Connection.
- В поле Type выберите MCP (Streamable HTTP). Не выбирайте OpenAPI: если вставить MCP-конфигурацию в подключение типа OpenAPI, интерфейс может зависнуть на бесконечной загрузке.
- Введите адрес сервера и способ авторизации.
- Сохраните, при запросе перезапустите Open WebUI.
Затем включите нужный инструмент в самом чате через меню инструментов у поля ввода (точное название пункта зависит от версии).
Способы авторизации
- None — для локальных серверов и закрытых сетей. Документация советует по умолчанию выбирать именно его, если сервер не требует токен: режим Bearer с пустым ключом отправляет пустой заголовок, и многие серверы отклоняют соединение.
- Bearer — когда у MCP-сервера есть свой API-токен; его нужно вписать в поле ключа.
- OAuth 2.1 — когда сервер поддерживает динамическую регистрацию клиентов, и OAuth 2.1 (Static) — когда у вас уже есть client ID и client secret от провайдера.
Для OAuth обязательно задайте переменную окружения WEBUI_SECRET_KEY в Docker-конфигурации Open WebUI. Без неё токены OAuth после перезапуска контейнера не расшифровываются, и придётся авторизовываться заново. Ещё одно правило из документации: инструменты с OAuth 2.1 не делайте инструментами по умолчанию на модели, потому что авторизация требует перехода в браузере и не пройдёт посреди запроса.
Адрес сервера из Docker
Если Open WebUI запущен в Docker, а MCP-сервер работает на хост-машине, вместо localhost указывайте host.docker.internal с нужным портом.
MCP или OpenAPI
Документация Open WebUI прямо пишет, что для большинства развёртываний предпочтительнее OpenAPI: у него лучше с единым входом, аудитом, квотами, типизированными SDK и стандартными кодами ошибок. MCP выбирают, когда у вас уже есть MCP-серверы и нужен общий протокол. Выбирать приходится не всегда: можно держать оба варианта и подключать то, что уже есть.
Есть и важное ограничение. MCP-серверы в Open WebUI может добавлять только администратор. Обычные пользователи со своим разрешением на прямые серверы инструментов могут подключать только OpenAPI. Причина в безопасности: MCP-сервер работает в границах доверия Open WebUI, и вредоносный сервер способен прочитать данные пользователя. Поэтому подключайте только серверы, которым доверяете, и выдавайте к ним доступ нужным группам через управление доступом.
Если у MCP-сервера только stdio
Многие готовые MCP-серверы запускаются локально и общаются через stdio, а встроенная поддержка Open WebUI работает только с Streamable HTTP. Для таких серверов Open WebUI предлагает прокси mcpo, который превращает MCP-сервер в OpenAPI-сервис. Пример из документации:
uvx mcpo --port 8000 -- uvx mcp-server-time --local-timezone=America/New_YorkПосле запуска на http://localhost:8000/docs появляется документация сгенерированных эндпоинтов, а сам адрес http://localhost:8000 добавляется в Open WebUI как OpenAPI-сервер инструментов. Названия флагов и команд берите из документации mcpo: здесь приведён только пример из документации Open WebUI.
Вызов инструментов из кода
Инструменты можно включать и при запросах к собственному API Open WebUI, а не только в интерфейсе. Как передать в запросе идентификаторы подключённых серверов инструментов, смотрите в документации Open WebUI, раздел API Endpoints: формат зависит от версии.
Сколько токенов уходит на инструменты
Это самая частая неожиданность при работе через шлюз. Описания всех включённых инструментов отправляются модели в каждом запросе, и результаты вызовов тоже добавляются в контекст. Оцените вручную: пусть описания занимают 4000 токенов (число условное, у вас будет своё) и в день идёт 50 запросов. Формула: токены × запросы × цена входа.
deepseek-v4.1-flash: 4000 × 50 = 200 000 токенов в день, 0,2 × 0,013 = $0,0026.gpt-6.1-sol: 0,2 × 0,27 = $0,054.claude-sonnet-5-5: 0,2 × 0,4 = $0,08.
Цены на 18 октября 2026. Для Claude в OpenAI-формате кэш на стороне шлюза не виден, поэтому весь вход считается по цене входа, а у GPT чтение кэша учитывается. Реальную картину смотрите в истории списаний в кабинете. Практический вывод: включайте только те инструменты, которые нужны в этом чате. Двадцать неиспользуемых инструментов платятся в каждом запросе.
Актуальные модели и цены: GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете. Какая модель лучше вызывает инструменты в ваших сценариях, проверяйте сами; общий разбор различий есть в статьях function calling у Claude, GPT и Qwen и что такое MCP-сервер.
Частые вопросы
Нужно ли что-то менять на стороне шлюза для MCP?
Нет. Для шлюза это обычные запросы chat completions с массивом tools. Параметры запроса описаны в справочнике.
Почему модель не вызывает инструмент?
Чаще всего причина в модели: она плохо вызывает функции или инструмент не включён в этом чате. Включите инструмент в чате и попробуйте модель сильнее.
Можно ли подключить MCP-сервер без прав администратора?
Нет, MCP-серверы добавляет администратор. Пользователи могут получать к ним доступ через группы. Свои серверы пользователи могут подключать только типа OpenAPI, если это разрешено.
Почему после перезапуска слетела авторизация OAuth?
Скорее всего, не задан постоянный WEBUI_SECRET_KEY. Задайте его и авторизуйтесь заново.
Чтобы попробовать, создайте ключ в кабинете, подключите его к Open WebUI и добавьте один MCP-сервер, прежде чем включать несколько.
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- AI-агент для поиска работы: резюме под вакансию и сопроводительные письмаСобираем небольшой инструмент: вы даёте текст вакансии и файл с реальным опытом, получаете адаптированное резюме, письмо и список пробелов. Без выдуманных навыков.
- Skills в Codex: что это и как написать свой сценарий для агентаSkill в Codex это папка с SKILL.md, которую агент загружает по описанию или по вашему вызову. Показываем структуру, пример для pytest и отличие от плагинов и хуков.
- Вайб-кодинг для Битрикс24: приложения и обработчики с агентомКак поручить агенту приложение или обработчик для Битрикс24 и не получить выдуманных методов: правила проекта, вебхуки, пагинация, тесты и расчёт сессии.
- MCP в opencode: подключение локальных и удалённых серверовПошагово подключаем MCP-серверы к opencode: блок mcp в конфиге, заголовки и OAuth, отключение серверов у отдельных агентов и цена лишних инструментов.