LabscoMCP early access ↗
rafabarbosaMCP SERVER

Webhooks MCP

Fire an HTTP request at any webhook, with the parameters the model fills in and an allowlist you set.

by rafabarbosa ↗API Specifications & HTTP ToolingCommunity

LABSCO SUMMARY

Set the allowlist before you connect it.

This is a generic outbound HTTP tool, which makes it useful for wiring an agent into anything with a webhook — CRM intake, Slack notifications, payment callbacks — and also means an unconstrained instance will post wherever the model composes a URL. WHITELIST_URLS is the control: with it unset, any URL is permitted, so list your domains first and treat that as part of the install rather than a hardening step for later.

What it is

A TypeScript MCP server that sends HTTP requests to webhooks with dynamic parameters, validated on the way out and logged on the way back.

What you get

  • send_webhook — a url, a method from GET, POST, PUT, PATCH and DELETE, plus optional parameters, headers and timeout
  • Method-aware parameter placement: GET and DELETE put them in the query string, POST, PUT and PATCH send them as a JSON body
  • Input validation with Zod, and header checks — Authorization must be a bearer token, Content-Type must be JSON, form-encoded or XML
  • A domain allowlist through WHITELIST_URLS, so the destinations are yours to decide
  • Automatic retries with exponential backoff via RETRY_ATTEMPTS and RETRY_BASE_DELAY_MS
  • Configurable log verbosity with LOG_LEVEL, and messages in Portuguese or English through LANG

Requirements

npm install and npm run build, then point the client at the built dist/index.js. A Docker path exists too, taking the same environment variables. The request timeout defaults to 30000 milliseconds and the retry count to 1.

Setup effort

Build from source — git clone https://github.com/rafabarbosa/webhook_mcp