К содержанию

Подключение MCP

Как дать ChatGPT, Claude или Cursor доступ к отчётам ваших проектов: адрес сервера, вход, выбор проектов, отзыв и лимиты.

Содержание страницы

Что это

MCP — открытый протокол, по которому ИИ-ассистент вызывает «инструменты» во внешнем сервисе. Наш сервер отдаёт ассистенту отчёты ваших проектов только на чтение: он может спросить про видимость, конкурентов, источники, тональность и изменения прогона, но ничего не меняет и не запускает.

  • Адрес сервера — https://api.tarnowsky.ru/mcp. Транспорт — Streamable HTTP; ответы приходят обычным JSON, отдельного потока событий нет.
  • Доступ выдаётся персонально агентствам и корпоративным аккаунтам — так же, как к публичному API. Раздел «Интеграции» в кабинете показывает адрес, шаги подключения и список подключённых приложений.
  • Есть два способа войти: через ваш аккаунт (OAuth) для ChatGPT и Claude и ключ API для Cursor и скриптов.

ChatGPT и Claude: вход через аккаунт

  1. ChatGPT

    «Настройки» → «Приложения и коннекторы» → «Создать». Вставьте адрес сервера, тип входа — OAuth.

  2. Claude

    «Настройки» → «Коннекторы» → «Добавить свой коннектор». Вставьте адрес сервера и нажмите «Подключить».

  3. Страница согласия

    Приложение откроет страницу нашего кабинета. Войдите в аккаунт, если вас попросят, отметьте проекты и нажмите «Разрешить».

  4. Проверка

    В разделе «Интеграции» подключение появится в списке «Подключённые приложения». После первого вызова ассистента там же видно время последнего обращения.

Что вы увидите на странице согласия:

  • Адрес, на который вернётся приложение после вашего решения. Смотрите на него внимательнее, чем на название: имя приложения при подключении задаёт само приложение, а адрес возврата подделать труднее.
  • Строку «Проверенное приложение: <название>» для известных ассистентов или предупреждение «Это приложение не проверено»: разрешайте доступ такому приложению, только если сами начали подключение и доверяете адресу возврата.
  • Список проектов, из которого нужно отметить хотя бы один. Приложение получит доступ только к отмеченным, и только в пределах ваших прав: чужие проекты в список не попадают.
  • Что будет доступно: «отчёты и показатели» (разрешение reports:read) и, если приложение запросило, «фрагменты ответов моделей» (answers:read) с отдельным предупреждением, что это недоверенный текст.
  • Кнопки «Разрешить» и «Отклонить». Ссылка на согласие одноразовая и действует недолго; если она устарела, начните подключение в приложении заново.
Как отозвать доступ

В разделе «Интеграции» нажмите «Отключить» у приложения: оно потеряет доступ сразу, и подключение придётся повторить. Доступ приложений также закрывается при смене пароля и при выходе из аккаунта на всех устройствах. Сам доступ короткий: токен действует 15 минут, приложение продлевает его само, пока подключение не отозвано и приложением пользуются; после 90 дней без обращений подключение придётся повторить.

Cursor и скрипты: ключ API

Для программ, где нет входа через браузер, используйте ключ API организации (как его выпустить — на странице «Публичный API»). Ключ передаётся как Bearer-токен тем же заголовком Authorization. В Cursor создайте запись в файле mcp.json и подставьте свой ключ:

Фрагмент mcp.json
  • { "mcpServers": { "tarnowsky": { "url": "https://api.tarnowsky.ru/mcp", "headers": { "Authorization": "Bearer <ключ>" } } } }

Перезапустите Cursor. В файле ключ хранится открытым текстом, поэтому не добавляйте mcp.json с настоящим ключом в репозиторий. Кнопка «Проверить подключение» в разделе «Интеграции» покажет время последнего обращения и то, через какой ключ или приложение оно пришло.

Что доступно ассистенту

Инструменты аналитики — те же, что у REST, с теми же описаниями. Все они только читают и помечены как безопасные для чтения.

ИнструментЧто даёт
list_projects, list_runsПроекты, доступные подключению, и история готовых прогонов
get_project_cardКарточка проекта: бренд, рынок, срезы, модели, итоговая видимость
get_visibilityВидимость и доля голоса по моделям, типам вопросов, срезам и локациям
get_run_changesЧто изменилось с прошлого прогона
get_prompt_matrixВопросы прогона и результат по каждому, постранично
get_competitorsКого называют рядом и вместо бренда
get_toneТональность ответов тремя слоями
get_sourcesКакие сайты и площадки цитируют модели
get_brand_factsЧто модели утверждают о бренде и вердикт сверки
get_data_qualityНадёжность замера: база, шум, пропуски
get_answer_excerptsФрагменты ответов моделей — только если выдано разрешение answers:read; текст недоверенный
  • Ресурсы (resources): карточка каждого доступного проекта по адресу card://<id проекта> и две статьи этой базы знаний — «Правила продвижения в GEO» и «Как читать отчёт и превращать его в план».
  • Подготовленные сценарии (prompts): девять стартовых вопросов — те же сценарии, что предлагает помощник проекта в кабинете («Почему изменилась видимость?», «Кого советуют вместо нас?», «Что изменилось с прошлого прогона?» и другие). У сценария есть необязательный аргумент — id проекта.
  • Права подключения — это пересечение ваших прав на проекты и проектов, отмеченных при согласии (или проектов ключа). Чужой или несуществующий проект даёт один и тот же ответ «не найден».
  • Отчёт, закрытый тарифом организации, не отдаётся: инструмент вернёт ошибку entitlement_required.

Лимиты и безопасность

  • Лимит вызовов — 120 единиц в минуту на аккаунт; вес вызова инструмента такой же, как у запроса к REST. Вызовы через MCP идут в общий бюджет организации вместе с API: месячная квота, суточный и минутный бюджет общие, обойти лимиты API через MCP нельзя.
  • Результат одного вызова ограничен по размеру (около 25 тысяч знаков). Длинную выдачу сервер сокращает и помечает, а у постраничных инструментов продолжение берётся по курсору.
  • Первый вызов с новым сочетанием параметров может потребовать сборки отчёта: инструмент ответит «идёт сборка» и подскажет, через сколько секунд повторить.
  • Сервер проверяет заголовок Origin: запросы из браузера допускаются только от известных приложений. Cursor и серверные клиенты заголовка не шлют и проверку проходят по токену.
  • Если токен не подошёл, сервер отвечает 401 или 403 с подсказкой, где взять доступ; при временной недоступности — 503 с Retry-After, а при исчерпании лимита — 429.
  • Если у вашей организации не включено право «Интеграции», сервер отвечает 403 entitlement_required, а страница согласия сообщает, что интеграции не включены: напишите в чат поддержки.
  • Поля с текстом нейросетей и сайтов-источников помечены как недоверенные. Не давайте ассистенту выполнять инструкции, которые найдены внутри таких фрагментов: это данные для чтения.