{"name":"io.github.THE-KIPDEV/webhook-toolkit","slug":"the-kipdev-webhook-toolkit","title":"Webhook Toolkit","description":"Webhook URLs for AI agents: receive, wait for, replay, sign and verify webhooks (Stripe, GitHub…).","url":"https://mcp.market/server/the-kipdev-webhook-toolkit","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce","devtools"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-18T14:29:30.000Z","license":"MIT"},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/THE-KIPDEV/webhook-toolkit","website":"https://webhook-toolkit.com","version":"0.1.1","remotes":[{"type":"streamable-http","url":"https://webhook-toolkit.com/mcp","headers":[{"description":"Optional: Bearer <webhook-toolkit.com API key>","isSecret":true,"placeholder":"Bearer whk_…","name":"Authorization"}]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"webhook-toolkit","version":"0.1.1","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"}],"environmentVariables":[{"description":"Optional webhook-toolkit.com API key (whk_…): permanent URLs, listing URLs, AI explanations.","isSecret":true,"placeholder":"whk_…","name":"WEBHOOK_TOOLKIT_KEY"}]}],"tools":[{"name":"create_webhook_url","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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"description":"Label, e.g. 'stripe-test'","type":"string","maxLength":60}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"explain_webhook_request","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string"},"request_id":{"type":"string"},"mode":{"type":"string","enum":["explain","handler"]},"language":{"description":"Handler language (mode=handler). Default node.","type":"string","enum":["node","nextjs","python","php","go","ruby"]}},"required":["token","request_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_webhook_request","description":"Return one captured request in full (headers, raw body, detected provider/event).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string"},"request_id":{"type":"string"}},"required":["token","request_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_webhook_requests","description":"List the most recent requests captured by a webhook URL, newest first (summaries; use get_webhook_request for one full request).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string"},"limit":{"description":"Default 10","type":"integer","minimum":1,"maximum":50}},"required":["token"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_webhook_urls","description":"List the webhook URLs of the account behind the API key (requires an API key).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"replay_webhook_request","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`).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string"},"request_id":{"type":"string"},"target_url":{"type":"string","format":"uri"}},"required":["token","request_id","target_url"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"set_webhook_response","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string"},"status":{"type":"integer","minimum":100,"maximum":599},"body":{"type":"string","maxLength":10000},"content_type":{"type":"string","maxLength":120}},"required":["token"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sign_webhook_payload","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"provider":{"type":"string","enum":["stripe","github","shopify","slack","twilio","mailgun"]},"secret":{"type":"string","description":"The webhook signing secret configured in your handler (whsec_… for Stripe)"},"payload":{"description":"JSON payload (or form fields as JSON for Twilio). Default: a realistic sample event.","type":"string"},"event_type":{"description":"Sample event to use when no payload is given, e.g. checkout.session.completed","type":"string"},"target_url":{"description":"Handler URL (required for Twilio, whose signature covers the URL)","type":"string"}},"required":["provider","secret"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"verify_webhook_signature","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"provider":{"type":"string","enum":["stripe","github","shopify","slack","twilio"]},"secret":{"type":"string"},"raw_body":{"type":"string","description":"The raw request body exactly as received"},"signature":{"type":"string","description":"The signature header value (Stripe-Signature, X-Hub-Signature-256, X-Shopify-Hmac-Sha256, X-Slack-Signature, X-Twilio-Signature)"},"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"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"wait_for_webhook","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","description":"Token of the webhook URL (the part after /r/)"},"timeout_seconds":{"description":"Default 30, max 50","type":"integer","minimum":1,"maximum":50},"after":{"description":"ISO timestamp: only requests strictly newer than this. Default: now.","type":"string"}},"required":["token"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":91,"grade":"A","scanned_at":"2026-09-19T04:45:52.956Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T04:45:52.862Z","components":{"code":{"score":25,"max":25,"notes":["47 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1622ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://webhook-toolkit.com/mcp","reachable":true,"authRequired":false,"latencyMs":1622,"serverInfo":{"name":"webhook-toolkit","version":"1.0.0"}}],"packages":[{"registryType":"npm","identifier":"webhook-toolkit","version":"0.1.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-09-18T13:53:42.864Z","repositoryUrl":"git+https://github.com/THE-KIPDEV/webhook-toolkit.git"}],"repo":{"found":true,"owner":"THE-KIPDEV","repo":"webhook-toolkit","archived":false,"pushedAt":"2026-09-18T14:29:30Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/20846242?v=4","ownerCreatedAt":"2016-08-04T19:35:50Z","license":"MIT"},"icon":{"url":"https://webhook-toolkit.com/apple-icon.png?928729301276dd6c","source":"site","width":512,"height":512},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-18T14:29:30.000Z","score":23}}}},"grade_history":[],"reviews":[]}