> ## Documentation Index
> Fetch the complete documentation index at: https://comfyui-mcp.artokun.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Устранение неполадок

> Решения проблем, с которыми пользователи сталкиваются на самом деле: несовпадение версий ComfyUI-Manager (ошибки 405), молча пропущенная установка по git-URL, недоступная из удалённого браузера панель, устаревший кэш npx и проброшенный по порту удалённый ComfyUI, ошибочно принятый за локальный.

Каждый пункт на этой странице вырос из реального баг-репорта. Если вашей проблемы
здесь нет, [заведите issue](https://github.com/artokun/comfyui-mcp/issues) — скорее
всего, она тоже окажется на этой странице.

## `install_custom_node` падает с `405 Method Not Allowed` на `/v2/manager/queue/task`

**Причина:** существует два поколения ComfyUI-Manager. API `/v2/manager/*` относится к
**линейке v4** (pip-пакет `comfyui_manager` ≥ 4.x); **выпущенный Manager 3.x** — то,
что ComfyUI-Manager устанавливает по умолчанию, — обслуживает ту же очередь по другим
маршрутам.

**Решение:** обновите `comfyui-mcp` до **0.24.3** или новее — он сам определяет
поколение Manager для каждой цели и говорит на обоих диалектах. Менять Manager не нужно.

**Необязательно, но рекомендуется — обновитесь до Manager v4** ради возможностей,
которых 3.x не умеет удалённо (в первую очередь **загрузка моделей по произвольному
URL**, которую 3.x ограничивает белым списком):

```bash theme={null}
# in your ComfyUI python environment
pip install -U comfyui_manager
# then remove/disable the old custom_nodes/ComfyUI-Manager clone and restart
```

В [образе RunPod](/docs/docs/cloud-deployment) Manager v4 уже есть.

**Замечание про `useCmCli: true`:** запасной путь через cm-cli запускает CLI Manager
отдельным процессом, поэтому ему нужна **локальная файловая система** — он не
сработает с удалённой целью или с `--tunnel`, и ему нужен `COMFYUI_PYTHON`,
указывающий на интерпретатор venv вашего ComfyUI, если `python` нет в PATH. Для
удалённых целей правильный механизм — HTTP-путь через Manager (он же по умолчанию).

## Кастомный узел, установленный по git-URL, так и не появляется

Установка по идентификатору из реестра работает, а установка по прямой ссылке на
GitHub сообщает об успехе, но пакет так и не появляется.

**Причина:** Manager считает установку по произвольному git-URL высокорисковой и
**молча её пропускает**, если уровень безопасности недостаточно свободный (задачу в
очереди он при этом всё равно помечает как «done»). В Manager 3.x дополнительно есть
отдельный флаг конфигурации `allow_git_url_install`.

**Решение:** в `config.ini` Manager (в пользовательском каталоге ComfyUI):

```ini theme={null}
[default]
security_level = weak          ; Manager v4: allows git-URL installs
allow_git_url_install = True   ; Manager 3.x: additionally required
```

После этого перезапустите ComfyUI. В образе RunPod это значение стоит по умолчанию
начиная с образа `1.6` (переменная окружения `COMFY_SECURITY_LEVEL` его
переопределяет; уровень заново выставляется при каждой загрузке). В образах
`1.4`/`1.5` так было *задумано*, но зашитая переменная `COMFY_SECURITY_LEVEL=normal-`
переопределяла значение по умолчанию из загрузочного скрипта — на этих образах задайте
`COMFY_SECURITY_LEVEL=weak` в окружении пода. Ослабляйте эту настройку только на
машине, которую контролируете вы: она снимает защитные ограничения Manager при
установке.

## RunPod: вкладка панели агента пуста — файлы на месте, но все по 0 байт

ComfyUI показывает `comfyui-mcp-panel`, но вкладка на боковой панели не загружается;
`ls -la /workspace/custom_nodes/comfyui-mcp-panel` показывает у каждого файла **0
байт**. Узлы, установленные пользователем, могут оказаться пустыми точно так же.

**Причина:** на сетевом томе в какой-то момент **закончилось место** (часто это
копирование spotcheck-модели на \~7 ГБ при первой загрузке на маленьком томе или
скачивание крупной модели). При ENOSPC `cp`/`git` всё равно *создают* каждый файл, но
ничего в него не пишут — а поскольку том сохраняется, эти пустые оболочки переживают
любое переразвёртывание.

**Решение:** освободите или увеличьте том, затем перезапустите под. Начиная с образа
`1.6` загрузочный скрипт предупреждает, когда на томе мало места или его нет,
пропускает копирование spotcheck-модели, если она не помещается, и автоматически
**восстанавливает** панель нулевого размера (повторный клон с GitHub, а без сети —
сид из образа). Он также пишет в лог `WARN: custom nodes with 0-byte __init__.py` с
именами остальных сломанных узлов — их переустановите через Manager. На образах
`<= 1.5` удалите папку панели и перезапустите:
`rm -rf /workspace/custom_nodes/comfyui-mcp-panel`.

## Панель пишет «На мосту (ws\://127.0.0.1:9180) не слушает ни один агент»

Вы открываете ComfyUI **в браузере на другой машине**, не на той, где работает
оркестратор. Мост по замыслу доступен только по петлевому интерфейсу, а `127.0.0.1` в
вашем браузере — это машина браузера, а не сервера.

**Решение — запустите оркестратор на машине С браузером** (это поддерживаемая
топология: агент работает на *вашей* машине и управляет удалённым ComfyUI):

```bash theme={null}
npx -y comfyui-mcp@latest connect http://<comfyui-host>:8188
```

Затем нажмите «Подключить» в панели. На машине с ComfyUI не нужно запускать ничего,
кроме самого ComfyUI и кастомного узла панели. Для ComfyUI по **https** (прокси
RunPod) оркестратор сам поднимает мост до защищённого туннеля `wss://` — команда та же.

**Либо запустите оркестратор на стороне сервера (≥ 0.24.5)** — вариант для
круглосуточной headless-машины (например, отдельного сервера Ollama/OpenClaw), где
агент должен жить рядом с ComfyUI, а браузеры подключаются откуда угодно в локальной
сети:

```bash theme={null}
# on the SERVER — bind the bridge on the LAN, token-gated (mandatory)
COMFYUI_MCP_BRIDGE_HOST=0.0.0.0 \
COMFYUI_MCP_BRIDGE_TOKEN=<pick-a-long-secret> \
npx -y comfyui-mcp@latest --panel-orchestrator
```

Он выведет готовый для вставки `ws://<server-ip>:9180/?token=…` — впишите его в
**Настройки → Дополнительно → URL моста** в панели на любой машине и нажмите
«Подключить». Привязка не к петлевому адресу **не запустится без токена**, а каждое
соединение проверяется на этапе WebSocket-апгрейда (за постоянное время). Относитесь к
этому URL как к паролю: кто им владеет, тот управляет агентом.

## Вышел новый релиз, но поведение осталось старым

`npx` агрессивно кэширует пакеты — `npx -y comfyui-mcp@latest` может отдать сборку
многонедельной давности из `~/.npm/_npx`.

```bash theme={null}
# clear it, then relaunch
npx clear-npx-cache
# or on Windows:
#   Remove-Item -Recurse -Force "$env:LOCALAPPDATA\npm-cache\_npx"
```

Проверьте также кастомный узел панели: если он остался от более старой установки на
**сетевом томе** (`/workspace` на RunPod), эта копия перекрывает автообновляемую копию
из образа. Выполните
`git -C <panel-dir> fetch && git -C <panel-dir> reset --hard origin/main`
или переустановите `comfyui-agent-panel` из ComfyUI-Manager, затем перезапустите
ComfyUI и жёстко обновите вкладку браузера (Ctrl+Shift+R).

## Проброшенный по порту удалённый ComfyUI определяется как локальный (dstack, SSH-туннели)

Удалённый ComfyUI, доступный по `localhost:8188` (dstack, `ssh -L`, kubectl
port-forward), сбивает эвристику петлевого адреса: comfyui-mcp считает установку
локальной и включает инструменты только для локального режима против файловой системы,
на которой ComfyUI нет.

**Решение (≥ 0.24.1):** передайте `--force-remote` (или
`COMFYUI_MCP_FORCE_REMOTE=1`):

```bash theme={null}
npx -y comfyui-mcp@latest connect http://localhost:8188 --force-remote
```

История генераций для удалённых целей хранится в
`~/.comfyui-mcp/instances/<host_port>/` (переопределяется через
`COMFYUI_MCP_DATA_DIR`).

## Docker: контейнер сразу завершается в режиме HTTP

Привязка к непетлевому хосту без аутентификации **намеренно завершается с ошибкой**
(открытый эндпоинт `/mcp` на `0.0.0.0` оказался бы доступен извне). Передайте токен
или откажитесь от проверки явно:

```bash theme={null}
docker run --rm -p 9100:9100 -e COMFYUI_MCP_HTTP_TOKEN=changeme comfyui-mcp \
  --http --host 0.0.0.0 --port 9100
# or (trusted networks only):
#   ... --http --host 0.0.0.0 --port 9100 --allow-unauthenticated-non-loopback
```

Режиму stdio (он используется по умолчанию, и именно его используют MCP-клиенты)
ничего из этого не нужно.

## Агент вообще не вызывает инструменты — ошибок нет, он просто разговаривает

Он описывает ваш воркфлоу вместо того, чтобы его прочитать, или предлагает написать
скрипт. Ошибки нет, потому что ничего и не падало: либо инструменты не дошли до вашего
клиента, либо ваш клиент блокирует вызовы, либо нужная возможность существует под
именем, которое ни разу не всплыло. Снаружи все три случая выглядят одинаково, а
решения у них противоположные, так что гадать хуже, чем проверить.

Различить их помогают два вопроса к вашему агенту —
см. [Когда он ничего не говорит](/docs/docs/using-tools#when-it-says-nothing). Учтите, что
блокировка прав на стороне клиента до этого сервера вообще не доходит, поэтому ни в
одном из перечисленных ниже логов её видно не будет.

## Локальные модели: вызовы инструментов падают или модель «не видит» инструменты

* **Первым делом: возьмите [нашу дообученную модель](/docs/docs/local-llms#our-fine-tuned-local-models-free-recommended)** —
  `ollama pull artokun/gemma4-comfyui-mcp:e4b` (значение Ollama по умолчанию в
  панели). Это Gemma 4, обученная на самом наборе инструментов comfyui-mcp, что сразу
  убирает большинство отказов вида «не тот инструмент / кривые аргументы» (`:e2b` для
  \~2 ГБ VRAM, `:12b` для \~8 ГБ — каждая ступень обыгрывает свою исходную базовую
  модель на арене; `:e4b` остаётся оптимальным выбором).
* **У gemma3 в Ollama нет нативного вызова инструментов** — не поддерживается;
  используйте наш дообученный вариант выше, стоковую `gemma4` (e4b и выше), `qwen3`
  или `llama3.1+`.
* Для небольших моделей включайте [компактный режим инструментов](/docs/docs/local-llms) —
  по умолчанию он **выключен**, поэтому запускайте сервер с `--compact` (или
  `COMFYUI_MCP_TOOL_MODE=compact`). Без него полная схема инструментов переполняет
  маленький контекст, и модель начинает выдумывать имена инструментов.
* Холодная загрузка модели может занять 30 с и больше до первого токена — сторожевой
  таймер панели это учитывает, но запрос, который падает мгновенно, обычно означает,
  что тег модели не скачан (`ollama pull <tag>`).
* **Все запросы вдруг падают / соединение на 11434 отклоняется** — не запущено
  приложение или демон Ollama. Выход из приложения в трее убивает вместе с ним и API,
  а это легко сделать случайно, пока агент работает (панель никак не предупреждает,
  что используется локальный бэкенд). Запустите приложение заново (или
  `ollama serve`) и переподключитесь — сессии продолжаются, перезапускать панель не
  нужно.

## Где искать логи

* **Оркестратор**: терминал, в котором запущен `connect` / `--panel-orchestrator`.
* **Сторона ComfyUI**: MCP-инструмент `get_system_stats (action:"logs")` или поток логов пода на RunPod.
* **JS панели**: консоль devtools в браузере (клиент моста пишет в лог переходы
  подключения/переподключения).
* **Здоровье одним вызовом**: инструмент `get_system_stats (action:"health")` собирает
  версию/GPU/VRAM/очередь/каталоги моделей/недавние ошибки.
