@webhooks-cc/mcp 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,15 +1,20 @@
1
1
  # @webhooks-cc/mcp
2
2
 
3
- MCP server for [webhooks.cc](https://webhooks.cc). Connects AI coding agents to webhook endpoints create, inspect, test, and replay webhooks through natural language.
3
+ MCP server for [webhooks.cc](https://webhooks.cc). It gives coding agents direct access to webhook testing workflows: create endpoints, send signed test webhooks, inspect captures, compare attempts, verify signatures, and read recent webhook context through MCP resources.
4
4
 
5
- Works with Claude Code, Cursor, VS Code, Codex, Windsurf, and Claude Desktop.
5
+ It works with Claude Code, Cursor, VS Code, Codex, Windsurf, and Claude Desktop.
6
6
 
7
7
  ## Install
8
8
 
9
+ The server reads `WHK_API_KEY` from the environment. It also supports:
10
+
11
+ - `WHK_BASE_URL` for a custom API base URL
12
+ - `WHK_WEBHOOK_URL` for a custom receiver base URL
13
+
9
14
  ### One-click
10
15
 
11
- - **Cursor**: [Add to Cursor](https://cursor.com/en/install-mcp?name=webhooks-cc&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB3ZWJob29rcy1jYy9tY3AiXSwiZW52Ijp7IldIS19BUElfS0VZIjoid2hjY18uLi4ifX0=) (paste your API key after install)
12
- - **VS Code**: [Add to VS Code](https://insiders.vscode.dev/redirect/mcp/install?name=webhooks-cc&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40webhooks-cc%2Fmcp%22%5D%2C%22env%22%3A%7B%22WHK_API_KEY%22%3A%22%24%7Binput%3Awhk_api_key%7D%22%7D%7D&inputs=%5B%7B%22id%22%3A%22whk_api_key%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22webhooks.cc%20API%20key%20%28get%20yours%20at%20webhooks.cc%2Faccount%29%22%2C%22password%22%3Atrue%7D%5D) (prompts for your key)
16
+ - **Cursor**: [Add to Cursor](https://cursor.com/en/install-mcp?name=webhooks-cc&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB3ZWJob29rcy1jYy9tY3AiXSwiZW52Ijp7IldIS19BUElfS0VZIjoid2hjY18uLi4ifX0=)
17
+ - **VS Code**: [Add to VS Code](https://insiders.vscode.dev/redirect/mcp/install?name=webhooks-cc&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40webhooks-cc%2Fmcp%22%5D%2C%22env%22%3A%7B%22WHK_API_KEY%22%3A%22%24%7Binput%3Awhk_api_key%7D%22%7D%7D&inputs=%5B%7B%22id%22%3A%22whk_api_key%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22webhooks.cc%20API%20key%20%28get%20yours%20at%20webhooks.cc%2Faccount%29%22%2C%22password%22%3Atrue%7D%5D)
13
18
 
14
19
  ### CLI
15
20
 
@@ -17,15 +22,15 @@ Works with Claude Code, Cursor, VS Code, Codex, Windsurf, and Claude Desktop.
17
22
  # Claude Code
18
23
  claude mcp add -s user --transport stdio webhooks-cc -e WHK_API_KEY=whcc_... -- npx -y @webhooks-cc/mcp
19
24
 
25
+ # OpenAI Codex
26
+ codex mcp add webhooks-cc -e WHK_API_KEY=whcc_... -- npx -y @webhooks-cc/mcp
27
+
20
28
  # Cursor
21
29
  npx @webhooks-cc/mcp setup cursor --api-key whcc_...
22
30
 
23
31
  # VS Code
24
32
  npx @webhooks-cc/mcp setup vscode --api-key whcc_...
25
33
 
26
- # OpenAI Codex
27
- codex mcp add webhooks-cc -e WHK_API_KEY=whcc_... -- npx -y @webhooks-cc/mcp
28
-
29
34
  # Windsurf
30
35
  npx @webhooks-cc/mcp setup windsurf --api-key whcc_...
31
36
 
@@ -33,9 +38,7 @@ npx @webhooks-cc/mcp setup windsurf --api-key whcc_...
33
38
  npx @webhooks-cc/mcp setup claude-desktop --api-key whcc_...
34
39
  ```
35
40
 
36
- ### Manual JSON config
37
-
38
- For any tool that reads an MCP config file:
41
+ ### Manual config
39
42
 
40
43
  ```json
41
44
  {
@@ -53,47 +56,132 @@ For any tool that reads an MCP config file:
53
56
 
54
57
  Get your API key at [webhooks.cc/account](https://webhooks.cc/account).
55
58
 
56
- ## Tools
59
+ ## What it exposes
57
60
 
58
- The MCP server exposes 11 tools:
61
+ The server exposes `25` tools, `3` prompts, and `3` resource surfaces.
59
62
 
60
- | Tool | Description |
61
- | ------------------ | ----------------------------------------- |
62
- | `create_endpoint` | Create a new webhook endpoint |
63
- | `list_endpoints` | List all your endpoints |
64
- | `get_endpoint` | Get details for an endpoint by slug |
65
- | `update_endpoint` | Update an endpoint name or mock response |
66
- | `delete_endpoint` | Delete an endpoint and its requests |
67
- | `list_requests` | List captured requests for an endpoint |
68
- | `get_request` | Get full details of a captured request |
69
- | `send_webhook` | Send a test webhook to an endpoint |
70
- | `wait_for_request` | Wait for an incoming request (polling) |
71
- | `replay_request` | Replay a captured request to a target URL |
72
- | `describe` | Describe all available SDK operations |
63
+ ### Endpoint tools
73
64
 
74
- ## Example conversation
65
+ - `create_endpoint`
66
+ - `list_endpoints`
67
+ - `get_endpoint`
68
+ - `update_endpoint`
69
+ - `delete_endpoint`
70
+ - `create_endpoints`
71
+ - `delete_endpoints`
72
+
73
+ ### Request tools
74
+
75
+ - `list_requests`
76
+ - `search_requests`
77
+ - `count_requests`
78
+ - `get_request`
79
+ - `wait_for_request`
80
+ - `wait_for_requests`
81
+ - `replay_request`
82
+ - `compare_requests`
83
+ - `extract_from_request`
84
+ - `verify_signature`
85
+ - `clear_requests`
86
+
87
+ ### Send and test tools
88
+
89
+ - `send_webhook`
90
+ - `send_to`
91
+ - `preview_webhook`
92
+ - `test_webhook_flow`
93
+
94
+ ### Discovery and account tools
95
+
96
+ - `list_provider_templates`
97
+ - `get_usage`
98
+ - `describe`
99
+
100
+ ## Prompts
101
+
102
+ The server exposes MCP prompts for common workflows:
103
+
104
+ - `debug_webhook_delivery`
105
+ - `setup_provider_testing`
106
+ - `compare_webhook_attempts`
107
+
108
+ These prompts do not execute anything on their own. They give the client a structured starting point for multi-step agent work.
109
+
110
+ ## Resources
75
111
 
112
+ The server exposes MCP resources for recent webhook context:
113
+
114
+ - `webhooks://endpoints`
115
+ - `webhooks://endpoint/{slug}/recent`
116
+ - `webhooks://request/{id}`
117
+
118
+ These are useful when the client supports resource browsing or prompt/resource attachment.
119
+
120
+ ## Provider support
121
+
122
+ Provider template and signing support includes:
123
+
124
+ - `stripe`
125
+ - `github`
126
+ - `shopify`
127
+ - `twilio`
128
+ - `slack`
129
+ - `paddle`
130
+ - `linear`
131
+ - `standard-webhooks`
132
+
133
+ Signature verification also supports:
134
+
135
+ - `discord`
136
+
137
+ Use `list_provider_templates` to inspect templates, default events, signature headers, and signing requirements from the agent.
138
+
139
+ ## Example workflows
140
+
141
+ Typical agent flows:
142
+
143
+ - Create an ephemeral endpoint, send a provider-signed webhook, and wait for capture
144
+ - Search retained requests across endpoints with full-text filters
145
+ - Compare two webhook attempts and extract only the JSON fields you care about
146
+ - Verify a captured signature against a known secret
147
+ - Run `test_webhook_flow` to create, send, capture, verify, replay, and clean up in one tool call
148
+
149
+ ## Programmatic use
150
+
151
+ The package also exports `createServer()`, `registerTools()`, `registerPrompts()`, and `registerResources()` if you want to embed the server yourself.
152
+
153
+ ```ts
154
+ import { createServer } from "@webhooks-cc/mcp";
155
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
156
+
157
+ const server = createServer({
158
+ apiKey: process.env.WHK_API_KEY!,
159
+ baseUrl: process.env.WHK_BASE_URL,
160
+ webhookUrl: process.env.WHK_WEBHOOK_URL,
161
+ });
162
+
163
+ await server.connect(new StdioServerTransport());
76
164
  ```
77
- You: "Create a webhook endpoint for testing Stripe"
78
- Agent: Created endpoint "stripe-test" at https://go.webhooks.cc/w/abc123
79
165
 
80
- You: "Set it to return 201 with {"received": true}"
81
- Agent: Updated mock response for stripe-test
166
+ ## Example conversation
167
+
168
+ ```text
169
+ You: Create an ephemeral endpoint for GitHub webhook testing.
170
+
171
+ Agent: Created endpoint https://go.webhooks.cc/w/abc123 and marked it ephemeral.
172
+
173
+ You: Preview the signed request for a push event before sending it.
82
174
 
83
- You: "Send a test POST with a checkout.session.completed event"
84
- Agent: Sent POST to stripe-test with event payload
175
+ Agent: Here is the exact method, headers, and JSON body that would be sent.
85
176
 
86
- You: "Show me what was captured"
87
- Agent: 1 request captured:
88
- POST /w/abc123 — {"event": "checkout.session.completed", ...}
177
+ You: Send it, wait for two requests, and compare them.
89
178
 
90
- You: "Replay that to my local server"
91
- Agent: Replayed to http://localhost:3000/webhooks — got 200 OK
179
+ Agent: Sent the webhook, captured two requests, and here are the header and body differences.
92
180
  ```
93
181
 
94
182
  ## Documentation
95
183
 
96
- Full setup guide with interactive API key filling: [webhooks.cc/docs/mcp](https://webhooks.cc/docs/mcp)
184
+ Full docs: [webhooks.cc/docs/mcp](https://webhooks.cc/docs/mcp)
97
185
 
98
186
  ## License
99
187