Skip to content
На цій сторінці

Довідник MCP-сервера

Revolink підтримує Model Context Protocol (MCP): відкритий стандарт, що дає AI-асистентам (Claude, Cursor, Windsurf та іншим) змогу працювати із зовнішніми сервісами як з інструментами.

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

Ендпоінт

POST https://api.revolink.link/apiv1/mcp

Транспорт: Streamable HTTP (без стану, один запит на виклик інструмента).


Автентифікація

MCP Revolink підтримує два способи підключення. Оберіть той, що вам підходить:

API-ключOAuth 2.0
Найкраще дляСкриптів, інструментів розробника, автоматизаціїclaude.ai у вебі, застосунків, команд
НалаштуванняЗгенеруйте ключ і вставте в конфігураціюПросто вставте URL і підтвердьте доступ
Керування ключемВи керуєте ключемНе потрібне: усе відбувається автоматично

Спосіб 1 — API-ключ

Згенеруйте ключ у Профіль → Інтеграції, увімкніть потрібні дозволи (scopes) MCP і передайте його в конфігурації клієнта. Інструкції для кожного клієнта дивіться нижче в розділі Налаштування.

Помилки:

HTTPПричина
401Відсутній або недійсний API-ключ, або термін дії ключа минув
403Ключ існує, але для нього не ввімкнено жодного дозволу MCP

Спосіб 2 — OAuth 2.0

Для клієнтів на кшталт claude.ai (веб), що підтримують OAuth: ключ не потрібен. Ви один раз підтверджуєте доступ, а клієнт робить усе решту автоматично.

Як підключитися (claude.ai у вебі):

  1. Перейдіть у Settings → Integrations у claude.ai.
  2. Натисніть Add MCP server.
  3. Вставте: https://api.revolink.link/apiv1/mcp
  4. Натисніть Connect: вас буде перенаправлено до Revolink, щоб підтвердити доступ.
  5. Готово. Інструменти Revolink тепер доступні у вашому чаті.

Щоб будь-коли скасувати доступ: Профіль → Підключені застосунки → Скасувати.


Дозволи MCP

Дозволи MCP відокремлені від звичайних дозволів API. Ключ може мати повний доступ до API, але нульовий доступ до MCP, або навпаки. Доступні дозволи (scopes):

ДозвілЩо відкриває
links:readlist_links, get_link
links:writecreate_link, update_link
links:deletedelete_link
links:bulkbulk_create_links
analytics:readget_link_analytics, get_workspace_analytics

Для автентифікації за API-ключем дозволи налаштовуються для кожного ключа в застосунку: Профіль → Інтеграції → MCP.

Для OAuth дозволи запитує клієнт, а користувач підтверджує їх під час процесу надання згоди.


Налаштування

API-ключ: крок за кроком

  1. Перейдіть у Профіль → Інтеграції в застосунку Revolink.
  2. Натисніть Створити API-ключ.
  3. Дайте ключу назву (наприклад, Claude MCP).
  4. У розділі MCP увімкніть дозволи, які хочете надати. Кожен дозвіл вмикається окремо.
  5. Натисніть Створити й скопіюйте ключ: він показується лише один раз.

Ключ із увімкненим MCP, але без вибраних дозволів MCP, буде відхилено на ендпоінті MCP з помилкою 403.

Налаштування AI-клієнта (API-ключ)

Claude Desktop (claude_desktop_config.json)

Claude Desktop використовує транспорт stdio. Скористайтеся мостом mcp-remote, щоб підключитися до HTTP-ендпоінта Revolink.

json
{
  "mcpServers": {
    "revolink": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://api.revolink.link/apiv1/mcp",
        "--header",
        "X-Api-Key:YOUR_API_KEY"
      ]
    }
  }
}

Відкрийте через: меню Claude → Settings → Developer → Edit Config. Після збереження перезапустіть Claude Desktop.

Claude Code (CLI)
bash
claude mcp add --transport http revolink https://api.revolink.link/apiv1/mcp \
  --header "X-Api-Key: YOUR_API_KEY"

Або додайте до .claude/settings.json:

