v2.6.0-beta.2
Pre-releaseSummary
Adds hookdeck outpost mcp, an MCP server giving AI agents access to Outpost, and fixes several things found by driving the previous beta for real.
Still a beta from a feature branch, published for testing before merge. Requires an Outpost project.
New features
hookdeck outpost mcp — 13 tools covering tenants, destinations, destination types, events, attempts, publish, topics, metrics, project config and deployment status, alongside hookdeck_login and hookdeck_projects.
Read-only by default. Write actions are opt-in with --allow-write (or HOOKDECK_MCP_ALLOW_WRITE):
In read-only mode write actions are absent from the tool schema entirely, so an agent is never offered something it cannot do. --read-only is accepted explicitly and wins if both are passed.
Two reads count as writes, because both hand back a reusable credential: outpost_tenants token mints a tenant JWT, and outpost_tenants portal returns a URL granting portal access.
Publishing needs its own credential. outpost_publish requires a Hookdeck Project API key via --publish-api-key or HOOKDECK_OUTPOST_PUBLISH_API_KEY; without one the tool is not registered. It deliberately does not read HOOKDECK_API_KEY, which elsewhere means "exchange this for CLI credentials" and is commonly exported for CI — publishing sends real events to real destinations and should be something you turned on deliberately.
Fixes
- Project names were missing from MCP responses. Name and organisation are now resolved for any credential, including project-scoped keys from
hookdeck ci, where it previously failed silently and left only an opaque project id. Also fixeshookdeck gateway mcp, which had the same gap. - Publishing could silently target a different project. The publish credential is fixed at startup while the active project moves with
hookdeck_projects use. When they disagreed, events were accepted, delivered nowhere, and left no trace — a success response for something that never happened. Publishing now checks the tenant against the credential's own project and refuses if it cannot see it. This also catches a mistyped or unprovisioned tenant. - A publish matching no destinations now says so, rather than returning a bare success for an event that will never be delivered or recorded.
- Validation errors carry detail. A 422 previously surfaced as a bare
validation error; it now includes the field-level reason, e.g.validation error: topic is invalid. This applies to every command, not just Outpost.
Improvements
- Switching project via MCP affects that session only and does not repoint your CLI. The help text now says so, so an agent can answer honestly when asked.
- Tool descriptions tell the model to identify destinations by type and target rather than by id, since Outpost destinations have no name field.
- Internal: the product-agnostic MCP machinery moved to a shared package, so the Gateway and Outpost servers no longer carry two copies. Gateway behaviour is unchanged and covered by its existing tests.
What to test
outpost mcpin a real client. Point Claude Desktop or Cursor at it and use it in anger. Read-only first, then--allow-write.- Destination types beyond
webhook. AWS, GCP, Azure, RabbitMQ and Kafka are validated against the live schema but have never been created against real infrastructure. - The tenant portal and custom domain commands remain the least proven surface — they are the only commands with no automated coverage.
- Error messages. They should name the flag or field that fixes the problem.
Installing
npm install -g hookdeck-cli@beta
{ "mcpServers": { "hookdeck-outpost": { "command": "hookdeck", "args": ["outpost", "mcp"] // add "--allow-write" to enable changes } } }