Skip to main content
Glama
README.md
# 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 для диапазона.

![Вся медиатека](docs/images/gallery-library.png)

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

![Похожие файлы](docs/images/gallery-duplicates.png)

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

![Проверка выбора](docs/images/gallery-review.png)

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

![Подтверждение удаления](docs/images/gallery-confirm.png)

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

![Ход очистки](docs/images/gallery-progress.png)

Когда очистка завершена, кнопка «Новая очистка» делает свежий разбор медиатеки, сохранив прошлый результат. Если страницу никто не открывает 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

C2.7/5.0

Scored across 66 tools

Disambiguation3/5

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.

Naming Consistency3/5

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.

Tool Count2/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues