# MCP-сервер: довідник інструментів

> Усі 47 MCP-інструментів leadli.me: описи, обов'язкові та необов'язкові параметри, авторизація й приклад виклику.

Оновлено 11 листопада 2026

Керуйте каналами, ботами, атрибуцією та лендингами через AI-асистента. Нижче наведені точні імена інструментів, їхні задачі та типи вхідних параметрів.

> Починайте з `leadli_get_context`. Ключ працює в межах однієї організації. Фактичний доступ залежить від дозволів ключа, ролі його автора й плану; актуальний контракт повертає `tools/list`.

## Підключення й авторизація

Транспорт: Streamable HTTP. Заголовок: `Authorization: Bearer YOUR_LEADLI_ME_ACCESS_KEY`. Створіть ключ у Organization settings → Access keys та зберігайте його в конфігурації MCP-клієнта. Він не потрібен у HTML лендингу.

**URL MCP-сервера:** `https://api.leadli.me/api/v1/mcp`

- [Підключення Codex і Claude Code](https://leadli.me/guides/connect-mcp)
- [server.json](https://leadli.me/server.json)

## Приклади запитів

Ці приклади читають дані. Якщо каналів або подій немає, асистент має сказати про це, а не вигадувати результат.

1. **Перевірити підключення** — Запит: "Покажи мої канали leadli.me та поясни доступні дозволи. Нічого не змінюй." Інструменти: `leadli_get_context`, `leadli_list_channels`. Очікувано: організація ключа, дозволи й доступні канали.
2. **Переглянути аналітику** — Запит: "Для вибраного каналу покажи кліки, підтверджені вступи та доставлені конверсії за останні 7 днів у UTC." Інструменти: `leadli_get_context`, `leadli_list_channels`, `leadli_get_analytics`. Очікувано: агрегати за погоджений інтервал із поясненням click-time cohorts.
3. **Перевірити налаштування** — Запит: "Перевір, чи готовий вибраний канал до активації, і переліч відсутні кроки. Нічого не змінюй." Інструменти: `leadli_get_context`, `leadli_list_channels`, `leadli_get_setup_status`. Очікувано: поточні перевірки ready та незавершені налаштування.

## Як читати довідник

Розгорніть інструмент, щоб побачити всі параметри та їхні типи. Обов'язкові поля позначені окремо. Імена та типи перевірено за поточним MCP-сервером 11 листопада 2026.

- `targetId` є внутрішнім ID каналу або бота з `leadli_list_channels`; `leadId` є ID спостережуваного підписника. Не підставляйте Telegram username замість ID.
- `from` і `to` задають час у UTC. Для списку вступів інтервал включає `from` і не включає `to`. Пагінація `page` починається з 1; типові `page`/`limit`: 1/20, максимум `limit`: 100.
- Перед зміною налаштувань або модерацією підтвердьте з користувачем канал, людину та наслідок. Не показуйте інтеграційні токени й `botKey` у відповідях. Секрети, передані асистенту для налаштування, потрапляють у контекст його провайдера.

## Контекст, канали й аналітика

### leadli_get_context

Повертає організацію ключа, фактичні дозволи, доступні інструменти та доступ за планом.

Без параметрів. Передайте `{}`.

### leadli_list_channels

Повертає сторінку списку каналів, доступних автору ключа.

- `limit` (optional): `number`
- `page` (optional): `number`

### leadli_get_channel

Повертає деталі каналу й безпечні метадані налаштування Telegram.

- `targetId` (required): `string`

### leadli_get_analytics

Повертає агрегати атрибуції. Кліки, підтверджені вступи та доставлені конверсії згруповані за часом кліку; membershipFlow рахується за часом спостережуваних подій. Межі hour/day/week: 31/90/365 днів; розрізи доступні для 7/31/90 днів.

- `from` (required): `string`
- `granularity` (optional): `"hour" | "day" | "week"`
- `targetId` (required): `string`
- `to` (required): `string`

### leadli_list_joins

Повертає спостережувані вступи та повторні вступи в UTC-інтервалі [from,to), до 365 днів. Фільтри застосовуються до пагінації. Відсутність рекламної атрибуції не доводить органічний трафік. Membership відображає поточний спостережуваний стан. landingId дорівнює точному ключу landingPageUrl з аналітики.

- `adId` (optional): `string`
- `adSetId` (optional): `string`
- `campaignId` (optional): `string`
- `cursor` (optional): `string`
- `from` (required): `string`
- `landingId` (optional): `string`
- `limit` (optional): `number`
- `source` (optional): `"all" | "ad" | "invite_link" | "none"`
- `targetId` (required): `string`
- `to` (required): `string`

### leadli_list_subscribers

Повертає лише спостережуваних підписників, а не повний склад Telegram-каналу. Membership відображає поточний спостережуваний стан.

- `limit` (optional): `number`
- `page` (optional): `number`
- `status` (optional): `"active" | "former" | "all"`
- `targetId` (required): `string`

## Репорти й модерація

### leadli_get_report_status

Повертає власний репорт і анонімний сигнал кількох репортів для щонайбільше 100 ID спостережуваних підписників.

- `leadIds` (required): `Array<string>`
- `targetId` (required): `string`

### leadli_save_report

Зберігає або замінює репорт організації про одного спостережуваного підписника. Репорт не блокує підписника.

- `category` (required): `"spam" | "fake" | "scam"`
- `description` (optional): `string`
- `leadId` (required): `string`
- `targetId` (required): `string`

### leadli_withdraw_report

Відкликає репорт організації про одного спостережуваного підписника.

- `leadId` (required): `string`
- `targetId` (required): `string`

### leadli_list_organization_reports

Повертає сторінку репортів поточної організації.

- `limit` (optional): `number`
- `page` (optional): `number`
- `status` (optional): `"active" | "withdrawn"`

### leadli_withdraw_organization_report

Відкликає один репорт поточної організації.

- `reportId` (required): `string`

### leadli_ban_subscriber

Блокує одну спостережувану людину в поточному Telegram-каналі. Ботів блокувати не можна.

- `leadId` (required): `string`
- `targetId` (required): `string`

### leadli_unban_subscriber

Знімає блокування однієї спостережуваної людини в поточному Telegram-каналі. Автоматично до каналу її не повертає.

- `leadId` (required): `string`
- `targetId` (required): `string`

## Telegram-канали й боти

### leadli_create_channel

Створює чернетку Telegram-каналу. Ліміт плану перевіряється під час активації. Для бота використовуйте leadli_create_bot.

- `chatReference` (required): `string`

### leadli_create_bot

Створює чернетку Telegram-бота за @username або t.me-посиланням. Далі підключіть рекламну платформу й лендинг, встановіть код із leadli_get_bot_code та викличте leadli_activate_channel.

- `botReference` (required): `string`

### leadli_get_bot_code

Повертає інструкції для власного сервера бота: пересилайте приватні /start і my_chat_member без змін на updatesPath, успішні платежі на eventsPath, потім попросіть користувача відкрити verifyStartUrl. Обидва шляхи відносні до origin MCP-сервера. botKey зберігайте лише в конфігурації сервера бота та не показуйте у відповідях. Лише для ботів; для каналів повертає BOT_ONLY_OPERATION.

- `targetId` (required): `string`

### leadli_connect_bot_token

За бажанням зберігає BotFather token того самого бота, щоб показати його ім'я та фото. Токен не повертається; webhook та updates бота не змінюються. Лише для ботів; для каналів повертає BOT_ONLY_OPERATION.

- `targetId` (required): `string`
- `token` (required): `string`

### leadli_update_channel

Змінює ім'я каналу.

- `name` (required): `string`
- `targetId` (required): `string`

### leadli_connect_telegram_bot

Підключає та перевіряє службового Telegram-бота. Секретний токен не повертається. Лише для каналів; для ботів повертає CHANNEL_ONLY_OPERATION.

- `targetId` (required): `string`
- `token` (required): `string`

### leadli_set_telegram_destination

Задає адресу Telegram-каналу й скидає його перевірку. Лише для каналів; для ботів повертає CHANNEL_ONLY_OPERATION.

- `chatReference` (required): `string`
- `targetId` (required): `string`

### leadli_verify_telegram_destination

Перевіряє права бота в налаштованому Telegram-каналі. Лише для каналів; для ботів повертає CHANNEL_ONLY_OPERATION.

- `targetId` (required): `string`

### leadli_get_setup_status

Повертає перевірки готовності каналу. Орієнтуйтесь на ready: достатньо metaVerified або tiktokVerified, тому інша перевірка може залишатися false.

- `targetId` (required): `string`

### leadli_activate_channel

Активує канал, якщо налаштування готові та план має вільне місце.

- `targetId` (required): `string`

### leadli_disable_channel

Вимикає атрибуцію каналу та звільняє його активне місце в плані.

- `targetId` (required): `string`

## Підключення Meta й TikTok

### leadli_set_meta_connection

Перевіряє та зберігає підключення Meta dataset з обов'язковим test event code. Access token не повертається.

- `accessToken` (required): `string`
- `datasetId` (required): `string`
- `targetId` (required): `string`
- `testEventCode` (required): `string`

### leadli_remove_meta_connection

Відключає канал від Meta.

- `targetId` (required): `string`

### leadli_set_tiktok_connection

Перевіряє та зберігає підключення TikTok pixel до Events API з обов'язковим test event code. Access token не повертається.

- `accessToken` (required): `string`
- `pixelCode` (required): `string`
- `targetId` (required): `string`
- `testEventCode` (required): `string`

### leadli_remove_tiktok_connection

Відключає канал від TikTok.

- `targetId` (required): `string`

## Лендинги й browser SDK

### leadli_set_landing_url

Задає HTTP(S) URL лендингу без облікових даних, query-параметрів і fragment.

- `landingUrl` (required): `string`
- `targetId` (required): `string`

### leadli_create_ready_made_landing

Створює та публікує готовий Telegram-лендинг із поточними перевірками налаштувань.

- `targetId` (required): `string`

### leadli_refresh_ready_made_landing

Оновлює та публікує вміст готового лендингу з поточного Telegram-каналу.

- `targetId` (required): `string`

### leadli_get_ready_made_landing

Повертає метадані опублікованого готового лендингу.

- `targetId` (required): `string`

### leadli_ensure_landing_installation

Готує встановлення SDK та повертає інструкції й тимчасовий installation token.

- `targetId` (required): `string`

### leadli_get_landing_installation_status

Повертає стан встановлення SDK лендингу.

- `targetId` (required): `string`

### leadli_restart_landing_installation

Перезапускає незавершене встановлення SDK, замінюючи попередню спробу й тимчасовий токен.

- `targetId` (required): `string`

### leadli_confirm_landing_installation

Підтверджує готове встановлення SDK для точного HTTP(S) origin.

- `installationId` (required): `string`
- `landingUrl` (optional): `string`
- `origin` (required): `string`
- `targetId` (required): `string`

### leadli_list_landings

Повертає власні та готові сторінки каналу, їхній стан і використання лімітів плану.

- `targetId` (required): `string`

### leadli_add_landing

Додає HTTP(S)-сторінку до каналу, що вже має підтверджену сторінку. Query і fragment ігноруються. Повертає сторінку та тимчасовий installation token.

- `targetId` (required): `string`
- `url` (required): `string`

### leadli_get_landing_installation

Повертає стан встановлення SDK на окремій сторінці каналу.

- `landingId` (required): `string`
- `targetId` (required): `string`

### leadli_restart_landing

Видає новий installation token для власної сторінки в стані очікування або відключення, замінюючи попередній.

- `landingId` (required): `string`
- `targetId` (required): `string`

### leadli_confirm_landing

Підтверджує сторінку після спостереження SDK і кнопки підписки на її origin та дозволяє цей origin.

- `landingId` (required): `string`
- `targetId` (required): `string`

### leadli_disconnect_landing

Відключає власну сторінку каналу, зберігає її історію та звільняє місце. Останню підтверджену сторінку відключити не можна.

- `landingId` (required): `string`
- `targetId` (required): `string`

### leadli_get_sdk_instructions

Повертає публічний URL скрипта SDK, атрибут кнопки підписки та route key.

- `targetId` (required): `string`

## Telegram-сповіщення

### leadli_list_notification_receivers

Повертає отримувачів сповіщень каналу. Потрібен дозвіл на налаштування. Лише для каналів; для ботів повертає CHANNEL_ONLY_OPERATION.

- `targetId` (required): `string`

### leadli_create_notification_start_link

Створює одноразове тимчасове посилання на підписку на Telegram-сповіщення. Лише для каналів; для ботів повертає CHANNEL_ONLY_OPERATION.

- `targetId` (required): `string`

### leadli_update_notification_receiver

Вмикає або вимикає наявного отримувача сповіщень. Лише для каналів; для ботів повертає CHANNEL_ONLY_OPERATION.

- `enabled` (required): `boolean`
- `targetId` (required): `string`
- `telegramUserId` (required): `string`

### leadli_remove_notification_receiver

Видаляє отримувача сповіщень каналу. Лише для каналів; для ботів повертає CHANNEL_ONLY_OPERATION.

- `targetId` (required): `string`
- `telegramUserId` (required): `string`

## Приклад виклику й відповіді

Після ініціалізації MCP-клієнта викличте `leadli_get_context` з порожніми аргументами. Далі використовуйте тільки доступні інструменти. Приклад нижче показує JSON-RPC повідомлення, яке надсилає клієнт.

### tools/call

```
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "leadli_get_context",
    "arguments": {}
  }
}
```

- MCP повертає результат у `content`; якщо є `isError: true`, покажіть помилку та не вважайте дію виконаною.
- Помилка авторизації: перевірте Bearer-заголовок і чи ключ не відкликано. Для відмови в доступі перевірте контекст, дозволи й план.
- `CHANNEL_ONLY_OPERATION` означає інструмент для Telegram-каналу; `BOT_ONLY_OPERATION` означає інструмент для Telegram-бота.

## Дані, обмеження та підтримка

Підключений асистент отримує результати інструментів, які він викликає з дозволами вашого ключа. Це можуть бути дані каналів, атрибуції та спостережуваних підписників. Вибирайте MCP-клієнта й дозволи ключа з урахуванням цих даних.

Поточне підключення використовує статичний Bearer-ключ. Потрібен клієнт із підтримкою власного Authorization header. OAuth-підключення через каталоги Claude або OpenAI поки не підтримується.

- [support@mail.leadli.me](mailto:support@mail.leadli.me)
- [Підтримка](https://leadli.me/contact)
- [Конфіденційність](https://leadli.me/privacy)
- [Умови використання](https://leadli.me/terms)

## Короткі відповіді

### Чи є доступ до всіх інструментів із будь-яким ключем?

Ні. Перевірте effective permissions і available tools у leadli_get_context. Для дій із даними потрібен активний trial або платний план. Контекст залишається доступним для перевірки доступу за планом.

### Чи репорт блокує підписника?

Репорт лише зберігає сигнал організації. Блокування виконується окремим інструментом і діє тільки на вибраний Telegram-канал.

## Першоджерела

- [MCP: tools/list, tools/call and results](https://modelcontextprotocol.io/specification/2025-11-25/server/tools)
- [MCP: Streamable HTTP](https://modelcontextprotocol.io/specification/2025-11-25/basic/transports)

[Canonical HTML page](https://leadli.me/guides/mcp-server)
