# Яндекс Аудитории: Завершить подключение Аудиторий — MCP-инструмент (tool)

**MCP-инструмент (tool) для Яндекс Аудиторий:** Второй шаг подключения из диалога — обменивает код подтверждения из start_login на токен доступа, сохраняет его на диск и сразу проверяет живым запросом.

Техническое имя: `finish_login`

## Какую задачу решает

> Я хочу завершить подключение Яндекс Аудиторий кодом подтверждения.

Обменивает код подтверждения, который пользователь получил по ссылке из `start_login`, на токен доступа, сохраняет его в файл только для владельца (права 0600) и сразу проверяет живым запросом к Аудиториям. После успеха остальные инструменты работают немедленно — перезапускать клиент не нужно.

## Когда использовать

Используйте эту возможность сразу после того, как пользователь прислал код подтверждения со страницы Яндекс OAuth. Код одноразовый и живёт 10 минут, поэтому откладывать вызов не стоит.

## Что нужно передать

- `code` — **обязательно**. Код подтверждения, который Яндекс показал пользователю после входа.

## Что вернёт

Объект с полями `connected` (подключение выполнено), `segmentsVisible` (сколько сегментов видно подключённому аккаунту по проверочному запросу), `storedAt` (куда сохранён токен), `grantedScope` (появляется, только если Яндекс выдал меньше прав, чем запрошено) и `note` — итог проверки, включая предупреждение, если аккаунту не видно ни одного сегмента.

## Что изменится в Яндекс Аудиториях

В самом аккаунте Яндекс Аудиторий ничего не меняется — инструмент записывает токен доступа в локальный файл `~/.config/mcp-yandex-audience/credentials.json` и выполняет один проверочный запрос чтения. Вместе с токеном сохраняется refresh-токен, поэтому доступ продлевается автоматически.

## Пример запроса

> Вот код подтверждения из Яндекса: 1234567. Заверши подключение Аудиторий и проверь, что всё работает.

## Возможные ошибки и ограничения

Если код не принят (истёк, уже использован или введён с опечаткой), вызовите `start_login` заново и попросите свежий код. Если активного запроса на подключение нет (прошло больше 10 минут после `start_login`), инструмент попросит начать заново. `segmentsVisible: 0` — повод уточнить: либо в аккаунте пока нет сегментов, либо вход выполнен не под тем аккаунтом Яндекса.

## Связанные MCP-инструменты

- [Начать подключение Аудиторий](./start-login.md) — `start_login`
- [Статус подключения к Аудиториям](./auth-status.md) — `auth_status`
- [Список сегментов](./list-segments.md) — `list_segments`

## Технические сведения

- **Воздействие:** изменяет данные
- **Группа:** Подключение
- **Источник описания:** регистрация `finish_login` в `src/tools/auth.ts`
- [Полный технический справочник](../TOOLS.md)
- [Все MCP-возможности](./index.md)
