Тестування вебхуків із Claude і ChatGPT через MCP

Підключіть Webhook Inspector як MCP-сервер, і AI-асистент сам створить URL, дочекається вебхука й розбере його разом із вами.

Оновлено:

Webhook Inspector — це ще й віддалений MCP-сервер. Після підключення AI-асистент працює з вебхуками сам: створює URL, дає його Stripe чи GitHub, чекає на доставку, читає заголовки й тіло, змінює відповідь і пробує знову. Більше не треба копіювати дані з браузера в чат.

Адреса сервера однакова для всіх клієнтів:

https://webhook.voronyuk.com/mcp

Реєстрації немає. Під час підключення відкривається сторінка, де ви натискаєте Дозволити, і асистент отримує доступ до тієї самої сесії (тих самих URL), що й ваш браузер.

Підключення Claude (claude.ai і Claude Desktop)

  1. Відкрийте Settings → Connectors і виберіть Add custom connector.
  2. Назвіть його Webhook Inspector і вставте https://webhook.voronyuk.com/mcp.
  3. Натисніть Connect. На сторінці Webhook Inspector перевірте сесію й натисніть Дозволити.

У чаті ввімкніть конектор і попросіть, наприклад: «Створи webhook URL stripe і дочекайся першого запиту».

Підключення Claude Code

claude mcp add --transport http webhook-inspector https://webhook.voronyuk.com/mcp

Потім виконайте /mcp у Claude Code, виберіть webhook-inspector і Authenticate. Браузер відкриє сторінку згоди; після Дозволити інструменти доступні в сесії.

Підключення ChatGPT

У ChatGPT увімкніть режим розробника (Settings → Apps → Advanced settings), створіть застосунок з адресою https://webhook.voronyuk.com/mcp та автентифікацією OAuth і підтвердіть доступ на сторінці згоди. Інструменти search і fetch також дають ChatGPT змогу знаходити захоплені запити в deep research.

Підключення Cursor, VS Code та інших клієнтів

Більшість клієнтів, що підтримують віддалені MCP-сервери з OAuth, приймають таку конфігурацію:

{
  "mcpServers": {
    "webhook-inspector": { "url": "https://webhook.voronyuk.com/mcp" }
  }
}

Для скриптів і клієнтів без OAuth надсилайте натомість токен сесії (частину після /r/ у посиланні на сесію):

Authorization: Bearer <токен сесії>

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

Інструмент Що робить
list_urls Показує ваші URL з кількістю запитів і налаштованими відповідями
create_url Створює URL для захоплення, напр. https://webhook.voronyuk.com/<hash>/stripe
wait_for_request Чекає до 40 секунд на наступний запит і повертає його із заголовками й тілом
list_requests Показує захоплені запити з пошуком і фільтром за методом
get_request Повертає один запит з усіма заголовками й тілом
set_response Задає статус, заголовки, тіло й затримку відповіді URL
clear_requests Видаляє захоплені запити URL
delete_url Видаляє URL разом із запитами
search, fetch Пошук по всіх URL і читання запиту як документа (для ChatGPT)

Як це виглядає

  1. «Створи webhook URL для GitHub» → асистент викликає create_url і дає вам адресу.
  2. Ви вставляєте її в Settings → Webhooks репозиторію; GitHub надсилає ping.
  3. «Дочекайся вебхука й перевір підпис моїм секретом» → wait_for_request повертає доставку, а асистент перераховує X-Hub-Signature-256 із сирого тіла.
  4. «Зроби, щоб URL повертав 500, — хочу побачити повтори GitHub» → set_response.

Усе, що робить асистент, одразу видно у веб-інструменті, бо це та сама сесія.

Безпека

  • Доступ надається кожному застосунку окремо на сторінці згоди й відкликається будь-коли в інструменті, у розділі Підключені застосунки.
  • Захоплені запити надсилають треті сторони. Сервер позначає їх як недовірені дані, але стежте, що асистент робить із вмістом запитів, особливо якщо URL публічний.
  • Токени мають строк дії: токен доступу — годину, refresh-токен — 30 днів без активності. Запити видаляються через 72 години; див. політику конфіденційності.

Часті питання

Чи потрібен обліковий запис, щоб користуватися MCP-сервером?

Ні. Сторінка згоди підключає асистента до вашої поточної сесії браузера. Якщо її ще немає, для вас створюється нова.

Чи бачать Claude і браузер ті самі URL?

Так. Асистент працює в сесії, яку ви дозволили, тож створені ним URL з'являються у веб-інструменті, а нові запити видно в обох місцях.

Скільки може чекати wait_for_request?

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

Чи може асистент пересилати вебхуки на мій localhost?

Не через MCP: сервер не має доступу до вашого комп'ютера. Для localhost скористайтеся CLI-агентом або relay у браузері; асистент однаково бачить кожен запит і результат його пересилання.

Спробуйте зараз

Отримайте безкоштовний URL для вебхуків і дивіться, як приходять запити, — без реєстрації.

Отримати URL для вебхуків

Інші гайди

Localhost

Як тестувати вебхуки локально

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

GitHub

Як тестувати вебхуки GitHub

Налаштовуємо вебхук репозиторію, розбираємо заголовки GitHub, правильно перевіряємо X-Hub-Signature-256 і повторно доставляємо події під час налагодження.

Shopify

Як тестувати вебхуки Shopify

Створюємо вебхук магазину або підписку застосунку, розбираємо заголовки X-Shopify, перевіряємо X-Shopify-Hmac-Sha256 і враховуємо тайм-аути та повтори Shopify.

Slack

Як тестувати Slack Events API та interactivity

Дивимося, що Slack надсилає на Request URL, проходимо перевірку url_verification, валідуємо X-Slack-Signature і розкодовуємо form-encoded payload від interactivity.

Stripe

Як тестувати вебхуки Stripe

Налаштовуємо ендпоінт у Stripe, дивимося, що саме приходить, перевіряємо Stripe-Signature на Node.js і Python та пересилаємо події на локальний застосунок.

Telegram

Як тестувати вебхук Telegram-бота

Спрямовуємо бота на публічну адресу через setWebhook, роздивляємося сирі апдейти від Telegram і пересилаємо їх боту, що працює на вашій машині.

Twilio

Як тестувати вебхуки Twilio для SMS і дзвінків

Спрямовуємо номер Twilio на адресу-перехоплювач, читаємо form-encoded параметри, відповідаємо TwiML без власного сервера і перевіряємо X-Twilio-Signature через офіційні бібліотеки.