Neurover MCP
# Neurover MCP
Неофициальный локальный MCP-сервер для [neurover.io](https://neurover.io). Подключается к Claude (Desktop и Code), Codex, Cursor, Windsurf и другим MCP-клиентам и даёт AI-агенту работать с вашим аккаунтом Neurover: медиатека, поиск и очистка дублей, полотна (workflows), генерации.
Всё работает **на вашем компьютере** от имени **вашего** аккаунта. Сервера автора нет, данные никуда, кроме самого Neurover, не отправляются. Проект не связан с Neurover и не поддерживается ими.
## Установка
**Что понадобится:** компьютер с macOS, Windows или Linux, аккаунт на neurover.io и AI-приложение с поддержкой MCP (Claude Desktop, Claude Code, Codex, Cursor, Windsurf и другие). Заранее ничего ставить не нужно, права администратора тоже не нужны. Займёт около 5 минут.
### Вариант 1. Сами, одной командой (проще всего)
1. Откройте терминал:
- **Windows** — меню Пуск → наберите «PowerShell» → откройте **Windows PowerShell**.
- **Mac** — Spotlight (⌘ + пробел) → «Терминал».
- **Linux** — любой терминал.
Нужен именно обычный терминал вашего компьютера, а не окно внутри AI-приложения.
2. Вставьте команду и нажмите Enter.
Windows:
```powershell
irm https://raw.githubusercontent.com/vitalyor/neurover-api-mcp/main/get.ps1 | iex
```
macOS и Linux:
```sh
curl -fsSL https://raw.githubusercontent.com/vitalyor/neurover-api-mcp/main/get.sh | sh
```
Установщик сам скачает всё нужное: программу, при необходимости отдельную копию Node.js (с официального nodejs.org, с проверкой контрольной суммы; другие программы она не затрагивает) и браузер для входа. Это 1–3 минуты.
3. Ответьте на вопросы:
- **Имя аккаунта** — любое короткое латиницей, например `main`. Это имя только для MCP.
- **Email** — тот, с которым входите на neurover.io.
- **Режим входа**: `1` — входить вручную, `2` — MCP входит сам, пароль хранится в системном хранилище паролей. Чем они отличаются — в разделе [Вход, пароль и сессия](#вход-пароль-и-сессия). Если пользуетесь часто, выбирайте `2`.
- **Вход** — в открывшемся окне браузера на neurover.io или вводом пароля прямо в терминале (символы не отображаются, так и должно быть).
- **Добавить Neurover в …?** — для каждого найденного приложения. Enter или `д` — да, `н` — нет. Перед правкой настроек приложения сохраняется копия `*.bak-neurover`.
4. **Полностью** закройте AI-приложение и откройте снова (на Windows — правой кнопкой по значку в трее → «Выйти»; на Mac — ⌘Q). Закрыть окно недостаточно.
5. [Проверьте](#проверить-что-всё-работает), что Neurover появился, и спросите агента: «Сколько у меня кредитов в Neurover?».
### Вариант 2. Попросить агента
Напишите агенту: «Установи Neurover MCP: https://github.com/vitalyor/neurover-api-mcp». Сможет ли он это сделать, зависит от того, **где он выполняет команды**:
| Где вы пишете | Установит сам? |
|---|---|
| **Claude Code** — вкладка Code в Claude Desktop или `claude` в терминале | Да. Он спросит разрешение выполнить команду — разрешите. |
| **Codex** — приложение или CLI | Да, но команде нужен доступ за пределы проекта. Codex попросит запустить её вне песочницы — разрешите. |
| **Cursor, Windsurf** (режим агента) | Да, после вашего подтверждения команды. |
| **Обычный чат**: claude.ai, вкладка Chat в Claude Desktop, ChatGPT | **Нет.** Такие агенты выполняют команды на удалённой машине, а не на вашем компьютере. Это нормально: агент даст команду — выполните её сами по варианту 1. |
В любом случае **вход в Neurover делаете вы сами**, в своём терминале: агент не может и не должен вводить ваш пароль. Агент поставит программу и напишет одну команду — её нужно вставить в обычный терминал (как в варианте 1, шаг 1) и ответить на вопросы.
### Проверить, что всё работает
| Приложение | Где посмотреть |
|---|---|
| Claude Desktop | Настройки → **Разработчик** (Developer). В разделе «Коннекторы» локальные MCP не показываются — это нормально. |
| Claude Code | команда `/mcp` |
| Codex | Настройки → MCP servers |
| Cursor | Settings → MCP |
| Любое | спросите агента: «Какие инструменты Neurover тебе доступны?» |
### Команда `neurover`
Установщик кладёт рядом с данными короткую команду для настройки. Её путь зависит от системы — дальше в README она записана просто как `neurover`:
| Система | Как вызывать |
|---|---|
| Windows (PowerShell) | `& "$env:LOCALAPPDATA\NeuroverMCP\neurover.cmd" connect` |
| macOS | `"$HOME/Library/Application Support/NeuroverMCP/neurover" connect` |
| Linux | `~/.local/share/neurover-mcp/neurover connect` |
| Команда | Что делает |
|---|---|
| `neurover connect` | подключить Neurover к приложениям ещё раз (если пропустили или поставили приложение позже) |
| `neurover config` | готовые настройки для любого другого MCP-приложения |
| `neurover login ИМЯ` | войти заново (ручной режим) |
| `neurover settings ИМЯ` | сменить режим входа или сохранённый пароль |
| `neurover setup` | добавить ещё один аккаунт |
| `neurover update` | обновить |
| `neurover doctor` | проверить установку |
| `neurover logs` | сохранить отчёт для автора, если что-то не работает |
| `neurover uninstall` | удалить всё |
### Если что-то не так
| Что видите | Что делать |
|---|---|
| Агент пишет, что не может установить на ваш компьютер | Он работает на удалённой машине (см. таблицу в варианте 2). Выполните команду сами по варианту 1. |
| `EPERM`, `EACCES`, «Нет права записи» | Команду запустили в песочнице AI-приложения. Запустите её в обычном терминале. |
| Агент не видит Neurover | Полностью закройте приложение и откройте снова. Проверьте по таблице выше. Затем `neurover connect`. |
| Случайно ответили «нет» на «Добавить в …?» | `neurover connect` — аккаунт заново вводить не нужно. |
| Агент пишет `login_required` | Сайт завершил сессию. `neurover login ИМЯ` или попросите агента «войди в Neurover» — откроется окно браузера. Чтобы MCP входил сам, `neurover settings ИМЯ` → режим 2. |
| Mac спрашивает доступ к Связке ключей | Это режим 2: MCP читает сохранённый пароль. Нажмите «Разрешать всегда». |
| Ваше приложение не в списке | `neurover config` — там готовые настройки и инструкция для агента. |
| Ничего из этого не помогло | [Отправьте отчёт](#если-не-помогло-отправьте-отчёт). |
### Если не помогло: отправьте отчёт
MCP ведёт локальный журнал своих действий и ошибок. Чтобы автор мог разобраться, соберите отчёт одним из способов:
- попросите агента: «Сохрани отчёт Neurover для автора» (инструмент `neurover_diagnostics`);
- или выполните `neurover logs` в терминале.
В папке «Загрузки» появится файл `neurover-diagnostics-….txt`: версия, система, режимы входа, какие приложения подключены, последние действия и ошибки. Email, пароли, cookies, промпты, значения параметров и ваше имя пользователя в путях туда не попадают (путь к домашней папке заменён на `~`). Перед отправкой файл можно открыть и проверить. Отправьте его автору, например через [Issues](https://github.com/vitalyor/neurover-api-mcp/issues).
### Для агента: как устанавливать
1. Определи, где выполняются твои команды. Если это не компьютер пользователя (облачная песочница, удалённая машина), ничего не ставь: дай пользователю команду из варианта 1 и попроси выполнить её в обычном терминале.
2. Если команды выполняются на компьютере пользователя, но в песочнице (Codex и подобные), запроси запуск вне песочницы: установщик пишет в папку данных пользователя (`%LOCALAPPDATA%\NeuroverMCP`, `~/Library/Application Support/NeuroverMCP`, `~/.local/share/neurover-mcp`). Иначе будет `EPERM`.
3. Выполни команду из варианта 1 для ОС пользователя. Без терминала установщик ставит программу и браузер, затем останавливается и печатает команду `setup` с полным путём. `setup` и `login` не запускай сам: они интерактивные, там вводится пароль.
4. Объясни пользователю два режима входа ([Вход, пароль и сессия](#вход-пароль-и-сессия)) и попроси выполнить напечатанную команду в **обычном** терминале (не в твоём окне). Пароль в чат не проси.
5. Попроси полностью перезапустить приложение и проверь: вызови `neurover_auth_status`.
6. Если приложение пользователя не подключилось автоматически, выполни `neurover config` и, с его согласия, перенеси настройки в его приложение.
Другие способы (git clone, серверы без хранилища паролей): [docs/INSTALL.md](docs/INSTALL.md).
## Как пользоваться
Ничего запоминать не нужно: пишите агенту обычным языком, как человеку. Он видит инструменты Neurover, сам выбирает нужный, вызывает его и пересказывает результат.
### Что можно попросить
| Задача | Например |
|---|---|
| Аккаунт | «Сколько у меня кредитов в Neurover?», «Какая у меня подписка?» |
| Медиатека | «Покажи последние видео в медиатеке», «Скачай файл „Закат.png“ в папку Загрузки» |
| Полотна | «Какие у меня полотна?», «Создай полотно „Реклама кофе“», «Покажи, что на полотне „Тест“» |
| Генерации | «Сгенерируй видео 5 секунд по этой картинке на полотне „Реклама“», «Сколько это будет стоить?», «Дождись результата и скачай» |
| Особые референсы | «Midjourney: этот кот — персонаж (cref), эта картинка — стиль (sref)» — файл можно положить в любое файловое поле модели |
| Очистка | «Найди дубли в медиатеке», «Покажи страницу очистки», «Как идёт очистка?» |
| Вход | «Проверь, я залогинен в Neurover?», «Войди заново» |
| Обновления | «Проверь обновления Neurover», «Обнови» |
Слово «Neurover» в просьбе не обязательно, но помогает, если у агента подключено много сервисов: так ему сразу ясно, о каком речь.
### Как это выглядит
> **Вы:** Сделай видео по картинке «Кадр 1» на полотне «Реклама», 5 секунд, вертикальное.
>
> **Агент:** Подготовил запрос: модель Seedance, 5 с, 9:16, референс «Кадр 1». Стоимость — 40 кредитов, на балансе 1 250. Запускаю?
>
> **Вы:** Да.
>
> **Агент:** Генерация запущена в чате полотна «Реклама». Готово через ~2 минуты. Скачать результат в «Загрузки»?
Цены и модели в примере условные. Главное — порядок: агент сначала показывает, что именно и за сколько сделает, и запускает платное только после вашего «да».
### Работает через чат полотна, а не через плитки
В Neurover у каждого полотна есть чат. MCP генерирует **через этот чат**: запрос уходит сообщением, как будто вы написали его сами, и результат появляется в чате полотна и в медиатеке. Сами плитки на полотне при этом не создаются и не меняются, а референсы загружаются в медиатеку — как кнопкой «Прикрепить референсы» в чате.
Плитками агент может управлять, но **только по прямой просьбе**: «добавь на полотно плитку с этим файлом», «соедини эти плитки», «запусти всё полотно». Если вы о полотне не говорили, оно останется как было.
### Разрешения приложения
При первом вызове каждого инструмента Claude, Codex или Cursor обычно спрашивает, можно ли его использовать. В окне будет техническое имя, например `neurover_balance` (Claude Code показывает его как `mcp__neurover__neurover_balance`). Можно разрешить один раз или всегда. Это защита самого приложения; подтверждения внутри Neurover — цена генерации, удаление, обновление — от этого не отключаются.
### Несколько аккаунтов
Если настроено больше одного аккаунта Neurover, называйте нужный по имени, которое вы дали при установке: «покажи медиатеку в аккаунте work». С одним аккаунтом имя не нужно.
### Если агент не видит Neurover
См. [Если что-то не так](#если-что-то-не-так).
## Обновления
- **Сам проверяет, но не надоедает.** MCP проверяет новую версию на GitHub не чаще раза в неделю, в фоне. Если она вышла, агент скажет вам об этом **один раз за сеанс** и предложит обновить.
- **Проверить вручную**: попросите агента «проверь обновления Neurover» или выполните `update` (см. ниже).
- **Обновить**: согласитесь в чате — агент обновит сам. Или в терминале:
```sh
neurover update
```
Затем полностью перезапустите приложение.
- Обновление не начнётся, пока идёт фоновая очистка медиатеки. Аккаунты, вход и задания не затрагиваются, прежняя версия остаётся рядом.
- Автопроверку можно выключить: добавьте `"NEUROVER_UPDATE_CHECK": "0"` в `env` настроек MCP. Ручная проверка продолжит работать.
- Установка через `git clone` обновляется через `git pull`, если в папке нет ваших правок.
## Вход, пароль и сессия
MCP ходит в Neurover так же, как ваш браузер: по **сессии** (cookies), которая появляется после входа. Пока сессия действует, пароль не нужен. Neurover завершает сессию, например после бездействия, и тогда нужен новый вход. При установке вы выбираете, кто его делает:
| | 1. Вручную (по умолчанию) | 2. Автоматически |
|---|---|---|
| Что хранится | только сессия | сессия и пароль в хранилище ОС |
| Сессия закончилась | агент сообщит `login_required`; вы входите снова: `neurover login ИМЯ` или через окно браузера | MCP сам входит заново и повторяет запрос |
| Подходит | редкое использование, не хотите хранить пароль | регулярная работа, долгие фоновые задания |
Сам **вход** — через окно браузера на neurover.io или вводом пароля в терминале — только получает сессию и пароль не сохраняет. Режим меняется в любой момент: `neurover settings ИМЯ`.
### Где что хранится
Всё хранится **только на вашем компьютере**.
| Что | Где | Защита |
|---|---|---|
| Пароль (только в режиме 2) | Системное хранилище ОС: macOS Keychain, Windows Credential Manager, Linux Secret Service. Запись `neurover-api-mcp:ИМЯ` | Средствами ОС; в файлах MCP пароля нет |
| Пароль (режим для серверов) | Переменная `NEUROVER_PASSWORD_ИМЯ` в секретах хоста, см. [INSTALL](docs/INSTALL.md) | Настройками хоста; MCP её не сохраняет |
| Сессия (cookies) | `<папка данных>/accounts/ИМЯ/session.json` | Файл доступен только вашему пользователю (0600) |
| Email и режим входа | `<папка данных>/accounts/ИМЯ/account.json` | Без пароля |
| Задания очистки, журналы, миниатюры | `<папка данных>/` | Личная папка |
| Журнал для диагностики | `<папка данных>/logs/neurover.log`, до ~2 МБ (текущий и предыдущий файл) | Без паролей, cookies, email, промптов и значений параметров |
Папка данных:
- macOS: `~/Library/Application Support/NeuroverMCP`
- Windows: `%LOCALAPPDATA%\NeuroverMCP`
- Linux: `~/.local/share/neurover-mcp`
Пароль никогда не попадает в настройки MCP-клиента, аргументы команд, переменные окружения, логи или чат. Сессия даёт доступ к аккаунту, поэтому не передавайте папку данных другим людям.
### Куда уходят данные
- **Только в Neurover**: на `https://neurover.io` и по ссылкам на файлы, которые выдаёт сам Neurover. Cookies отправляются только на `neurover.io`.
- **Никуда больше**: в коде нет сервера автора, аналитики и телеметрии. Это можно проверить: точки входа перечислены в [docs/PRIVACY.md](docs/PRIVACY.md).
- **GitHub** — при установке и обновлении скачивается сама программа, а раз в неделю запрашивается только номер последней версии. Данные аккаунта туда не отправляются.
- **При установке** зависимости скачиваются из npm, а Chromium — через Playwright.
- **AI-модель вашего клиента** видит то, что агент запрашивает через MCP: названия файлов, промпты, списки полотен. Пароль и cookies в ответы MCP не включаются.
Галерея очистки открывается только локально, на `http://127.0.0.1:8876`, и недоступна из сети.
### Как всё удалить
Полностью закройте AI-приложения и выполните `neurover uninstall` (см. [Команда neurover](#команда-neurover)). Она удалит сохранённые пароли из системного хранилища, запись `neurover` из настроек Claude, Codex, Cursor и Windsurf (чужие записи и остальные настройки не трогаются, копия сохраняется в `*.bak-neurover`) и папку данных: программу, Node.js, аккаунты, сессии и задания. Файлы на neurover.io не затрагиваются. Браузер для входа лежит в общей папке Playwright `ms-playwright` и может быть нужен другим программам — его можно удалить отдельно. Копию из `git clone` удалите сами.
## Что агент делает сам, а что — только с вашего согласия
- **Чтение** (списки, баланс, медиатека, графы полотен) выполняется сразу и ничего не меняет.
- **Платные генерации** — в два шага: `prepare_generation` показывает актуальную цену и ничего не запускает, `submit_generation` запускает один раз с лимитом кредитов. При неясном результате генерация не повторяется автоматически.
- **Удаление** требует явного подтверждения: для медиа — точного имени файла, для полотна — `confirm`. Агент должен спрашивать вас перед такими действиями.
- **Очистка медиатеки** — через отдельную локальную страницу или силами самого агента, см. [Очистка медиатеки](#очистка-медиатеки).
- **Сессия закончилась**: в режиме 2 MCP входит заново сам. В ручном режиме агент сообщит `login_required` и предложит войти: командой `login` в вашем терминале или через инструмент `neurover_browser_login` — окно браузера откроется у вас, и вы войдёте на сайте сами.
- **Пароль агент не спрашивает никогда.** Если просит — это ошибка, не присылайте его.
## Очистка медиатеки
MCP умеет находить в медиатеке Neurover лишние копии и ненужные файлы и удалять их. Это можно делать двумя способами, и оба используют один и тот же MCP, одно и то же задание очистки и одни и те же защиты.
### Способ 1. Локальная страница очистки
Для больших медиатек удобнее работать глазами, а не в чате. Попросите агента, например: «найди дубли в медиатеке». Агент просканирует медиатеку (`neurover_cleanup_scan`) и даст ссылку на страницу вида `http://127.0.0.1:8876/...` (`neurover_cleanup_report`).
Эта страница — часть того же MCP, а не отдельный сайт. Её показывает локальный сервис MCP на вашем компьютере, из сети она недоступна. После того как вы нажмёте кнопку, проверка и удаление идут **автоматически, в фоновом процессе MCP, без агента и без запросов к AI-модели**: можно закрыть чат и даже вкладку, работа продолжится, пока включён компьютер. Если компьютер перезагрузился, попросите агента снова открыть страницу очистки и нажмите «Продолжить» — продолжится то же задание.
Скриншоты ниже сняты на демонстрационных данных.
**Вся медиатека.** Все файлы карточками: поиск по имени или ID, фильтры по типу, сортировка, выбор отдельных файлов, Shift для диапазона.

**Похожие файлы.** Группы кандидатов в дубли: совпадают размер, формат, разрешение и длительность. Для каждой группы — «оставить одну копию» или «удалить все копии». Значок замка — файл используется на полотне и не будет удалён.

**Проверка выбора.** Перед удалением страница предлагает сравнить оригиналы по SHA-256: MCP скачает их потоком, не сохраняя на диск, и подтвердит, что файлы совпадают побайтно. Это ничего не удаляет. Можно довериться и одним характеристикам, но тогда риск разных файлов придётся явно принять.

**Подтверждение удаления.** Удаление разблокируется только после того, как вы сами поставите отдельную галочку. Сохраняемая копия, уникальные варианты и файлы на полотнах остаются.

**Ход очистки.** Файлы удаляются порциями. Страница показывает удалённые, ожидающие, пропущенные и ошибки, обновляется сама. «Остановить после порции» ставит паузу, «Продолжить» возобновляет то же задание.

Когда очистка завершена, кнопка «Новая очистка» делает свежий разбор медиатеки, сохранив прошлый результат. Если страницу никто не открывает 10 минут, локальный сервис сам выключается; агент запустит его снова при следующем запросе.
### Способ 2. Агент чистит сам
То же самое агент может сделать в чате, без страницы: «удали копии в этих группах», «удали файлы с ID …». Он использует те же инструменты:
| Шаг | Инструмент |
|---|---|
| Найти кандидатов | `neurover_cleanup_scan` |
| Сравнить оригиналы по SHA-256 | `neurover_cleanup_verify` |
| Зафиксировать план с вашим согласием | `neurover_cleanup_approve` (группы) или `neurover_cleanup_approve_files` (точные ID) |
| Выполнить | `neurover_cleanup_start` (в фоне, без агента) или `neurover_cleanup_step` (по порции, в чате) |
| Статус, пауза, отмена | `neurover_cleanup_status`, `neurover_cleanup_pause`, `neurover_cleanup_cancel` |
Агент обязан спросить вас перед фиксацией плана; общая просьба «почистить» не считается согласием на удаление по одним характеристикам. Начать в чате и продолжить на странице (и наоборот) можно: это одно и то же задание.
### Что защищает от ошибок
- Удаляется только **утверждённый план**; после утверждения он не меняется.
- Перед каждой порцией MCP заново проверяет файл: не изменился ли он, не используется ли на полотне, на месте ли сохраняемая копия.
- Каждое удаление сначала записывается в локальный журнал, потом отправляется. Если ответ сервера потерялся, удаление **не повторяется вслепую**, а сверяется с медиатекой.
- Одновременно на аккаунт выполняется один план очистки.
## Безопасность: чему вы доверяете
Код открыт и небольшой — его можно (и стоит) попросить своего агента проверить. Вот что такой проверке стоит знать заранее.
- **Пароль и cookies уходят только на `neurover.io`.** Запросы к другим адресам с ними код не делает, перенаправления при входе на чужой домен запрещены, а в окне браузера пароль вводится только если страница действительно на neurover.io. Подробно — [docs/PRIVACY.md](docs/PRIVACY.md).
- **Другие сетевые адреса**: GitHub (раз в неделю номер версии; скачивание при установке и обновлении), npm и сервер Playwright при установке. Аналитики и телеметрии нет.
- **Обновления не подписаны.** Устанавливается тег `vX.Y.Z` из этого репозитория — то есть вы доверяете его владельцу так же, как при первой установке. Не хотите автопроверки — `NEUROVER_UPDATE_CHECK=0`; обновление всё равно ставится только командой или после вашего согласия.
- **Подтверждения в инструментах заполняет агент.** Параметры вроде `confirm: true` — защита от случайных вызовов, а не от агента. Настоящий контроль — окна разрешений вашего приложения: не включайте «разрешать всегда» для платных генераций, удаления, `neurover_api_write` и `neurover_update_apply`. Перед платным запуском код дополнительно сверяет цену и лимит кредитов и не даёт отправить один запрос дважды.
- **`neurover_api_write`** вызывает внутренние маршруты сайта: полотна, плитки, связи, загрузки, запуски, вход и выход — в том числе **удаление полотен, плиток и файлов медиатеки** (удаление файлов идёт через тот же журнал и проверки, что и очистка). Настроек аккаунта, смены пароля, email и оплаты среди маршрутов нет; платные маршруты заблокированы отдельно.
- **Файлы**: агент может загрузить в вашу медиатеку файл по указанному пути и скачать результат в указанную папку. Никуда, кроме вашего аккаунта Neurover, файлы не отправляются.
- **Фоновые процессы**: очистка медиатеки и её страница работают отдельными процессами на вашем компьютере и завершаются сами; страница доступна только с `127.0.0.1`. Автозапуска после перезагрузки нет.
- **Настройки других приложений** (Claude, Codex, Cursor, Windsurf) меняются только после вопроса, с резервной копией; чужие записи не трогаются.
- **Совместимость**: код умеет читать аккаунты предыдущей версии автора из соседней папки, но только в старой установке «на месте»; установка одной командой или `git clone` за пределы своих папок не ходит.
Это неофициальный клиент: он работает с теми же внутренними адресами, что и сайт Neurover в браузере, и может перестать работать, если сайт изменится.
## Разработка
```sh
npm test
```
Выпуск новой версии для пользователей: `npm version minor` (или `patch`) и `git push --follow-tags`. Обновлением считается только новый тег `vX.Y.Z`; обычные push в `main` пользователям не предлагаются.
Карта модулей: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md). Наблюдаемые контракты API Neurover: [docs/API-CONTRACTS.md](docs/API-CONTRACTS.md). Хранение и передача данных: [docs/PRIVACY.md](docs/PRIVACY.md).
## Лицензия
MIT, см. [LICENSE](LICENSE).
TDQS
Scored across 66 tools
Descriptions do a lot of explicit steering ("use download_generation for results", "for how many credits use account_overview"), but there is real overlap: prepare_generation vs prepare_run vs prepare_prompt_enhancement, cleanup_approve vs cleanup_approve_files, and generic api_read/api_write vs every dedicated tool all target the same underlying actions. The 11-tool cleanup pipeline and the media cluster (media, media_access, ensure_media, download_media, download_generation) require careful reading to pick correctly.
A uniform neurover_ prefix and snake_case keep it readable, but the verb/noun ordering is inconsistent: verb-first (create_workflow, delete_node, connect_nodes) mixed with noun-first (workflow_graph, model_settings, node_cancel, media_access, account_setup) and bare nouns (accounts, models, balance, audit). The outcome is mixed conventions that still parse but offer no predictable pattern.
66 tools is far beyond what the domain needs in one surface; the cleanup subsystem alone contributes 11 tools for one maintenance task. Auth (7) and update/diagnostics (3) further inflate the set, so an agent must navigate a very heavy tool list for routine generation work.
Coverage is genuinely broad: auth lifecycle, workflow and node CRUD, edges, the full prepare/submit/wait/download generation pipeline, media library management, dedup cleanup, billing, diagnostics, and generic API escape hatches for anything missing. Only minor gaps remain (e.g. no media rename/move or workflow export), and the generic API tools let agents work around them.