# Ошибки

> Все тексты ошибок и уведомлений сервера MMW — что они значат и что делать.

Из этой страницы вы узнаете, как выглядят ошибки MMW, что означает каждый текст и как его устранить. Тексты приведены дословно — их удобно искать по странице (Ctrl+F).

## Как приходят ошибки

```text
  HTTP-запрос ──► проверка ключа ──► 401, если ключ не принят
                        │
                        ▼
                 вызов инструмента ──► ответ с "isError": true и текстом причины
```

- **Ошибка авторизации** — статус HTTP `401` до вызова инструмента.
- **Ошибка инструмента** — обычный ответ JSON-RPC с `"isError": true`. Для инструментов памяти текст имеет вид `Error executing tool search: …`; ниже указана часть после двоеточия.
- **Уведомления о подписке** начинаются с `[MMW Notice]:` — их стоит показать человеку как есть.

Отдельного HTTP-статуса `429` нет: превышение лимита вызовов приходит как ошибка инструмента с текстом `MCP rate limit exceeded` или `project call limit exceeded`.

## Авторизация и аккаунт

| Ответ | Что значит | Что делать |
| --- | --- | --- |
| HTTP `401` | Нет заголовка `Authorization`, ключ неверный, отозван или истёк, OAuth-токен выдан не для этого сервера, либо аккаунт приостановлен оператором. | Проверьте ключ в настройках клиента (`MMW_API_KEY` или заголовок `Authorization: Bearer mmw_…`). При необходимости выпустите новый ключ в кабинете. Для claude.ai переподключите коннектор. |
| `account is unavailable` | Аккаунт выключен (не в активном состоянии). | Напишите в поддержку. |
| `[MMW Notice]: This MMW account has no active subscription, so memory is unavailable. The account owner can manage it in their MMW account settings.` | У аккаунта нет активной подписки: память недоступна ни на чтение, ни на запись. | Владелец аккаунта активирует тариф в кабинете. Для организации — напишите нам. |
| `[MMW Notice]: The MMW subscription has expired. Memory is read-only during the grace period; saved memories can still be searched.` | Подписка истекла, идёт льготный период: `search`, `validate_memory`, `gateway_call` работают, `remember` и `forget` — нет. | Продлите подписку, чтобы снова сохранять. |
| `[MMW Notice]: This MMW account is suspended because its subscription expired. The account owner can manage it in their MMW account settings.` | Льготный период закончился, аккаунт приостановлен. | Владелец аккаунта продлевает подписку в кабинете. |
| `membership may not write in this organization` | В организации: у вас роль «аудитор» или ваше членство неактивно (уволены, истёк срок подрядчика). | Обратитесь к администратору организации. Проверьте пространство в переключателе кабинета. |

## Лимиты

| Текст | Что значит | Что делать |
| --- | --- | --- |
| `MCP rate limit exceeded` | Превышен общий лимит запросов аккаунта за скользящее окно в 60 секунд. | Подождите минуту; уменьшите частоту вызовов. |
| `project call limit exceeded` | Превышен лимит вызовов проекта в минуту по тарифу. | Подождите минуту или смените тариф. |
| `project gateway concurrency limit exceeded` | Слишком много одновременных вызовов интеграций. | Делайте вызовы `gateway_call` последовательно. |
| `project memory limit exceeded` | Достигнут лимит записей проекта по тарифу. | Удалите ненужное через `forget` или смените тариф. Чтение продолжает работать. |
| `maximum number of memories exceeded for workspace` | Достигнут технический лимит записей в рабочей области. | Сохраняйте в другую рабочую область или удалите ненужное. |
| `maximum number of memories exceeded for tenant` | Достигнут технический лимит записей аккаунта. | Удалите ненужное или напишите в поддержку. |

## Рабочие области и проекты

| Текст | Что значит | Что делать |
| --- | --- | --- |
| `workspace '…' is not active` | `search`: такой рабочей области нет (в ней ещё ничего не сохраняли) или она удалена. | Проверьте имя `workspace`. Область создаётся первым `remember`. |
| `workspace '…' was deleted and cannot be reused` | Область с этим именем удалена; имя занять повторно нельзя. | Используйте другое имя. |
| `403 Forbidden: workspace access denied for project` | Рабочая область принадлежит другому проекту, а ключ привязан к этому. | Используйте ключ нужного проекта или другое имя области. |
| `bound project is missing, inactive, or outside tenant` | Проект, к которому привязан ключ, удалён или неактивен. | Выпустите ключ для активного проекта. |