json
{
  "mcpServers": {
    "revolink": {
      "type": "http",
      "url": "https://api.revolink.link/apiv1/mcp",
      "headers": {
        "X-Api-Key": "YOUR_API_KEY"
      }
    }
  }
}
Cursor / Windsurf (.cursor/mcp.json or .codeium/windsurf/mcp_config.json)
json
{
  "mcpServers": {
    "revolink": {
      "url": "https://api.revolink.link/apiv1/mcp",
      "headers": {
        "X-Api-Key": "YOUR_API_KEY"
      }
    }
  }
}
VS Code (.vscode/mcp.json)
json
{
  "servers": {
    "revolink": {
      "type": "http",
      "url": "https://api.revolink.link/apiv1/mcp",
      "headers": {
        "X-Api-Key": "${input:revolinkApiKey}"
      }
    }
  },
  "inputs": [
    {
      "id": "revolinkApiKey",
      "type": "promptString",
      "description": "Revolink API Key",
      "password": true
    }
  ]
}

Потрібен VS Code 1.99+ з GitHub Copilot. Запит ${input:revolinkApiKey} попросить ваш ключ під час першого використання.

Zed (~/.config/zed/settings.json)
json
{
  "context_servers": {
    "revolink": {
      "settings": {
        "url": "https://api.revolink.link/apiv1/mcp",
        "api_key": "YOUR_API_KEY"
      }
    }
  }
}

Налаштування AI-клієнта (OAuth)

claude.ai (web)

Конфігурація не потрібна. Коли ви додаєте новий MCP-сервер у claude.ai → Settings → Integrations, введіть:

https://api.revolink.link/apiv1/mcp

Claude автоматично перенаправить вас на сторінку згоди Revolink.


Робочі простори: автоматичний вибір

Вам ніколи не потрібно вказувати ID робочого простору вручну. Якщо ви надсилаєте запит без вибраного робочого простору, сервер повертає список ваших доступних робочих просторів. AI вибирає потрібний за контекстом, а потім автоматично продовжує операцію. Для вас це непомітно: просто опишіть звичайною мовою, що вам потрібно.


Доступні інструменти

Повертає список посилань робочого простору з розбиттям на сторінки.

Потрібний дозвіл: links:read

ПараметрТипОбов'язковийОпис
pageinteger—Номер сторінки (за замовчуванням: 1)
limitinteger—Посилань на сторінці, 1–100 (за замовчуванням: 20)
searchstring—Фільтр за назвою або slug
tagIdsstring[]—Фільтр за ID тегів

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

Потрібний дозвіл: links:read

ПараметрТипОбов'язковийОпис
linkIdstring✅ID посилання

Створює нове смарт-посилання з правилами маршрутизації.

Потрібний дозвіл: links:write

ПараметрТипОбов'язковийОпис
namestring✅Назва посилання (до 255 символів)
rulesRule[]✅Правила маршрутизації: див. Об'єкт правила нижче. Рівно одне має мати isDefault: true
slugstring—Власний slug (малі літери, дозволені дефіси). Якщо не вказано, генерується автоматично
domainstring—Власний домен. За замовчуванням домен робочого простору
descriptionstring—Внутрішня примітка (до 1000 символів)
activeboolean—Чи активне посилання (за замовчуванням: true)
tagIdsstring[]—ID тегів, які потрібно прикріпити
clicksLimitinteger—Деактивувати посилання після N кліків. 0 = без обмежень
expirationDatestring—Дата й час ISO 8601. Після цієї дати посилання деактивується
conversionTrackingboolean—Увімкнути піксель конверсій
gpsTrackingboolean—Увімкнути запис GPS-розташування при кліку
abTestAbTest—Конфігурація A/B-тесту: див. Об'єкт A/B-тесту нижче

Приклад запиту:

«Створи посилання "Product Hunt Launch", яке відправляє відвідувачів із комп'ютерів на десктопну лендінг-сторінку, а відвідувачів із телефонів на мобільну.»


Оновлює наявне посилання. Вказуйте лише ті поля, які хочете змінити.

Потрібний дозвіл: links:write

Ті самі параметри, що й у create_link, а також:

