Webhook Studio

com.webhook-studio由 webhook-studio.com 發布官方發布者v0.1.1更新於 Oct 24, 2026

Keyless webhook endpoints: capture, wait, replay, forward, and generate types from real traffic.

已驗證Streamable HTTP可網頁執行開發者工具資料與分析

概覽

AI 產生的概覽

遠端 MCP 伺服器,用於除錯 webhook:建立接收端點、讀取並等待事件、重播或轉送事件,並依真實酬載產生型別。

可以做什麼
  • 建立與管理 webhook 端點(bucket),包含其接收網址、收件匣網址與簽章密鑰
  • 依條件篩選讀取已擷取事件、取得最新一筆事件,或封鎖等待符合條件的事件到達
  • 將擷取的事件重播到任意網址、設定附條件的持續轉送,並檢視投遞嘗試與失敗原因
  • 使用服務商的簽章密鑰開啟 HMAC 簽章驗證
  • 檢視已學習的酬載結構、比對版本差異並標示破壞性變更、產生型別或驗證器、找出關聯鍵
適用情境
適合在開發或排查 webhook 整合時使用:擷取 Stripe、GitHub 等服務商實際送出的內容,以真實事件重播測試處理程式,確認轉送是否送達,或依真實流量而非猜測產生型別。
執行需求
遠端 Streamable HTTP 端點,不需本機套件。Authorization 標頭可選:免註冊的唯讀加重播權杖(ws_anon_,綁定臨時端點),或來自主控台的完整權限 API 金鑰(ws_live_),用於建立端點、設定驗證與轉送。需要能連線至該服務的網路。
安裝前請注意
Authorization 標頭攜帶 bearer 權杖;完整權限金鑰可建立、刪除端點,設定驗證與轉送。delete_bucket 會永久刪除端點及其擷取的事件;replay_event 與 forward_bucket 會把擷取的酬載送到指定網址。擷取的 webhook 內容與標頭會存放在該第三方服務,configure_verification 需要提供服務商簽章密鑰。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Webhook Studio,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.webhook-studio%2Fwebhooks/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "webhook-studio": {
      "type": "http",
      "url": "https://webhook-studio.com/mcp"
    }
  }
}

README

Webhook Studio

A webhook pipeline your agent can drive — keyless. Provision a real endpoint, wait for the provider event, replay it into localhost, forward it to your app, and generate types from your actual captured payloads. Built for humans debugging webhooks and for AI agents building the integration.

→ App: https://webhook-studio.com  ·  Docs: https://webhook-studio.com/docs  ·  Agent spec (llms.txt): https://webhook-studio.com/llms.txt


Three jobs, one URL

  • Debug — a zero-signup endpoint, a live inbox with full headers + raw body, and signature verification results on every request.
  • Route — forward matching events to your backend with AND/OR conditions, and durable re-drive: a delivery interrupted by a crash or deploy is re-driven from a durable record, not silently dropped.
  • Learn — every event updates a durable model of what the provider actually sends your account. Ask for a TypeScript / Zod / JSON-Schema type and the optional fields are the ones genuinely sometimes absent in your traffic; ask what changed between two versions and get a breaking-change diff. No other webhook tool does this. Honest comparison: https://webhook-studio.com/compare

Use it from your AI tools (MCP)

Webhook Studio is a remote MCP server (Streamable HTTP, stateless). Add one URL:

bash
claude mcp add --transport http webhook-studio https://webhook-studio.com/mcp \  --header "Authorization: Bearer $(curl -s -X POST https://webhook-studio.com/api/start | jq -r .api_token)"

That curl mints a keyless read + replay token (no signup) bound to a fresh 3-day endpoint. For full access — create endpoints, configure verification, stand up forwards — use a ws_live_… key from your dashboard.

Or add it to your client's MCP config (~/.cursor/mcp.json, .vscode/mcp.json, claude_desktop_config.json) — full setup for every client at https://webhook-studio.com/mcp/setup:

json
{  "mcpServers": {    "webhook-studio": {      "url": "https://webhook-studio.com/mcp",      "headers": { "Authorization": "Bearer ws_live_your_key_here" }    }  }}

The Authorization header is optional — omit it for a public connection (the read/replay tools that accept a ws_anon_… token), or set a ws_live_… key for the full toolset.

Listed in the official MCP Registry as com.webhook-studio/webhooks. The manifest is server.json in this repo.

Tools

Task-shaped, not resource-shaped — reach for them by intent:

create_bucket · list_buckets · get_bucket · delete_bucketProvision and manage endpoints
latest_event · list_events · get_event · wait_for_eventRead events; block until one arrives
replay_event · forward_bucket · list_deliveriesReplay to localhost, forward, check results
configure_verificationTurn on HMAC with the provider's real secret
list_schemas · get_schema · diff_schema · generate_types · find_correlation_keysThe knowledge layer

Each tool maps 1:1 onto a /v1 REST route, so the REST reference is also the tool reference.

Keyless in one call (no MCP client needed)

bash
curl -X POST https://webhook-studio.com/api/start# → { ingest_url, inbox_url, api_token: "ws_anon_…", expires_in_days: 3, ... }

