Elido
13 хв читанняМожливості
Ключова

Підключення Elido до Claude та Cursor через MCP - практичний посібник

Як інтегрувати @elido/mcp-server у Claude Desktop та Cursor, щоб ваш ШІ-агент міг скорочувати URL-адреси, генерувати QR-коди та переглядати аналітику кліків безпосередньо в робочому процесі.

Marius Voß
DevRel · edge infra
Diagram showing Claude Desktop and Cursor connecting through the MCP stdio transport to the Elido MCP server, which sits in front of the Elido REST API

Якщо ви провели бодай трохи часу з Claude Desktop або Cursor протягом останніх шести місяців, ви, ймовірно, помітили панель інструментів - список іменованих дій, які агент може викликати під час розмови. Ці інструменти походять від сервера MCP. У цій статті пояснюється, що це означає, чому скорочувач URL-адрес ідеально підходить для цього, і як підключити @elido/mcp-server до обох клієнтів, щоб агент міг скорочувати URL-адреси, генерувати QR-коди та отримувати статистику кліків, не виходячи з редактора.

Що таке MCP#

Model Context Protocol - це невеликий відкритий стандарт, який дозволяє клієнту ШІ - Claude Desktop, Cursor або будь-якому сумісному фреймворку агентів - виявляти та викликати зовнішні інструменти через уніфікований інтерфейс JSON-RPC. Процес сервера запускається локально на вашій машині (або на хості, який ви контролюєте), відкриває список типізованих інструментів і взаємодіє з клієнтом через стандартний ввід/вивід. Клієнт надсилає запит на виклик інструменту, сервер виконує роботу, а результат повертається в розмову як контекст. Модель ніколи не бачить вашого ключа API; його бачить сервер. Весь протокол обміну займає кілька кілобайт на повідомлення; вам не потрібно встановлювати жодних SDK на стороні клієнта, а сервер можна написати будь-якою мовою, яка здатна читати stdin і писати stdout.

Коротка версія: MCP - це стандартизований спосіб для клієнта ШІ викликати код, який ви контролюєте. Агент описує намір, інструмент виконує роботу, агент враховує результат.

Діаграма архітектури: Claude Desktop та Cursor підключаються через транспорт stdio JSON-RPC до локального сервера Elido MCP, який надсилає автентифіковані Bearer-запити до REST API Elido за адресою api.elido.app, при цьому ключ API залишається всередині сервера, і модель його ніколи не бачить

Чому скорочувач URL-адрес тут доречний#

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

MCP усуває перемикання контексту. Коли @elido/mcp-server підключено, агент може викликати create_link безпосередньо в чаті - коротке посилання з'являється в розмові, і ви продовжуєте роботу. Це ж стосується і менш очевидних випадків:

  • Написання анонсу запуску продукту, який потребує п'яти посилань з UTM-мітками для різних каналів: агент може викликати create_link п'ять разів поспіль з різними тегами, а потім додати всі п'ять посилань у текст.
  • Запит до агента на створення QR-коду для друкованої продукції: generate_qr повертає SVG-артефакт, який агент відображає в контексті.
  • Аналіз ефективності кампанії за минулий тиждень: query_analytics отримує часовий ряд кліків для будь-якого посилання або всього робочого простору з урахуванням часового поясу, без вашого входу в панель керування.

Жодна з цих дій не вимагає, щоб модель розуміла ваш API. Вони вимагають, щоб @elido/mcp-server переклав типізований виклик інструменту в автентифікований запит REST і повернув результат. Сервер Elido MCP працює за цією моделлю напряму. Це локальний процес Node, який знаходиться між клієнтом ШІ та REST API Elido. Коли агент викликає create_link, сервер перетворює цей виклик на автентифікований запит POST /v1/workspaces/{id}/links, вирішує питання з робочим простором і повертає результат у вигляді структурованого тексту, який може прочитати агент. Ключ API ніколи не залишає процес сервера; клієнт бачить лише результат роботи інструменту.

Що сервер пропонує сьогодні#

