Zum Hauptinhalt springen
Webhook-MCP-Server

Dein Agent kann Webhooks lesen. Senden kann er sie auch.

Einen Assistenten an Webhooks zu hängen heißt meistens: Events konsumieren, die andere aussenden. Hook0 dreht die Richtung um. Ein MCP-Server, mit dem Claude, Cursor oder Windsurf die Webhooks bedienen, die dein eigenes Produkt sendet: Event-Typen anlegen, Subscriptions einrichten, Events auslösen, Fehlgeschlagenes erneut senden.

100 Events/Tag kostenlos. Ohne Kreditkarte. Der MCP-Server läuft auf deiner Maschine.

Kurz gefasst

Der MCP-Server von Hook0 ist ein lokaler Prozess, der dein Hook0-Konto einem MCP-fähigen Assistenten als 17 Werkzeuge zugänglich macht. Neun lesen: Applications, Event-Typen, Subscriptions, Events und Zustellversuche. Acht schreiben: Event-Typ anlegen, Subscription einrichten, Event auslösen, fehlgeschlagene Zustellung erneut senden.

Das Wichtigste

Installation
cargo install hook0-mcp
Werkzeuge
17 (9 lesend, 8 schreibend)
Clients
Claude Desktop, Cursor, Windsurf, Cline und jeder MCP-Client
Transport
stdio als Standard, SSE im Dienstbetrieb
Ziel
Hook0 Cloud oder deine Instanz über HOOK0_API_URL
Einschränken
HOOK0_READ_ONLY=true plus abgeschwächtes Service-Token
Lizenz
Quelloffen (SSPL-1.0), ohne Open-Core-Rückhalt
Zwei Richtungen

Webhooks und Agenten zeigen in zwei Richtungen

Beides wird oft als ein Thema verhandelt. Es ist nicht dasselbe Problem, und dasselbe Werkzeug löst es nicht.

Ein Agent, der Webhooks empfängt

In Stripe, GitHub oder einem CRM passiert etwas, und ein Agent soll darauf reagieren. Die Arbeit ist eingehend: ein öffentlicher Endpoint oder ein Tunnel, Signaturprüfung, Deduplizierung, und denselben Agentenlauf nicht zweimal starten. Für diese Richtung gibt es reichlich Werkzeuge.

Ein Agent, der bedient, was du sendest

Hier sendest du. Deine Kunden abonnieren order.completed und erwarten, dass es ankommt. Die Arbeit ist ausgehend: Event-Typen anlegen, Subscriptions einrichten, nachlesen, warum ein Versuch scheiterte, ihn erneut senden, sobald der Empfänger repariert ist. Genau diese Seite legt der MCP-Server von Hook0 deinem Assistenten offen.

Wenn du ein Produkt betreibst, das andere Systeme abonnieren, kostet dich die zweite Richtung die Support-Tickets.

MCP oder Webhook

Zwei Protokolle, zwei Ebenen

Verglichen werden sie, weil beide Events transportieren. Sie sitzen auf verschiedenen Ebenen, und ein tragfähiges Setup nutzt beide.

Ein Webhook
Eine HTTP-Anfrage, die dein Produkt an eine vom Kunden hinterlegte URL sendet, wenn bei dir etwas passiert. Einseitig, von Maschine zu Maschine, signiert, damit der Empfänger ihr trauen kann, und wiederholt, wenn er nicht erreichbar ist. Das ist die Datenebene: sie bewegt das Event.
MCP
Das Model Context Protocol, über das ein Assistent Werkzeuge findet und aufruft. Anfrage/Antwort, von einer Person im Gespräch geführt, lokal ausgeführt. Das ist eine Steuerungsebene: sie bedient das, was das Event bewegt.
Beides zusammen
Dein Produkt sendet seine Events weiterhin über die REST-API oder ein SDK, unverändert. MCP greifst du, wenn du einen neuen Event-Typ anlegen, eine Subscription umhängen oder herausfinden musst, warum die Zustellung von gestern scheiterte, ohne das Dashboard zu öffnen.
MCP-Server

Was der Assistent tatsächlich kann

Siebzehn Werkzeuge, getrennt nach Lesen und Schreiben. Das ist die ausgelieferte Liste, keine Roadmap. Jedes ist mit Beispiel-Prompt in der MCP-Referenz dokumentiert.

