Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,556Letters: 14Defects: 1,331counted 4 min ago
teppi

Server definition

Hash
sha256:9880cc542f8141ab167e6b5231f9345feabc5b46feaa2a4bc7254dbaece2c233
What it is
What a remote MCP server returned when asked what it offers: 10 tools

The blob, as servednamed by its sha256

{ "instructions": "Webhook Toolkit gives you public URLs that capture any HTTP request (webhooks) so you can test integrations with third-party services (Stripe, GitHub, Shopify, Slack, Twilio, PayPal…). Typical flow: create_webhook_url → give the URL to the service (or trigger the event) → wait_for_webhook → inspect headers/body → optionally explain_webhook_request. Anonymous URLs expire after 7 days; with an API key they are permanent.", "tools": [ { "description": "Create a public HTTPS URL that captures every request sent to it (any method, any sub-path). Use it when you need an endpoint to receive a webhook from a third-party service while building or debugging an integration. Returns the URL to configure in the service and a live inspector link for the human.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "name": { "description": "Label, e.g. 'stripe-test'", "maxLength": 60, "type": "string" } }, "type": "object" }, "name": "create_webhook_url", "outputSchema": null }, { "description": "AI analysis of a captured request. mode=explain: who sent it, which event, key fields, how to verify the signature, pitfalls. mode=handler: complete receiving code that verifies the signature and handles this event. Included in paid plans; anonymous and free users get 3 trials.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "language": { "description": "Handler language (mode=handler). Default node.", "enum": [ "node", "nextjs", "python", "php", "go", "ruby" ], "type": "string" }, "mode": { "enum": [ "explain", "handler" ], "type": "string" }, "request_id": { "type": "string" }, "token": { "type": "string" } }, "required": [ "token", "request_id" ], "type": "object" }, "name": "explain_webhook_request", "outputSchema": null }, { "description": "Return one captured request in full (headers, raw body, detected provider/event).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "request_id": { "type": "string" }, "token": { "type": "string" } }, "required": [ "token", "request_id" ], "type": "object" }, "name": "get_webhook_request", "outputSchema": null }, { "description": "List the most recent requests captured by a webhook URL, newest first (summaries; use get_webhook_request for one full request).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Default 10", "maximum": 50, "minimum": 1, "type": "integer" }, "token": { "type": "string" } }, "required": [ "token" ], "type": "object" }, "name": "list_webhook_requests", "outputSchema": null }, { "description": "List the webhook URLs of the account behind the API key (requires an API key).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_webhook_urls", "outputSchema": null }, { "description": "Re-send a captured request (same method, headers and raw body) to a PUBLIC URL and return the target's response. Localhost and private IPs are refused here: for localhost use the CLI (`npx webhook-toolkit replay`) or the local MCP server (`npx webhook-toolkit mcp`).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "request_id": { "type": "string" }, "target_url": { "format": "uri", "type": "string" }, "token": { "type": "string" } }, "required": [ "token", "request_id", "target_url" ], "type": "object" }, "name": "replay_webhook_request", "outputSchema": null }, { "description": "Choose what the webhook URL answers to callers (status code, body, content type) — e.g. return 500 to test the sender's retries, or a specific JSON/XML body the service expects.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "body": { "maxLength": 10000, "type": "string" }, "content_type": { "maxLength": 120, "type": "string" }, "status": { "maximum": 599, "minimum": 100, "type": "integer" }, "token": { "type": "string" } }, "required": [ "token" ], "type": "object" }, "name": "set_webhook_response", "outputSchema": null }, { "description": "Build a webhook body with a VALID signature header for a provider, to test a handler's signature verification without triggering a real event. Providers: stripe, github, shopify, slack, twilio, mailgun. Returns the headers, the exact body to send and a ready-to-run curl command.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "event_type": { "description": "Sample event to use when no payload is given, e.g. checkout.session.completed", "type": "string" }, "payload": { "description": "JSON payload (or form fields as JSON for Twilio). Default: a realistic sample event.", "type": "string" }, "provider": { "enum": [ "stripe", "github", "shopify", "slack", "twilio", "mailgun" ], "type": "string" }, "secret": { "description": "The webhook signing secret configured in your handler (whsec_… for Stripe)", "type": "string" }, "target_url": { "description": "Handler URL (required for Twilio, whose signature covers the URL)", "type": "string" } }, "required": [ "provider", "secret" ], "type": "object" }, "name": "sign_webhook_payload", "outputSchema": null }, { "description": "Check whether a webhook signature is valid for a raw body and a secret, and diagnose why it fails (wrong secret, whitespace, re-serialized JSON body, expired timestamp, wrong URL for Twilio). Providers: stripe, github, shopify, slack, twilio.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "provider": { "enum": [ "stripe", "github", "shopify", "slack", "twilio" ], "type": "string" }, "raw_body": { "description": "The raw request body exactly as received", "type": "string" }, "secret": { "type": "string" }, "signature": { "description": "The signature header value (Stripe-Signature, X-Hub-Signature-256, X-Shopify-Hmac-Sha256, X-Slack-Signature, X-Twilio-Signature)", "type": "string" }, "timestamp": { "description": "Slack only: X-Slack-Request-Timestamp", "type": "string" }, "url": { "description": "Twilio only: the full URL Twilio called", "type": "string" } }, "required": [ "provider", "secret", "raw_body", "signature" ], "type": "object" }, "name": "verify_webhook_signature", "outputSchema": null }, { "description": "Block until the next request reaches a webhook URL (or the timeout elapses), then return it in full: method, path, headers, body, detected provider and event. Use right after triggering an action that should send a webhook. Call again with `after` set to the last request's createdAt to wait for the following one.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "after": { "description": "ISO timestamp: only requests strictly newer than this. Default: now.", "type": "string" }, "timeout_seconds": { "description": "Default 30, max 50", "maximum": 50, "minimum": 1, "type": "integer" }, "token": { "description": "Token of the webhook URL (the part after /r/)", "type": "string" } }, "required": [ "token" ], "type": "object" }, "name": "wait_for_webhook", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:9880cc542f8141ab167e6b5231f9345feabc5b46feaa2a4bc7254dbaece2c233 | sha256sum