@elido/mcp-server опубліковано як @elido/mcp-server у npm (Apache-2.0, версія 0.1.x). Вихідний код знаходиться в packages/mcp-server/ у монорепозиторії Elido. Він використовує транспорт MCP stdio - JSON-RPC 2.0 з розділенням рядками через stdin/stdout - і не має залежностей під час виконання, окрім Node 20+. Він не використовує офіційний пакет @modelcontextprotocol/sdk; протокол реалізовано вручну, щоб пакет залишався малим і його було легко перевірити перед тим, як надати йому ключ API.

П'ять інструментів, доступних у версії 0.1.x:

ІнструментЩо він робить
create_linkСкорочує URL-адресу з необов'язковим слагом, доменом, заголовком та тегами. Повертає повний запис посилання, включаючи коротку URL-адресу.
list_linksВиводить список останніх посилань у робочому просторі з пагінацією.
query_analyticsЧасовий ряд кількості кліків для робочого простору або окремого посилання, згрупований по годинах або днях у будь-якому часовому поясі IANA.
generate_qrГенерує QR-код (SVG або PNG) для існуючого посилання.
list_workspacesПерелічує робочі простори, які бачить ключ API.

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

П'ять інструментів MCP, які Elido надає у версії 0.1.x: create_link та generate_qr потребують доступу на запис посилань, list_links та list_workspaces потребують доступу на читання посилань, а query_analytics потребує доступу на читання аналітики; адміністративні операції робочого простору, як-от запрошення учасників та керування оплатою, навмисно виключені та залишаються в панелі керування

Отримання ключа API#

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

  1. Відкрийте Settings → API Keys у панелі керування Elido.
  2. Натисніть New key, дайте йому назву, яка ідентифікує агента (наприклад, claude-desktop-mcp), і виберіть дозволи Link read/write + Analytics read. Не надавайте права адміністратора робочого простору, якщо у вас немає для цього вагомих причин.
  3. Скопіюйте ключ - він відображається лише один раз. Вам також знадобиться числовий ID робочого простору, який можна знайти в Settings → Workspace → General.

Тримайте ключ подалі від систем контролю версій. Конфігураційні файли MCP, описані нижче, знаходяться у вашому домашньому каталозі або в локальному каталозі проєкту; не додавайте жоден з них у спільний репозиторій.

Докладніше про області доступу ключів API та журнал аудиту, який відображає кожен виклик інструменту, див. у документації щодо ключів API.

Налаштування Claude Desktop#

Claude Desktop читає список серверів MCP з файлу JSON за адресою:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Якщо файл не існує, створіть його. Додайте блок сервера elido всередині mcpServers:

{
  "mcpServers": {
    "elido": {
      "command": "npx",
      "args": ["-y", "@elido/mcp-server"],
      "env": {
        "ELIDO_API_KEY": "elido_pk_your_key_here",
        "ELIDO_WORKSPACE_ID": "42"
      }
    }
  }
}

Замініть elido_pk_your_key_here своїм справжнім ключем, а 42 - ID вашого робочого простору.

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

Після збереження файлу закрийте та перезапустіть Claude Desktop. Інструменти Elido з'являться на панелі інструментів. Якщо вони не з'являються, перевірте консоль розробника Claude Desktop (Help → Show developer tools) на наявність помилок stderr від процесу сервера - найчастішою причиною є помилка в ключі або шлях у command, який не вдається знайти.

Якщо ви хочете зафіксувати конкретну версію пакета, а не завантажувати останню через npx, спочатку встановіть його глобально:

npm install -g @elido/[email protected]

Потім замініть пару command / args:

{
  "command": "elido-mcp-server",
  "args": []
}

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

Cursor підтримує локальну конфігурацію MCP для проєкту через файл .cursor/mcp.json у корені робочого простору. Формат ідентичний блоку mcpServers у Claude Desktop:

{
  "mcpServers": {
    "elido": {
      "command": "npx",
      "args": ["-y", "@elido/mcp-server"],
      "env": {
        "ELIDO_API_KEY": "elido_pk_your_key_here",
        "ELIDO_WORKSPACE_ID": "42"
      }
    }
  }
}

