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
{{ message }}
Repository navigation
Commit 0686c07
Browse filesBrowse the repository at this point in the historyBrowse files
* feat(mcp): add full list filter parity for events and requests
Expose payload search (body, headers, parsed_query, path), date range
after/before params, and remaining CLI list filters on hookdeck_events
and hookdeck_requests. Document ISO 8601 date windows and gte/lte mapping
for agents; add unit and MCP acceptance smoke tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Update package.json version to 2.3.0-beta.1
* chore(deps): bump golang.org/x/sys from 0.45.0 to 0.47.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.45.0 to 0.47.0.
- [Commits](golang/sys@v0.45.0...v0.47.0)
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-version: 0.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): bump golang.org/x/term from 0.43.0 to 0.45.0
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.43.0 to 0.45.0.
- [Commits](golang/term@v0.43.0...v0.45.0)
---
updated-dependencies:
- dependency-name: golang.org/x/term
dependency-version: 0.45.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): bump github.com/modelcontextprotocol/go-sdk
Bumps [github.com/modelcontextprotocol/go-sdk](https://github.com/modelcontextprotocol/go-sdk) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/modelcontextprotocol/go-sdk/releases)
- [Commits](modelcontextprotocol/go-sdk@v1.6.1...v1.7.0)
---
updated-dependencies:
- dependency-name: github.com/modelcontextprotocol/go-sdk
dependency-version: 1.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* docs(listen): surface --cli-key/--api-key on listen for ad-hoc auth
What: document that `listen` accepts a key directly — add an authentication
example to `hookdeck listen --help` and a section in the README listen docs
covering `--cli-key` (user-scoped CLI key) and `--api-key` (project-scoped key).
Why: passing a key to `listen` already works (both are global persistent
flags bound to the profile key), but the flags are hidden, so the capability
was undiscoverable. Users authenticating in CI or switching accounts had no
signal that `listen --cli-key <key>` is supported. A CLI key is user-scoped
and can navigate across projects; a project API/CI key is scoped to one
project — the docs now make that distinction explicit.
No behavior change: this is help-text and README only. Docs are hand-maintained
(no cobra doc-gen in the repo), so the README is updated directly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016QCuRsTPjpi6hbu9WSaE5J
* docs: name the Event Gateway product correctly in the listen intro
The listen overview said "Hookdeck works by routing events…", attributing a
product capability to the company/brand. Hookdeck is the company; the Event
Gateway is the product that routes events. Reword so the product is named
correctly, and note that `hookdeck listen` is a standalone command that works
with whichever product you're authenticated with (Hookdeck Console or the
Event Gateway). Also tidy the duplicated `destination`, `i.e.`→`e.g.`, and
`Github`→`GitHub`.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016QCuRsTPjpi6hbu9WSaE5J
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+23-1Lines changed: 23 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -197,9 +197,23 @@ Flags:
197
197
--filter-headers string Filter events by request headers using Hookdeck filter syntax (JSON)
198
198
--filter-query string Filter events by query parameters using Hookdeck filter syntax (JSON)
199
199
--filter-path string Filter events by request path using Hookdeck filter syntax (JSON)
200
+
--cli-key string Authenticate with a user-scoped CLI key instead of the stored login
201
+
--api-key string Authenticate with a project-scoped key instead of the stored login
200
202
```
201
203
202
-
Hookdeck works by routing events received for a given `source` (i.e., Shopify, Github, etc.) to its defined `destination` by connecting them with a `connection` to a `destination`. The CLI allows you to receive events for any given connection and forward them to your localhost at the specified port or any valid URL.
204
+
By default `listen` uses the credentials saved by `hookdeck login`. To authenticate a single invocation without logging in first — for example in CI or when switching accounts — pass a key directly:
205
+
206
+
```sh
207
+
# User-scoped CLI key (created by `hookdeck login`; can access all your projects)
Both flags are global, so they work with any command. A **CLI key** is tied to your user account and can navigate across projects; a **project API key** is scoped to a single project. Within the CLI both are stored and used the same way (see [Credential Types](#security-config-files-and-source-control)).
215
+
216
+
The Event Gateway routes events received for a given `source` (e.g. Shopify, GitHub) to a `destination` via a `connection`. `hookdeck listen` is a standalone command that works with whichever product you're authenticated with — Hookdeck Console or the Event Gateway — receiving events for a given connection and forwarding them to your localhost at the specified port or any valid URL.
203
217
204
218
Each `source` is assigned an Event URL, which you can use to receive events. When starting with a fresh account, the CLI will prompt you to create your first source. Each CLI process can listen to one source at a time.
205
219
@@ -599,6 +613,8 @@ The client starts `hookdeck gateway mcp` as a stdio subprocess. If you haven't a
599
613
|`hookdeck_metrics`| Query aggregate metrics — counts, failure rates, queue depth over time |
600
614
|`hookdeck_help`| Discover available tools and their actions |
601
615
616
+
`hookdeck_events` and `hookdeck_requests`**list** actions support the same filters as `hookdeck gateway event list` and `hookdeck gateway request list` — including payload search (`body`, `headers`, `parsed_query`, `path`) and date windows via `*_after` / `*_before` (ISO 8601; maps to API `field[gte]` / `field[lte]`). See `hookdeck_help` with topic `hookdeck_events` or `hookdeck_requests` for the full parameter list.
617
+
602
618
#### Example prompts
603
619
604
620
Once the MCP server is configured, you can ask your agent questions like:
@@ -624,6 +640,12 @@ Once the MCP server is configured, you can ask your agent questions like:
624
640
625
641
"Compare failure rates across all my destinations this week."
626
642
→ Agent uses hookdeck_metrics with dimensions set to destination_id and measures like error_rate.
643
+
644
+
"Find Stripe charge.succeeded events from the last week."
645
+
→ Agent uses hookdeck_events list with body filter {"type":"charge.succeeded"} and created_after / created_before ISO datetimes.
646
+
647
+
"Show failed events that had delivery attempts in the last 24 hours."
648
+
→ Agent uses hookdeck_events list with status FAILED and last_attempt_after set to yesterday's ISO datetime.
0 commit comments