6 хв читанняІнтеграції

Gemini URL Shortener: де насправді працюють виклики інструментів

Gemini може створювати справжні короткі посилання, але не в додатку. Чому Gems не можуть викликати ваш API і як під'єднати CLI та API, щоб посилання працювало.

Marius Voß
DevRel · edge infra
Скорочувач URL-адрес Gemini працює через CLI поверх MCP і через виклики функцій API, тоді як споживчий додаток Gemini не має способу викликати зовнішній API

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

Відмінність тут помітніша, ніж з іншими асистентами, і зводиться до одного архітектурного рішення Google: споживчий додаток Gemini не має механізму для виклику API, яким ви володієте. Попросіть його скоротити URL-адресу - і отримаєте slug правильної форми, за яким нічого не стоїть. Gemini CLI - інший продукт з іншою відповіддю, і саме там живе виклик інструмента. Тому рішення, яке схоже на вибір між двома поверхнями Google, зрештою визначає, чи зможе ваша команда взагалі цим користуватися.

У цьому дописі розглянуто три поверхні та те, що кожна з них справді може: CLI поверх MCP, виклики функцій у Gemini API та чат із готовим запитом. Паралельний матеріал про ChatGPT приводить до іншого висновку - варто зрозуміти чому, перш ніж обирати поверхню.

Чому додаток Gemini не може створити коротке посилання

Gems - це функція власних асистентів Gemini, і на перший погляд вони схожі на еквівалент custom GPT. Але в суттєвому для нас аспекті це не так. У Gems немає аналога Actions. Немає поля для схеми OpenAPI. Немає налаштування автентифікації. Немає способу спрямувати один із них на власний ендпоінт.

Gems можуть використовувати власні розширення Google: Workspace, Maps, YouTube. Їх створив Google, а не ви налаштували. Тож розрив у можливостях - це не розрив у зрілості, який можна усунути налаштуванням. Ніщо, що ви напишете в інструкціях Gem, не надасть йому мережевого доступу до вашого API.

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

Порівняння трьох поверхонь Gemini для скорочення URL-адрес: додаток і Gems не мають шляху до стороннього API, CLI звертається до нього через MCP, а API - через виклики функцій

Маршрут перший: Gemini CLI поверх MCP

Gemini CLI підтримує Model Context Protocol, а це означає, що той самий @elido/mcp-server, який обслуговує Claude Desktop і Cursor, працює тут без спеціального коду для Gemini. Налаштуйте його один раз, і create_link, list_links, query_analytics, generate_qr та list_workspaces з'являться як інструменти, які можна викликати.

Додавання сервера

Найшвидший спосіб - вбудована команда:

gemini mcp add -s user -e ELIDO_API_KEY=$ELIDO_API_KEY elido npx -y @elido/mcp-server

Або відредагуйте файл налаштувань безпосередньо. Користувацький рівень зберігається в ~/.gemini/settings.json, рівень проєкту - у .gemini/settings.json, а блок розміщується під mcpServers:

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

Деталь розгортання env, яка створює проблеми

Gemini CLI розгортає $VAR і ${VAR} всередині блоку env, тому наведений вище ключ є посиланням, а не вставленим секретом. Користуйтеся цим. Зафіксувати .gemini/settings.json рівня проєкту з робочим ключем - це проста помилка, яку помічають нескоро.

Одна гостра деталь із документації Google про MCP-сервер: невизначена змінна перетворюється на порожній рядок, а не спричиняє помилку. Тому помилка в назві змінної не дає гучного збою під час запуску. Вона проявляється пізніше, під час першого виклику інструмента, як помилка автентифікації. Я втратив двадцять хвилин через відсутній export і весь цей час перечитував не той файл, бо помилка автентифікації вказує на облікові дані, а не на назву змінної, яка мала їх містити. Якщо сервер підключається, але кожен виклик повертається як неавторизований, спершу перевірте змінну.

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

Маршрут другий: виклики функцій у Gemini API

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

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

Для більшості команд цей маршрут має сенс лише тоді, коли скорочення є одним кроком у більшому автоматизованому процесі. Якщо вам просто потрібні посилання під час роботи, CLI потребує менше коду і менше процесів, які треба підтримувати запущеними.

Маршрут третій: чат із готовим запитом

Варіант без налаштування - посилання, яке відкриває Gemini з уже написаним запитом:

https://gemini.google.com/app?q=<url-encoded%20prompt>

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

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