ПараметрТипОбов'язковийОпис
linkIdstring✅ID посилання, яке потрібно оновити
ogTitlestring—OG-заголовок, що показується, коли посиланням діляться в соцмережах (до 255 символів)
ogDescriptionstring—OG-опис для прев'ю в соцмережах (до 500 символів)
appearanceColorstring—Брендовий колір у hex (наприклад, #FF5733)

Коли передано rules, увесь масив правил замінюється. Вказуйте всі правила, які хочете залишити, а не лише змінені. AI внутрішньо отримує наявні ID правил перед оновленням.


Остаточно видаляє посилання.

Потрібний дозвіл: links:delete

ПараметрТипОбов'язковийОпис
linkIdstring✅ID посилання, яке потрібно видалити

Створює кілька посилань одним запитом. Підпадає під квоту тарифу на посилання.

Потрібний дозвіл: links:bulk

ПараметрТипОбов'язковийОпис
linksLinkInput[]✅Масив об'єктів посилань (1–100). Кожен має ті самі поля, що й create_link

Відповідь містить масиви created (успішні) і failed (невдалі, із причиною), тож можливий частковий успіх.


Повертає аналітику кліків для одного посилання за країною, пристроєм, браузером, ОС, правилом маршрутизації та A/B-варіантом.

Потрібний дозвіл: analytics:read

ПараметрТипОбов'язковийОпис
linkIdstring✅ID посилання
fromstring—Початкова дата YYYY-MM-DD (за замовчуванням: увесь час)
tostring—Кінцева дата YYYY-MM-DD (за замовчуванням: сьогодні)

get_workspace_analytics

Повертає зведену аналітику кліків по всіх посиланнях робочого простору.

Потрібний дозвіл: analytics:read

ПараметрТипОбов'язковийОпис
fromstring—Початкова дата YYYY-MM-DD (за замовчуванням: увесь час)
tostring—Кінцева дата YYYY-MM-DD (за замовчуванням: сьогодні)

Об'єкт правила

Кожне посилання має мати щонайменше одне правило. Рівно одне правило має мати isDefault: true: це резервне правило, коли умови жодного іншого не збігаються. Правило за замовчуванням не може мати жодних умов.

ПолеТипОпис
targetUrlstringЦільовий URL (обов'язково)
isDefaultbooleantrue для резервного правила (обов'язково)
countrystring[]Коди ISO 3166-1 alpha-2, наприклад ["UA", "DE"]
citystring[]Назви міст. Потрібно вказати country
devicestring[]"desktop" "mobile" "tablet" "console" "smarttv" "wearable" "embedded"
osstring[]"Windows" "macOS" "Linux" "iOS" "Android"
browserstring[]"Chrome" "Firefox" "Safari" "Edge" "Opera" "Brave"
timeStartstringПочаток активного вікна "HH:MM" UTC. Має бути в парі з timeEnd
timeEndstringКінець активного вікна "HH:MM" UTC. Має бути в парі з timeStart
daysOfWeekinteger[]Дні: 0 = неділя … 6 = субота
localestring[]Коди мов браузера, наприклад ["uk", "en"]
namestringНеобов'язкова мітка цього правила

Об'єкт A/B-тесту

Коли abTest.enabled має значення true, кліки діляться між варіантами відповідно до їхніх ваг. Правила маршрутизації все одно застосовуються першими: A/B-поділ відбувається лише для відвідувачів, яких підібрало певне правило.

ПолеТипОпис
enabledbooleantrue, щоб активувати A/B-тестування
variantsVariant[]Потрібно щонайменше 2 варіанти, коли тест увімкнено

Варіант:

ПолеТипОпис
urlstringЦільовий URL цього варіанта
weightnumberВідносна частка трафіку. Наприклад, 70 і 30 означає розподіл 70 %/30 %

Обробка помилок

MCP-сервер повертає стандартні помилки JSON-RPC. Помилки рівня інструмента використовують такі коди:

КодЗначення
-32602Недійсні параметри: некоректні вхідні дані (помилка валідації, зайнятий slug тощо)
-32603Внутрішня помилка: збій на боці сервера

Помилки рівня HTTP (до виклику інструмента):

HTTPПричина
401Відсутній або недійсний API-ключ / Bearer-токен
403Для ключа не ввімкнено дозволів MCP, або власник ключа не має доступу до робочого простору
404Робочий простір не знайдено

Приклади викликів інструментів

Список ваших посилань:

«Покажи всі посилання в моєму робочому просторі з тегом summer-sale.»

Створення посилання з геотаргетингом:

«Створи посилання "App Download". iOS-користувачів відправ в App Store, користувачів Android у Google Play, а всіх інших на сайт.»

Зміна правил маршрутизації:

«Онови посилання 664a1b2c…: додай правило, що перенаправляє відвідувачів із Німеччини на https://de.example.com.»

Аналітика за минулий тиждень:

«Які країни були в топі для посилання 664a1b2c… минулого тижня?»