Railhook

Registre officiel IA et agents

Webhooks for AI agents: send events, manage endpoints, inspect and retry deliveries.

Que pouvez-vous faire avec Railhook ?

  • Sends each event to every endpoint subscribed to its type. The event is stored in the same
  • Retries a failed delivery after 1m, 5m, 15m, 1h, 6h and 24h (7 attempts). What still fails
  • Signs every request with HMAC-SHA256 in Standard Webhooks
  • Deduplicates on Idempotency-Key: a repeated key returns the first event instead of a new one.
  • Optional per-endpoint ordering, rate limits and a circuit breaker.
  • Customer portal: embed a page where your customers add endpoints, pick event types, and see and
  • Replay: resend one delivery, or replay a time range of events as new deliveries.
  • Incoming webhooks: one URL per source, signature verified (Stripe, GitHub, GitLab, Shopify,

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http railhook 'https://railhook.io/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "railhook": {
            "type": "http",
            "url": "https://railhook.io/mcp"
        }
    }
}
NPM package @railhook/mcp
Claude Code
claude mcp add railhook -e 'RAILHOOK_API_KEY=<your railhook_api_key>' -e 'RAILHOOK_BASE_URL=<RAILHOOK_BASE_URL>' -- npx -y @railhook/mcp@3.7.0
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "railhook": {
            "command": "npx",
            "args": [
                "-y",
                "@railhook/mcp@3.7.0"
            ],
            "env": {
                "RAILHOOK_API_KEY": "<your railhook_api_key>",
                "RAILHOOK_BASE_URL": "<RAILHOOK_BASE_URL>"
            }
        }
    }
}

Variables d'environnement

  • RAILHOOK_API_KEY obligatoire secret A Railhook project API key. A READ_ONLY key is enough to explore.
  • RAILHOOK_BASE_URL Your Railhook origin when self-hosted. Defaults to https://railhook.io.

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Install
  2. Send an event
  3. What it does
  4. Docs
  5. License

Open-source webhook gateway. Send webhooks to your customers and receive them from Stripe, GitHub and others, with retries, signatures and a record of every attempt. Self-hosted or in Railhook Cloud.

Website · Docs · API reference · Railhook Cloud · Changelog

Install

Locally, with Docker:

git clone https://github.com/vadymkykalo/railhook && cd railhook
make up

Then open http://localhost:8080. make up writes a .env with development secrets, builds the images and starts PostgreSQL, Redis, the API, the worker and the dashboard.

On a server with a domain (HTTPS through Let's Encrypt):

curl -fsSL https://railhook.io/install.sh | bash -s -- --domain hooks.example.com --email ops@example.com

It generates the secrets, pulls the latest release and adds ./railhook for status, logs, upgrade and backup. About 3 GiB of RAM. Plain Compose and Helm: Install with Docker, Kubernetes.

Send an event

Create a project, an endpoint and an API key in the dashboard, then:

curl -X POST http://localhost:8080/api/v1/events \
  -H "X-API-Key: $RAILHOOK_API_KEY" \
  -H "Idempotency-Key: order-12345-completed" \
  -H "Content-Type: application/json" \
  -d '{"type":"order.completed","data":{"orderId":"ord_12345"}}'

Railhook signs it and delivers it to every endpoint subscribed to order.completed.

What it does

  • Sends each event to every endpoint subscribed to its type. The event is stored in the same transaction as the API call; the worker claims it from Postgres and delivers it.
  • Retries a failed delivery after 1m, 5m, 15m, 1h, 6h and 24h (7 attempts). What still fails goes to Failed Messages for bulk retry.
  • Signs every request with HMAC-SHA256 in Standard Webhooks headers. A rotated secret keeps signing alongside the new one for 24 hours.
  • Deduplicates on Idempotency-Key: a repeated key returns the first event instead of a new one.
  • Optional per-endpoint ordering, rate limits and a circuit breaker.
  • Customer portal: embed a page where your customers add endpoints, pick event types, and see and retry their deliveries.
  • Replay: resend one delivery, or replay a time range of events as new deliveries.
  • Incoming webhooks: one URL per source, signature verified (Stripe, GitHub, GitLab, Shopify, Slack, Twilio, Square, Adyen, SendGrid, HubSpot, or generic HMAC), raw request stored, then forwarded to your destinations with retries after 1m, 5m, 15m and 1h (5 attempts). A missing provider is one class to add: see Adding an inbound provider.
  • Every attempt is recorded with its request, response and timing.
  • SDKs for Node, Python and PHP, a CLI that tunnels webhooks to localhost, and an MCP server at /mcp.
  • Prometheus metrics, Grafana dashboards and alert rules in monitoring/, and a Helm chart.

Docs

License

MIT. Self-hosted has every feature, with no licence key. Third-party notices: NOTICE, docs/licenses/.

Questions fréquentes

Qu'est-ce que Railhook ?

Webhooks for AI agents: send events, manage endpoints, inspect and retry deliveries.

Comment installer Railhook ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http railhook 'https://railhook.io/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Railhook ?

Oui. Il attend RAILHOOK_API_KEY, à renseigner dans sa configuration.

Railhook est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Railhook ?

Il est publié par vadymkykalo. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.