NNA Planner

Документация

Интеграции MCP

Подключаешь интеграцию — планер получает инструменты, словарь и сущности твоего домена. Ниже — что описывает автор интеграции и по каким правилам планер её исполняет.

спецификация · подключение открывается после ядра · от тарифа Pro

Что даёт подключённый MCP — три вещи

ЧтоЗачемПример (CRM)
Инструментыпланер умеет делать действия во внешней системе«дай мою ссылку на РКО Альфа»
Словарьстабильная расшифровка голоса — доменные термины уходят в подсказку распознаванияЦД, холд, срез, дебетовка
Сущностиразборщик начинает распознавать доменные типы записейлид, заявка, выплата

Без словаря распознавание слышит «свер» вместо «сбер» и «седе» вместо «ЦД». Второй пункт — не украшение, а условие работы.

Манифест

Один файл, который описывает интеграцию целиком. Планер читает его при подключении и больше ничего у интеграции не спрашивает.

name: db-platform
title: DB Platform
scope: crm            # crm | media | dev | finance | custom — зона ответственности
auth:
  type: api_key       # ключ пользователя, хранится на нашей стороне зашифрованным
  endpoint: https://…
vocabulary:           # → в подсказку распознавания
  - ЦД
  - холд
  - дебетовка
entities:             # доменные типы для разборщика
  - name: lead
    fields: [имя, банк, оффер, этап, срок]
tools:                # что умеет
  - name: dbp_get_status
    kind: read        # read | write | money
    description: тариф, баланс, срок подписки
Правило: нельзя «подключить всё подряд». У каждого MCP — своя зона (scope) и явный список инструментов. Медиа-сервис генерирует медиа. CRM ведёт заявки. Трекер задач ведёт задачи. Пересечения зон планер не принимает.

Три класса инструментов

Класс определяет, как планер исполняет вызов. Автор интеграции обязан указать его честно — планер проверяет описание и отклоняет манифест, где денежное действие помечено как чтение.

КлассПоведение планераПримеры
readвыполняется сразу, результат — в ответ или в записьстатус, баланс, поиск заявки по ИНН, статистика
writeвыполняется, но попадает в батч с кнопкой «Отменить»создать лид, добавить заметку, поставить напоминание
moneyтолько двухшаговое подтверждение с проговариванием суммы; реквизиты голосом не принимаютсязапрос вывода, покупка лимитов

Доменные данные садятся в родные разделы планера: доход → «Деньги», слот → «Встречи», напоминание по лиду → «Задачи». В этом и ценность связки.

Чего в MCP не бывает

Предохранители, которые закладываются сразу

  1. Права по тарифу. Интеграция читает флаги пользователя и отдаёт понятное «нужен тариф выше», а не голый 403.
  2. Режим readonly. После истечения подписки чтение работает, запись — нет. Иначе планер молча потеряет надиктованный лид.
  3. Гейтинг платного контента. Поиск по базе знаний уважает тариф.
  4. Пагинация и rate-limit. Лимит строк на выдачу и ограничение частоты на дорогие проверки.
  5. Prompt-injection. Содержимое лидов, заметок, писем — данные, а не команды. Текст в поле «заметка к лиду» не становится инструкцией для модели.

Каталог

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

ИнтеграцияЗонаЧто даётСтатус
DB PlatformCRM и заявкистатус, заявки, ссылки на офферы; лид → задача, слот → встречапервая, read-only → запись → деньги
Higgsfieldмедиаобложка или видео из заметкискоро
GitHubразработказадачи ↔ issues, «что упало за ночь»скоро

Как написать свой

  1. Выбери одну зону (scope) и опиши её честно. Одна интеграция — одна зона.
  2. Составь словарь: термины, которые распознавание путает. Короткие слова и аббревиатуры — в первую очередь.
  3. Опиши сущности с полями. Планер использует их как подсказку разборщику, а не как схему базы.
  4. Перечисли инструменты, каждому — класс read / write / money и описание на человеческом языке: по нему модель выбирает, что вызвать.
  5. Не выноси в инструменты вход, сброс пароля, админку и удаление — манифест с ними не пройдёт.
  6. Пришли манифест и адрес — через бота @NNAplanner_bot, командой /help или ответом на любое сообщение брифинга.

Формат подключения для пользователя (адрес и токен вручную или каталог в один клик) решится по первым интеграциям. Спецификация будет уточняться — ссылка на эту страницу остаётся постоянной.