Point a provider at ingest_url, hand the human inbox_url, and use api_token to read + replay over /v1 or /mcp. Full agent guide: https://webhook-studio.com/llms.txt

Provider guides

One-click test URLs and correct signature-verification snippets per provider:

License

Documentation and examples in this repo are MIT. The hosted product is proprietary.

來源:README.md,提交 3a322fb

工具

17

create_bucket

Provision a new webhook endpoint (a "bucket") that captures incoming HTTP requests. Returns its id, public ingest url to point a provider at, inbox_url (the live human view to hand back), and signing secret. Pass external_ref — your own stable name like "acme-api:stripe" — so you can re-find this exact bucket later with list_buckets after losing context.

輸入參數nameenvironmentexternal_ref

list_buckets

List your webhook endpoints. Pass external_ref to fetch the specific bucket you created earlier under that name — this is how you re-anchor after losing the conversation, since you never need to have stored the bucket id.

輸入參數external_ref

get_bucket

Fetch one webhook endpoint by id, including its url and inbox_url.

輸入參數bucket_id必填

delete_bucket

Permanently delete a webhook endpoint and its captured events.

輸入參數bucket_id必填

latest_event

Get the single most recent event captured by a bucket, optionally filtered by provider and event type. Returns one event with its headers, body and delivery results — the one-shot answer to "what did Stripe last send me". 404 if nothing matches, so you never index into an empty list.

輸入參數typeproviderbucket_id必填

list_events

List events captured by a bucket, newest first, with composable filters: since/until (ISO 8601 or YYYY-MM-DD), provider, type, method, signature_valid, and q (case-insensitive substring over body, content type, method, type and labels). Use cursor for the next page.

輸入參數qtypelimitsinceuntilcursormethodproviderbucket_id必填signature_valid

get_event

Fetch one captured event by id with its full headers, body, signature verification result (and failure reason), and every outbound delivery attempt. This is how you find out whether your forward actually reached its target and what came back.

輸入參數event_id必填

wait_for_event

Block until the next matching event arrives on a bucket, or until the timeout. Use this to turn "go click Send test webhook in Stripe" into a synchronous step: call it, tell the human to trigger the event, and it returns as soon as one arrives. Filters (provider, type) mean unrelated traffic does not wake it. Returns the event, or nothing if it times out.

輸入參數typetimeoutproviderbucket_id必填

replay_event

Re-send a captured event to any URL — the test runner for a handler you just wrote. preserve_headers defaults to true so the original signature header (e.g. Stripe-Signature) arrives intact. If you changed the body or the receiver verifies with a different secret, pass resign_with (the dev's own signing secret) so the payload is re-signed and their verification code passes unmodified. Returns the response status, latency and body.

輸入參數url必填bodyheadersevent_id必填resign_withpreserve_headerssignature_header

forward_bucket

Set up standing forwarding from a bucket to a URL. Pass forward_all:true to forward every event, or condition_tree to forward only matching events (same AND/OR condition grammar the routing engine uses). Creates the destination and routing rule in one call.

輸入參數url必填namebucket_id必填rule_nameforward_allcondition_tree

list_deliveries

List outbound delivery attempts for a bucket, newest first, with the full request and response of each. Pass success:false to see only failures — the direct answer to "which of my forwards are broken and why".

輸入參數limitcursorsourcesuccessbucket_id必填

configure_verification

Turn on HMAC signature verification for a bucket using the provider's own signing secret (e.g. Stripe's whsec_). This is how you finish a "verified webhook" integration end to end. Set secret to the provider secret and hmac_enabled:true in the same call; the signature scheme is auto-detected from the header shape.

輸入參數secretbucket_id必填on_failureheader_namehmac_enabledtolerance_seconds

list_schemas

List the payload schemas Webhook Studio has learned from this account's real traffic, optionally filtered by provider and event_type. These outlive the payloads they were learned from, so this answers "what shapes do I know about" even after old events are gone. Start here to discover what you can generate types or diffs for.

輸入參數providerevent_type

get_schema

Fetch one learned schema with every field, its type, whether it is optional, and how often it actually appears — the real shape of the payload, derived from what this account received rather than guessed from training data.

輸入參數versionschema_id必填

diff_schema

Compare two versions of a learned schema and get exactly which fields were added, removed or changed type, each flagged as breaking or not. This is the "why did my handler start failing" answer, produced without reading a single payload. from defaults to the version before to.

輸入參數tofromschema_id必填

generate_types

Generate types, a runtime validator, or a full handler from a learned schema — the payoff of the knowledge layer. Everything is derived from the payloads this account ACTUALLY received, with genuinely-optional fields marked optional, instead of a plausible-but-wrong guess from a model's memory of the provider docs. Pass lang for a bare type (typescript / json-schema / zod), or framework (next / express) for a ready-to-paste handler that validates and hands back a fully-typed event.

輸入參數langversionframeworkschema_id必填

find_correlation_keys

List the correlation-key candidates for a learned schema — the fields that look like identifiers (e.g. data.object.id), ranked by how consistently they appear. These are the fields to group events by when reconstructing a lifecycle (a Stripe payment_intent across created -> succeeded, a GitHub PR across its events). Derived from real traffic, so it reflects what THIS account actually receives.

輸入參數versionschema_id必填

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分