Схема виклику інструмента Gemini CLI: settings.json оголошує MCP-сервер Elido, CLI запускає його через stdio, сервер викликає API Elido з ключем, який ніколи не потрапляє до моделі, а робоче коротке посилання повертається в розмову

Який маршрут підходить

ПоверхняМоже викликати ваш APIНалаштуванняНайкраще підходить для
Додаток Gemini і GemsНіНедоступнеПідготовки slug і наборів UTM
Gemini CLIТак, через MCPОдин блок конфігураціїЩоденної інтерактивної роботи
Gemini APIТак, через виклики функційКод, який ви підтримуєтеПосилань в автоматизованому процесі

Прочитайте цю таблицю разом із таблицею про ChatGPT - саме асиметрія тут є головною. Поверхня ChatGPT, якою можна ділитися, здатна містити підключену дію, тож маркетинговій команді можна передати робочий custom GPT. Підключена поверхня Gemini - це термінал. Якщо ваші користувачі - маркетологи, ця відмінність визначає платформу ще до будь-якого порівняння функцій.

Обмеження області дії ключа

MCP-сервер зберігає облікові дані, а модель їх не бачить, і це правильна схема. Але вам усе одно потрібно вирішити, що саме можуть робити ці облікові дані.

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

Окремо варто подумати про рівень проєкту. .gemini/settings.json, зафіксований у спільному репозиторії, зручний, але водночас це файл, який успадкує кожен учасник. Зберігайте секрет у середовищі, а у файлі налаштувань не залишайте нічого, що ви не вставили б у запит на злиття.

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

Є три речі, щодо яких варто одразу визначити очікування.

Поверхня інструментів навмисно невелика. @elido/mcp-server має версію 0.1.x і п'ять інструментів, а адміністрування робочого простору навмисно не входить до них. Запрошення людей, налаштування доменів і зміна планів залишаються в дашборді, де їх виконує авторизована людина.

Масову роботу слід виконувати в іншому місці. Запит на сорок посилань в одній розмові спричиняє помилки обмеження частоти, а модель втрачає зв'язок між slug і відповідним призначенням. Коли посилань стає більше, скористайтеся API або імпортом CSV.

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

Читайте основний матеріал → Підключіть Elido до Claude і Cursor за допомогою MCP

Інші матеріали в блозі

Поширені запитання

Чи може Gemini скоротити URL-адресу?

Лише там, де він може викликати інструмент. Gemini CLI підтримує MCP-сервери, тож після налаштування MCP-сервера Elido він створює справжнє посилання. Споживчий додаток Gemini цього не може: він не має механізму для виклику стороннього API, тому запит у ньому породжує вигаданий slug, який нікуди не перенаправляє.

Чи підтримують Gemini Gems власні дії, як custom GPT?

Ні. У Gems немає еквівалента GPT Actions, тому ви не можете спрямувати один із них на власний API, вебхук або сервіс. Gems можуть використовувати власні розширення Google, як-от Workspace, Maps і YouTube, але їх заздалегідь створив Google, а не ви налаштували як підключення. Це головна структурна відмінність між розробленням на Gemini та розробленням на ChatGPT.

Як додати MCP-сервер до Gemini CLI?

Або виконайте gemini mcp add із назвою сервера та командою, або безпосередньо додайте блок mcpServers до settings.json. Користувацький рівень зберігається в ~/.gemini/settings.json, рівень проєкту - у .gemini/settings.json, а прапорець рівня визначає, у який файл буде записано зміни.

Чи можна не зберігати мій ключ API у settings.json?

Так. Gemini CLI розгортає змінні середовища всередині блоку env, тож замість вставляння секрету можна написати $ELIDO_API_KEY. Зверніть увагу: невизначена змінна перетворюється на порожній рядок, а не викликає помилку, тому помилка в написанні виглядає як помилка автентифікації під час першого виклику інструмента.

Що робити, якщо я використовую лише вебдодаток Gemini?

Тоді скористайтеся чатом із готовим запитом для чернетки, а посилання створіть самостійно. Асистент може запропонувати slug, що відповідає вашій угоді про назви, і підготувати набір UTM-міток для запуску в кількох каналах, але саме посилання має бути створене там, де його справді можна записати. Сприймайте додаток як поверхню для підготовки чернеток, а не для виконання.

Чи готова інтеграція Gemini до продакшену?

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

Спробуйте Elido

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

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

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

Спробуйте Elido

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

Теги
gemini url shortener
gemini cli mcp
shorten links in gemini
gemini function calling
gemini gems
ai integration

Читати далі