Werkzeug Was es tut Was du tippst
Lesen (9 Werkzeuge)
list_organizations Erreichbare Organisationen auflisten « Zeig meine Organisationen »
list_applications Applications einer Organisation auflisten « Welche Apps habe ich ? »
get_application Details einer Application lesen « Zeig Details zu App X »
list_event_types Event-Typen einer Application auflisten « Welche Event-Typen sind angelegt ? »
list_subscriptions Webhook-Subscriptions und ihre Konfiguration auflisten « Zeig alle meine Webhooks »
get_subscription Konfiguration einer Subscription lesen « Zeig die Webhook-Konfiguration von… »
list_events Von einer Application gesendete Events auflisten « Zeig die letzten Events »
get_event Ein Event samt Payload lesen « Zeig Event abc123 »
list_request_attempts Zustellversuche zu einem Event auflisten « Zeig die Zustellhistorie zu Event X »
Schreiben (8 Werkzeuge)
create_application Eine Application anlegen « Leg eine App Order Service an »
delete_application Eine Application löschen « Lösch die Test-Application »
create_event_type Einen neuen Event-Typ anlegen « Füg den Typ order.completed hinzu »
create_subscription Eine Webhook-Subscription auf eine URL anlegen « Leg einen Webhook auf https://… an »
update_subscription Eine bestehende Subscription ändern oder abschalten « Schalt den Webhook von… ab »
delete_subscription Eine Subscription löschen « Entfern den Staging-Webhook »
ingest_event Ein Event auslösen, die Sendeseite, aus dem Assistenten « Schick ein Test-Event user.created »
retry_delivery Eine fehlgeschlagene Zustellung erneut senden « Sende die fehlgeschlagene Zustellung zu Event X erneut »

Dazu acht Ressourcen-URIs unter hook0:// für direkte Abfragen und drei geführte Prompts für die wiederkehrenden Abläufe: Subscription anlegen, Zustellung debuggen, Application aufsetzen.

Vollständige Werkzeugreferenz, mit der Konfiguration für Claude Desktop, Cursor, Windsurf und Cline

Einrichtung

Drei Schritte bis zum ersten Prompt

Der Server ist eine Rust-Binary, die du einmal installierst. Auf Hook0-Seite läuft nichts Zusätzliches.

  1. 1. Server installieren

    Er liegt auf crates.io und baut zu einer einzigen Binary.

    cargo install hook0-mcp
  2. 2. Service-Token anlegen

    Im Hook0-Dashboard unter den Service-Tokens deiner Organisation. Schwäche es auf die Applications ab, die der Assistent erreichen soll, bevor du es irgendwo einfügst.

  3. 3. Im Assistenten eintragen

    Claude Desktop liest claude_desktop_config.json. Cursor, Windsurf und Cline nehmen denselben Block in ihrer eigenen Konfigurationsdatei.

    {
      "mcpServers": {
        "hook0": {
          "command": "hook0-mcp",
          "env": {
            "HOOK0_API_TOKEN": "dein-service-token-hier"
          }
        }
      }
    }

Starte den Assistenten neu und frag ihn etwas, das du sonst zusammenklickst: « Warum ist meine letzte Webhook-Zustellung fehlgeschlagen ? »

Pfade der Konfigurationsdateien je Assistent, Umgebungsvariablen und SSE-Modus

Leitplanken

Einem Agenten deine Zustellinfrastruktur überlassen

Schreibzugriff auf Produktions-Webhooks vergibt man nicht nebenbei. Drei Kontrollen kommen mit dem Server, und sie lassen sich kombinieren.

Nur-Lesen-Modus

Setz HOOK0_READ_ONLY=true, dann meldet der Server nur die neun Lesewerkzeuge. Der Assistent kann einer fehlgeschlagenen Zustellung nachgehen und dabei nichts verändern.

Abgeschwächte Tokens

Der Nur-Lesen-Modus verkürzt die Werkzeugliste; das Token selbst behält, was ihm zugeteilt wurde. Die Abschwächung begrenzt ein Token auf bestimmte Applications und kann ein Ablaufdatum tragen, durchgesetzt an der API statt im Client. Nimm beides. Sie decken verschiedene Fehlerfälle ab.

Er läuft, wo du ihn startest

Der MCP-Server ist ein lokaler Prozess, der mit der Hook0-API spricht. Der Assistent sieht, was die aufgerufenen Werkzeuge zurückgeben, und sonst wird nichts irgendwohin weitergereicht. Richte HOOK0_API_URL auf deine Instanz, und dieselben Werkzeuge bedienen eine selbst gehostete Installation.

Darunter

Der Agent ist die Oberfläche, nicht die Garantie

Natürliche Sprache ändert, wie du Webhook-Zustellung bedienst. Zustellen tut sie nichts. Das hier tut es.

Signiert, wiederholt, protokolliert

Jeder Versuch trägt eine HMAC-SHA256-Signatur. Die Wiederholungsversuche laufen zweistufig und konfigurierbar: ein Abonnent, der eine Stunde ausfällt, kostet dich nicht diese Stunde an Events. Jeder Versuch wird protokolliert, und das macht aus « warum ist das fehlgeschlagen » eine Abfrage statt einer Vermutung.

Eine EU-Datenebene, in jedem Tarif

Payloads, Datenbank und Backups laufen auf Infrastruktur von Clever Cloud SAS in Frankreich, im EWR, auch im kostenlosen Tarif. Das CDN davor ist Cloudflare, Inc. (USA), offengelegt in der öffentlichen Liste der Unterauftragsverarbeiter samt Übermittlungsmechanismus. Mehr dazu unter Sicherheit.

Code, den du mitnehmen kannst

Hook0 ist quelloffen (SSPL-1.0), ohne Open-Core-Rückhalt: der gehostete Dienst führt den Code aus, den du selbst ausführen kannst. MCP-Server, API und Abonnenten-Portal verhalten sich gegenüber einer selbst gehosteten Instanz gleich.