Створіть .cursor/mcp.json у корені проєкту (додайте його в .gitignore, якщо репозиторій спільний - файл містить активний ключ API). Відкрийте Cursor Settings → Features → MCP, переконайтеся, що сервер є у списку та має зелений індикатор статусу, а потім перезапустіть панель агента. Інструменти Elido з'являться у списку інструментів Composer.

Ви також можете налаштувати глобальну конфігурацію Cursor MCP за адресою ~/.cursor/mcp.json, якщо хочете, щоб інструменти були доступні у всіх проєктах без створення окремих файлів конфігурації. Правила пріоритетності такі ж самі, як у Claude Desktop.

Приклад сесії: написання листа кампанії та скорочення CTA#

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

Цикл виклику create_link: агент LLM запитує create_link з URL, slug та тегами, інструмент MCP перетворює виклик і визначає робочий простір, наш API обробляє POST та зберігає запис посилання, а запис короткого посилання повертається, щоб агент міг вбудувати коротку URL-адресу в чат

User: Напишіть короткий лист для весняного розпродажу. CTA має посилатися на https://shop.example.com/spring-2026 - скоротіть його з тегом spring-2026 і використайте слаг spring, якщо він вільний.

Claude: Спочатку я скорочу URL-адресу, а потім напишу текст листа на основі результату.

[Виклик інструменту: create_link]

{
  "destination_url": "https://shop.example.com/spring-2026",
  "slug": "spring",
  "title": "Spring 2026 sale CTA",
  "tags": ["spring-2026"]
}

[Результат інструменту]

{
  "id": 1847,
  "short_url": "https://s.elido.me/spring",
  "destination_url": "https://shop.example.com/spring-2026",
  "slug": "spring",
  "tags": ["spring-2026"],
  "created_at": "2026-05-11T09:14:22Z"
}

Claude: Коротке посилання: https://s.elido.me/spring. Ось чернетка листа:

Тема: Весняний розпродаж - знижки до 40%, тільки цього тижня

Вітаємо [First name],

Наш весняний розпродаж розпочався. Нові надходження, фінальні знижки та кілька речей, які ми приберігали для особливого моменту.

Перейти до магазину → https://s.elido.me/spring

Закінчується в неділю. Промокод не потрібен.


Агент викликав create_link з параметрами з вашого запиту, отримав у відповідь канонічний запис посилання та використав поле short_url у чернетці. Якби слаг spring був зайнятий, API повернув би помилку 409, і агент спробував би інший варіант або повідомив би про конфлікт для вашого вирішення.

Зауважте, що domain_id не було вказано у виклику інструменту. Сервер визначає його автоматично: якщо domain_id не надано, він отримує список доменів робочого простору та вибирає перший підтвержений домен. Для безкошровних тарифних планів це f.elido.me; для платних - s.elido.me або власний домен, якщо він налаштований. Якщо вам потрібен конкретний домен, вкажіть його числовий ID явно - ви можете знайти його за допомогою list_workspaces або в панелі керування.

Ви також можете попросити агента обробити кілька посилань за один раз. Запит «Створи посилання з UTM-мітками для email, Twitter та LinkedIn, що ведуть на сторінку весняного розпродажу» призведе до трьох послідовних викликів create_link з різними наборами тегів, і агент представить усі три короткі URL-адреси в таблиці, яку ви зможете вставити безпосередньо в план кампанії. Такий підхід замінює ручне створення UTM-міток у панелі керування для повсякденних завдань, хоча він ще не підтримує систему UTM-шаблонів на рівні робочого простору (описану в посібнику з відстеження UTM) - така автоматизація все ще вимагає використання REST API.

Приклад сесії: запит статистики кліків#

Другий сценарій - отримання аналітики під час перегляду результатів кампанії без відкриття панелі керування.


User: Як спрацювали посилання spring-2026 минулого тижня? Розбий дані по днях за берлінським часом.

Claude: Дозвольте мені отримати часовий ряд для цього посилання.

[Виклик інструменту: query_analytics]

{
  "link_id": 1847,
  "from": "2026-05-04",
  "to": "2026-05-10",
  "interval": "day",
  "tz": "Europe/Berlin"
}

[Результат інструменту]