## remember

| Текст | Что значит | Что делать |
| --- | --- | --- |
| `content must not be empty` | Пустой текст. | Передайте непустой `content`. |
| `content exceeds maximum allowed length` | Текст длиннее 100 000 символов. | Разбейте на несколько записей. |
| `Memory rejected by Security Guard: Memory poisoning detected: matching pattern '…'` | Memory Guard увидел в тексте инструкцию, похожую на попытку «отравить» память (например, «ignore previous instructions»). | Перефразируйте запись; не сохраняйте инструкции для будущих агентов. |
| `workspace and scope must not be empty` | Пустые `workspace` или `scope`. | Не передавайте пустые строки, используйте значения по умолчанию. |
| `confidence must be between 0 and 1` | `confidence` вне диапазона. | Передайте число от 0 до 1. |
| `source_id is required when source_hash is provided` | Хеш без источника. | Добавьте `source_id`. |
| `derived_from accepts at most 50 memory ids` | Больше 50 ID. | Сделайте промежуточные сводки. |
| `derived_from contains unknown memory ids` | Среди ID есть несуществующие, удалённые или недоступные вам. | Возьмите ID из свежего `search`. |
| `invalid X-Idempotency-Key` | Ключ пустой, длиннее 256 символов или с недопустимыми символами. | Используйте 1–256 печатных ASCII-символов без пробелов, например UUID. |
| `409 Conflict: idempotency key was used with different input` | Тот же ключ идемпотентности уже использован с другими параметрами. | Для новой записи — новый ключ. |

## forget, validate_memory

| Текст | Что значит | Что делать |
| --- | --- | --- |
| `Either memory_id or source_id must be provided` | `forget` без `memory_id` и `source_id`. | Передайте один из параметров. |
| `source_id and current_source_hash are required` | `validate_memory` без источника или хеша. | Передайте оба. |

## gateway_call и интеграции

| Текст | Что значит | Что делать |
| --- | --- | --- |
| `invalid gateway server or tool name` | Пустое имя или точка в `server`/`tool`. | `server: "github_readonly"`, `tool: "get_file_contents"` — раздельно. |
| `gateway project not found` | `project_id` не существует или неактивен. | Не передавайте `project_id` или укажите активный проект. |
| `gateway tool not found` | Инструмент не найден среди включённых и работоспособных интеграций проекта. | Проверьте интеграцию в кабинете, раздел «Шлюз MCP». |
| `required downstream secret is missing` | У интеграции не настроен токен. | Добавьте секрет интеграции в кабинете. |
| `downstream tool is not allowlisted` | Инструмент не разрешён для этой интеграции. | Используйте инструменты из списка `tools/list`. |
| `downstream timeout` | Интеграция не ответила вовремя. | Повторите позже. |
| `downstream response size limit exceeded` | Ответ интеграции слишком большой. | Сузьте запрос (например, путь к файлу вместо каталога). |
| `downstream transport failure`, `downstream JSON-RPC error`, `downstream returned malformed JSON-RPC` | Сбой на стороне интеграции. | Повторите позже; если повторяется — в поддержку. |
| `unknown MCP tool` | Вызван инструмент, которого нет в списке (в том числе `gateway_call` в подключении ChatGPT). | Вызовите `tools/list` и используйте доступные имена. |

## Локальный агент mmw-agent

| Текст | Что значит | Что делать |
| --- | --- | --- |
| `MMW отклонил API-ключ (проверьте MMW_API_KEY в настройках MCP)` | Сервер ответил 401/403. | Проверьте `MMW_API_KEY`. |
| `Сервер MMW недоступен: …` | Нет связи с сервером. | Проверьте сеть и `MMW_ENDPOINT`. |
| `Не задан MMW_API_KEY. …` | Агент запущен без ключа. | Добавьте `MMW_API_KEY` в `env` MCP-конфига. |

Ошибки синхронизации истории сессий (например, нехватка места по тарифу) — в [`mmw_sync_status`](/reference/mmw-sync-status/) и в разделе [Неполадки агента](/agent/troubleshooting/).

Обращаясь в [поддержку](/account/support/) (support@mmwhub.tech), пришлите точный текст ошибки, время и название инструмента. Не присылайте ключи и содержимое памяти.

## Что дальше