Fragen

Bevor du einen Assistenten auf die Produktion richtest

Wie nutze ich Webhooks mit MCP-Werkzeugen?

Installiere hook0-mcp, leg ein Hook0-Service-Token an und trag den Server in die Konfigurationsdatei deines Assistenten ein. Ab dann hat er siebzehn Werkzeuge auf deinem Konto: Vorhandenes auflisten, einen Event-Typ anlegen, eine Subscription auf eine URL einrichten, ein Test-Event auslösen, eine fehlgeschlagene Zustellung erneut senden. Deine Anwendung sendet ihre echten Events weiterhin über die REST-API oder ein SDK, und dieser Weg bleibt unberührt.

Was ist der Unterschied zwischen MCP und einem Webhook?

Ein Webhook ist eine HTTP-Anfrage, die dein Produkt an eine vom Kunden hinterlegte URL sendet, einseitig und von Maschine zu Maschine, signiert, damit der Empfänger ihr trauen kann. MCP ist die Art, wie ein Assistent Werkzeuge findet und aufruft, in Anfrage/Antwort, geführt von einer Person im Gespräch. Der Webhook bewegt das Event; MCP bedient das System, das es bewegt. Setups mit beidem lassen den Webhook-Weg unangetastet und nutzen MCP für die Betriebsarbeit.

Sieht der Assistent meine Event-Payloads?

Er sieht, was die aufgerufenen Werkzeuge zurückgeben, und ein Event zu lesen gibt dessen Payload zurück. Hook0 reicht nichts an Dritte weiter: der MCP-Server ist ein lokaler Prozess, der direkt mit der Hook0-API spricht. Sollen Payloads ganz aus dem Gespräch bleiben, schwäch das Token auf Applications ab, die keine sensiblen Daten führen.

Welche Assistenten funktionieren damit?

Claude Desktop, Cursor, Windsurf und Cline sind mit ihrer Konfigurationsdatei dokumentiert, und jeder MCP-fähige Client funktioniert genauso. ChatGPT unterstützt MCP derzeit nicht nativ.

Was hindert einen Agenten daran, eine Produktions-Subscription zu löschen?

Zwei Dinge, und sie ergänzen sich. Der Nur-Lesen-Modus nimmt die Schreibwerkzeuge aus der Liste, die der Assistent überhaupt sieht. Die Token-Abschwächung begrenzt, was das Token selbst anfassen darf, durchgesetzt an der API, sodass ein Fehler im Client nicht darüber hinausgehen kann. Gelöschte Ressourcen sind nicht automatisch wiederherstellbar. Deshalb setzt man beides, bevor man einen Assistenten auf die Produktion richtet.

Was passiert mit Events, wenn der Endpoint eines Abonnenten eine Weile ausfällt?

Hook0 wiederholt die Zustellung nach einem zweistufigen, konfigurierbaren Plan, statt sie beim ersten Fehlschlag zu verwerfen, und hält jeden Versuch mit seiner Antwort fest. Sobald der Empfänger repariert ist, sendest du das Fehlgeschlagene erneut, aus dem Dashboard, über die API oder indem du den Assistenten darum bittest. Das Event geht nicht verloren, während der Endpoint nicht erreichbar ist.

Wie prüft die Empfängerseite ein von Hook0 gesendetes Payload?

Jeder Versuch trägt eine HMAC-SHA256-Signatur, berechnet aus dem Payload und dem Secret der Subscription. Der Empfänger berechnet sie nach und vergleicht, bevor er auf das Event reagiert. Das verhindert, dass eine gefälschte Anfrage einen Ablauf auslöst. Signaturverfahren und ein Prüf-Snippet stehen in der Hook0-Dokumentation.

Funktioniert das mit selbst gehostetem Hook0?

Ja. Setz HOOK0_API_URL auf deine Instanz, dann verhalten sich die siebzehn Werkzeuge identisch. Das gesamte Produkt ist quelloffen (SSPL-1.0) ohne Open-Core-Rückhalt: die selbst gehostete Installation führt dieselbe Software aus wie die Cloud.

Ist das ein Agent Skill oder ein Plugin?

Nein. Es ist ein MCP-Server, installiert mit cargo install hook0-mcp und eingetragen in der Konfiguration deines Assistenten. Er läuft standardmäßig über stdio, oder über SSE, wenn du ihn lieber als Dienst betreibst.

Brauche ich den MCP-Server, um Webhooks zu senden?

Nein. Die REST-API und die SDKs bleiben der normale Weg, auf dem deine Anwendung Events sendet, und nichts davon ändert sich. Der MCP-Server richtet sich an die Person, die das Setup betreibt: einen Event-Typ anlegen, eine Subscription einrichten, herausfinden, warum eine Zustellung um vier Uhr nachmittags fehlschlug.

Du hast Besseres zu bauen

Hör auf, Webhook-Infrastruktur selbst zu schreiben. Liefer Features. Start in wenigen Minuten.

Keine Kreditkarte nötig
Einrichtung in 5 Minuten
Jederzeit kündbar