{
  "items": [
    { "bucket": "2026-05-04", "clicks": 312 },
    { "bucket": "2026-05-05", "clicks": 489 },
    { "bucket": "2026-05-06", "clicks": 701 },
    { "bucket": "2026-05-07", "clicks": 1204 },
    { "bucket": "2026-05-08", "clicks": 988 },
    { "bucket": "2026-05-09", "clicks": 623 },
    { "bucket": "2026-05-10", "clicks": 417 }
  ],
  "total": 4734,
  "tz": "Europe/Berlin"
}

Claude: Весняне посилання отримало 4 734 кліки минулого тижня. Пік припав на середу–четвер (701 → 1 204), що збігається з розсилкою електронних листів у середині тижня. Трафік знизився до вихідних. Якщо ви надіслали лист кампанії в четвер вранці за часом Berlin, сплеск це підтверджує.

Щоб порівняти кілька посилань, попросіть агента викликати query_analytics для кожного з них і скомпілювати результати. Це потребує кількох викликів інструментів, але агент впорається з циклом; ви отримаєте порівняльну таблицю без відкриття панелі керування чи написання скриптів.


Параметр tz гарантує, що денні інтервали відповідають вашій місцевій півночі, а не UTC. Лист кампанії, надісланий о 9 ранку за CET, який ви перевіряєте в UTC, матиме трафік першого дня, розділений між двома днями UTC - tz: Europe/Berlin дозволяє уникнути цього. Підтримка часових поясів є частиною роботи над аналітикою Фази 6.A, описаної на сторінці сервера MCP.

Безпека - обмеження доступу ключа, запити сервера, журнал аудиту#

Кілька речей, які варто знати, перш ніж впроваджувати це в команді.

Обмежуйте доступ ключа. Інструментам create_link та generate_qr потрібен доступ на запис посилань. Для query_analytics потрібне читання аналітики. Для list_links та list_workspaces - читання посилань. Якщо ваш процес передбачає лише читання (наприклад, перегляд метрик), створіть ключ тільки з правами analytics read + link read. Сервер викликатиме лише ті кінцеві точки, які дозволяє ключ; будь-яка інша дія поверне помилку 403, яка відобразиться як помилка у відповіді агента.

Що надсилає сервер. Кожен виклик інструменту стає автентифікованим запитом до api.elido.app із заголовком Authorization: Bearer <key>. Сервер надсилає заголовок User-Agent: elido-mcp-server/0.1.0 у кожному запиті; цей рядок відображається в журналі аудиту. Сам сервер не надсилає жодних даних до Anthropic або будь-яких сторонніх служб - сервер MCP є локальним процесом, що виступає посередником між клієнтом і Elido API. Дані, які клієнт ШІ надсилає на свій бекенд (ваш запит у Claude Desktop, результати роботи інструментів, що повертаються в контекст), регулюються політиками даних Anthropic або Cursor, а не Elido.

Журнал аудиту. Кожен виклик API, здійснений сервером MCP, відображається в Settings → Audit Log у панелі керування з міткою назви ключа та IP-адресою джерела. Якщо ви помітили неочікувані виклики інструментів, негайно оновіть ключ у Settings → API Keys. Журнал аудиту доступний на тарифах Pro та Business.

Ключ у файлі конфігурації. Блок env у файлах claude_desktop_config.json та .cursor/mcp.json зберігає ключ у відкритому вигляді. На особистій машині це прийнятно; у спільному або керованому середовищі краще передавати ключ через системну зв'язку ключів або менеджер секретів, посилаючись на нього через змінну оточення. Для командної роботи кожен учасник повинен мати власний ключ - спільні ключі роблять атрибуцію в журналі аудиту безглуздою.

Чесні обмеження#

Кілька речей, які сервер MCP не робить за задумом.

Ніяких операцій адміністрування робочого простору. Запрошення учасників команди, налаштування власних доменів, керування оплатою, створення або видалення робочих просторів - нічого з цього немає в наборі інструментів. Ці операції є досить відповідальними, тому вимога присутності людини в панелі керування є правильним заходом безпеки. Інтерфейс MCP навмисно обмежений завданнями, які потрібні контент-агенту або менеджеру кампаній безпосередньо в чаті. Якщо вам потрібна автоматизація розгортання робочих просторів, використовуйте REST API або провайдер Terraform.

