You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(mcp): rewrite tool descriptions for investigation focus and expand README
Update all MCP tool descriptions to accurately reflect read-only
investigation capabilities per MCP best practices:
- Replace generic "Manage" with specific verbs (inspect, query, list)
- Add contextual detail about what each tool returns and when to use it
- Describe the webhook data model (requests → events → attempts)
Expand README MCP section with:
- Available tools table showing all 11 tools
- Claude Desktop configuration alongside Cursor
- Seven example prompts demonstrating investigation workflows
https://claude.ai/code/session_01Y2eJZgKG78nDyN6Uw2tWQx
Copy file name to clipboardExpand all lines: README.md
+61-3Lines changed: 61 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -530,9 +530,24 @@ For complete command and flag reference, see [REFERENCE.md](REFERENCE.md).
530
530
531
531
### Event Gateway MCP
532
532
533
-
The CLI includes an [MCP](https://modelcontextprotocol.io/) (Model Context Protocol) server that exposes Hookdeck Event Gateway as tools for AI and agent workflows. You don't run it yourself—you add it to your MCP client (e.g. Cursor, Claude), and the editor starts the server when it needs Hookdeck tools (list/inspect connections, sources, destinations, events, requests, attempts, issues, metrics; login when unauthenticated).
533
+
The CLI includes an [MCP](https://modelcontextprotocol.io/) (Model Context Protocol) server for investigating webhook traffic in production. It exposes read-only tools that let AI agents query your Hookdeck Event Gateway — inspect connections, trace requests through events and delivery attempts, review issues, and pull aggregate metrics.
534
534
535
-
**Configure your client** (e.g. Cursor: `~/.cursor/mcp.json` or project-level config):
535
+
**Configure your MCP client** (Cursor, Claude Desktop, or any MCP-compatible host):
536
+
537
+
Cursor (`~/.cursor/mcp.json`):
538
+
539
+
```json
540
+
{
541
+
"mcpServers": {
542
+
"hookdeck": {
543
+
"command": "hookdeck",
544
+
"args": ["gateway", "mcp"]
545
+
}
546
+
}
547
+
}
548
+
```
549
+
550
+
Claude Desktop (`claude_desktop_config.json`):
536
551
537
552
```json
538
553
{
@@ -545,7 +560,50 @@ The CLI includes an [MCP](https://modelcontextprotocol.io/) (Model Context Proto
545
560
}
546
561
```
547
562
548
-
The client runs `hookdeck gateway mcp` (stdio) as the server process. After configuration, the host can use tools such as `hookdeck_connections_list`, `hookdeck_events_list`, and `hookdeck_login`. For the full tool reference, see [REFERENCE.md](REFERENCE.md) or run `hookdeck gateway mcp --help`.
563
+
The client starts `hookdeck gateway mcp` as a stdio subprocess. If you haven't authenticated yet, the `hookdeck_login` tool is available to log in via the browser.
564
+
565
+
#### Available tools
566
+
567
+
| Tool | Description |
568
+
|------|-------------|
569
+
|`hookdeck_projects`| List projects or switch the active project for this session |
570
+
|`hookdeck_connections`| Inspect connections and control delivery flow (list, get, pause, unpause) |
Description: "List available Hookdeck projects or switch the active project for this session.",
25
+
Description: "List available Hookdeck projects or switch the active project for this session. Use this to see which project you're querying and to change project context.",
26
26
InputSchema: schema(map[string]prop{
27
27
"action": {Type: "string", Desc: "Action to perform: list or use", Enum: []string{"list", "use"}},
28
28
"project_id": {Type: "string", Desc: "Project ID (required for use action)"},
Description: "Manage connections (webhook routes) that link sources to destinations.",
36
+
Description: "Inspect webhook connections (routes linking sources to destinations). List connections with filters, get details by ID, or pause/unpause a connection's delivery pipeline.",
Description: "Manage JavaScript transformations applied to webhook payloads.",
84
+
Description: "List and inspect JavaScript transformations applied to webhook payloads. Returns transformation code and configuration for debugging payload processing.",
85
85
InputSchema: schema(map[string]prop{
86
86
"action": {Type: "string", Desc: "Action: list or get", Enum: []string{"list", "get"}},
87
87
"id": {Type: "string", Desc: "Transformation ID (required for get)"},
Description: "Query inbound webhook requests received by Hookdeck.",
99
+
Description: "Query inbound webhook requests (raw data received by Hookdeck before routing). List with filters, get details, inspect the raw body, or view the events and ignored events generated from a request.",
Description: "Query events (webhook deliveries routed through connections). List with filters by status, source, destination, or date range. Get event details or inspect the raw payload body.",
Description: "Query delivery attempts for webhook events.",
142
+
Description: "Query delivery attempts (each HTTP request made to deliver an event to its destination). Filter by event to see retry history, response status codes, and error details.",
143
143
InputSchema: schema(map[string]prop{
144
144
"action": {Type: "string", Desc: "Action: list or get", Enum: []string{"list", "get"}},
145
145
"id": {Type: "string", Desc: "Attempt ID (required for get)"},
Description: "List and inspect Hookdeck issues — aggregated failure signals such as repeated delivery failures, transformation errors, and backpressure alerts. Use this to identify systemic problems across your webhooks.",
160
160
InputSchema: schema(map[string]prop{
161
161
"action": {Type: "string", Desc: "Action: list or get", Enum: []string{"list", "get"}},
162
162
"id": {Type: "string", Desc: "Issue ID (required for get)"},
Description: "Query metrics for events, requests, attempts, and transformations.",
178
+
Description: "Query aggregate metrics over a time range. Get counts, failure rates, error rates, queue depth, and pending event data for events, requests, attempts, and transformations. Supports grouping by dimensions like source, destination, or connection.",
Description: "Describe available tools and their actions.",
198
+
Description: "Get an overview of all available Hookdeck tools or detailed help for a specific tool. Use this when unsure which tool to use for a task.",
199
199
InputSchema: schema(map[string]prop{
200
200
"topic": {Type: "string", Desc: "Tool name for detailed help (e.g. hookdeck_events). Omit for overview."},
0 commit comments