Railhook
Webhooks for AI agents: send events, manage endpoints, inspect and retry deliveries.
ماذا يمكنك أن تفعل مع 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,
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http railhook 'https://railhook.io/mcp'
{
"mcpServers": {
"railhook": {
"type": "http",
"url": "https://railhook.io/mcp"
}
}
}
@railhook/mcpclaude 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
{
"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>"
}
}
}
}
متغيرات البيئة
RAILHOOK_API_KEYإلزامي سري A Railhook project API key. A READ_ONLY key is enough to explore.RAILHOOK_BASE_URLYour Railhook origin when self-hosted. Defaults to https://railhook.io.
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
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
- Documentation and API reference
- Changelog, Upgrading
- Architecture, Operations, Contributing, Security
License
MIT. Self-hosted has every feature, with no licence key. Third-party notices:
NOTICE, docs/licenses/.
الأسئلة الشائعة
ما هو Railhook؟
Webhooks for AI agents: send events, manage endpoints, inspect and retry deliveries.
كيف أثبّت Railhook؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http railhook 'https://railhook.io/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Railhook إلى مفتاح API؟
نعم. يتطلب RAILHOOK_API_KEY، وتضبطها في إعداداته.
هل Railhook مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Railhook؟
ينشره vadymkykalo. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.