Відсутність стрімінгу в реальному часі. Поточний транспорт - stdio із синхронною моделлю запит/відповідь. Транспорт SSE є в планах. Для більшості сценаріїв - створення посилання, отримання QR-коду, запит тижневого часового ряду - синхронна модель працює добре. Для випадків, що потребують стрімінгу великого списку посилань або спостереження за лічильником кліків у реальному часі, краще використовувати панель керування або REST API.

Застосовуються ліміти запитів. API Elido обмежує швидкість запитів для кожного ключа незалежно від того, хто є ініціатором: людина, скрипт чи сервер MCP. Ліміти для різних тарифних планів наведені в довіднику API. Якщо сценарії агента викликають create_link у щільних циклах (наприклад, програмне створення сотень посилань), слід використовувати кінцеву точку масового імпорту REST (POST /v1/links/bulk), а не сотні окремих викликів інструменту create_link. Сервер MCP оптимізовано для інтерактивного використання; масові операції належать до сфери скриптів.

query_analytics повертає лише кількість кліків. Часовий ряд, який повертає інструмент query_analytics, - це кількість кліків, згрупована за часом. Він не повертає географічний розподіл, дані про пристрої, реферери або атрибуцію конверсій. Ці дані доступні в панелі керування та через повний REST API аналітики, але наразі не є частиною інструментарію MCP. Якщо вашому агенту потрібен розподіл по країнах для посилання, викликайте REST API безпосередньо.

Куди рухатися далі#

Вихідний код сервера та трекер проблем знаходяться за адресою packages/mcp-server/ у монорепозиторії Elido. Пакет публікується з використанням npm provenance, тому кожен реліз криптографічно прив'язаний до коміту, з якого він був зібраний - аудит опублікованого артефакту є простим завданням.

На сторінці інтеграції MCP ви знайдете довідник інструментів, матрицю прав доступу та конфігурацію для самостійного хостингу (self-host) для переспрямування ELIDO_API_BASE на приватний екземпляр Elido. Якщо ви на тарифному плані, що включає конфігурацію MCP для робочого простору, на цій сторінці також описано процес ротації командних ключів.

Два варіанти, які варто спробувати насамперед:

  1. Налаштуйте Claude Desktop, як описано вище, відкрийте нову розмову та введіть «скороти https://example.com/test з тегом mcp-test». Спостерігайте, як виконується виклик інструменту та коротке посилання з'являється у відповіді. Все налаштування має зайняти менше п'яти хвилин.

  2. Якщо ви вже використовуєте Cursor для роботи з контентом або документацією, додайте .cursor/mcp.json у корінь проєкту та попросіть Composer «підсумувати найпопулярніші посилання минулого тижня за кількістю кліків». Виклики list_links та query_analytics відбудуться в чаті, і агент напише підсумок прямо в діалозі.

Обидва рішення знаходяться в бета-версії (0.1.x) - набір інструментів буде розширюватися, але вхідні параметри існуючих інструментів не будуть змінені в межах версій 0.1.x. Якщо щось працює не так, як описано тут, створіть тикет з міткою area:mcp, і ми розглянемо це як регресію.

Схоже в блозі#

Якщо ви оцінюєте вартість Elido, сервер MCP доступний на всіх тарифних планах - виклики інструментів враховуються в тих самих лімітах API, що й для будь-якого іншого клієнта. Видимість журналу аудиту, описана вище, потребує плану Pro або вище. Дивіться сторінку цін для повного порівняння тарифів.

  • Маріус

Спробуйте Elido

Вставте URL - отримайте коротке посилання

Без реєстрації. Посилання живе 30 днів. Зареєструйтесь, щоб зберегти назавжди.

Безкоштовно, без реєстрації · 2 на день

Спробуйте Elido

URL-скорочувач із хостингом у ЄС: власні домени, глибока аналітика, відкритий API. Безкоштовний тариф - без кредитної картки.

Теги
mcp
model context protocol
claude
cursor
ai integration
url shortener
developer experience
automation

Читати далі