# getnahook/nahook-mcp [Health: Active]

**Category:** 🔒 Delivery  
**Repository:** https://github.com/getnahook/nahook-mcp  
**GitHub Stars:** 1  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/getnahook-nahook-mcp

## Description
"The official MCP server for the Nahook webhook platform — trigger webhooks, inspect deliveries, retry failures, and manage endpoints from your AI assistant."

## Tools
Capabilities this server exposes over MCP:

- **whoami** — Local config sanity check — workspace, region, token id, expiry.
- **list_endpoints** — List every endpoint in the current workspace.
- **get_endpoint** — Fetch one endpoint by `ep_xxx`.
- **create_endpoint** — Create a new endpoint. Defaults to the workspace's default environment; also accepts slugs like `production`.
- **update_endpoint** — Partial patch — pause/resume, change URL, update description.
- **list_environments** — List every environment in the workspace.
- **list_deliveries** — Page through an endpoint's deliveries, newest-first.
- **get_delivery** — Fetch one delivery by `del_xxx`. Pass `include_payload: true` to also fetch the original webhook body — critical for debugging.
- **list_attempts** — List every attempt against a delivery (useful for debugging failures).
- **retry_delivery** — Re-enqueue a failed or dead-lettered delivery.
- **trigger_event** — Fire an event by type — the backend fans it out to every subscriber.
- **send_to_endpoint** — Send a webhook directly to one endpoint.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "nahook-mcp": {
    "command": "npx",
    "args": ["-y","getnahook-nahook-mcp"]
  }
}
```

## Documentation

## What getnahook/nahook-mcp MCP server does

The getnahook/nahook-mcp MCP server connects an MCP-compatible AI client to the Nahook webhook platform. It gives an assistant access to endpoint configuration, environments, delivery history, individual delivery payloads, and delivery attempts. It can also retry failed or dead-lettered deliveries, trigger events for all matching subscribers, and send a webhook directly to one endpoint.

Endpoint management includes creating endpoints, changing their URLs or descriptions, and pausing or resuming them. Deletion is not available through the tool surface. The `whoami` operation checks local configuration and reports the workspace, region, token identifier, and token expiry without exposing the token itself.

## How it works

The getnahook/nahook-mcp MCP server is shipped as a subcommand of the `nahook` CLI rather than as a separate implementation. An MCP client starts the local process with `nahook mcp serve`, and the process reads credentials from the Nahook CLI configuration or its client environment.

A CLI login token supports read operations and endpoint, delivery, and environment management. Sending through `trigger_event` or `send_to_endpoint` additionally requires a Nahook ingestion key. Permissions are checked for each request against the workspace role associated with the credentials.

Mutation tools expose MCP read-only and destructive annotations so clients can request human approval. These annotations are advisory, not an access-control mechanism; clients should keep approval prompts enabled.

## Setup and configuration

Install the Nahook CLI with Homebrew or the documented install script, then run `nahook login`. Login uses a browser-based device-grant flow and stores credentials in `~/.nahook/config.toml`. Add `nahook mcp serve` as a stdio MCP server in the client configuration.

The getnahook/nahook-mcp MCP server can receive an ingestion key through `NAHOOK_INGESTION_KEY` or an `ingestion_key` entry in the Nahook configuration file. Without that key, read and management tools remain available, but ingestion writes are disabled. `NAHOOK_MCP_PAYLOAD_CAP` controls the maximum webhook body size returned to the model; bodies larger than the configured limit are truncated, with a flag indicating truncation. The documented default cap is 256 KB.

The README provides configurations for Claude Desktop, Cursor, and Cline, and states that other clients using the standard `command` and `args` shape can follow the same pattern. The CLI also supports the server configuration shown for Zed.

## Tools and capabilities

The getnahook/nahook-mcp MCP server provides these operations:

- Check local identity and configuration with `whoami`.
- List or fetch endpoints and list environments.
- Create endpoints and partially update their URL, description, or paused state.
- Page through deliveries and retrieve individual deliveries.
- Include an original webhook body when fetching a delivery.
- Inspect every attempt associated with a delivery.
- Retry failed or dead-lettered deliveries.
- Fan out an event to subscribed endpoints or send directly to one endpoint.

Webhook payloads, idempotency keys, and receiver error messages are treated as untrusted content before they enter model context. Values are fenced, embedded fence markers are neutralized, and payloads are capped. Endpoint signing secrets and authentication tokens are omitted from tool output.

## Limitations and notes

There is no delete operation, so endpoint data cannot be destroyed through these tools. `update_endpoint` is considered destructive because changing a live URL can redirect delivery traffic. The additive write operations are not automatically safe merely because their annotations are non-destructive; approval remains the client’s responsibility.

The server depends on the Nahook CLI and the Nahook account permissions associated with the logged-in credentials. The repository is a discoverability surface for the MCP server; its implementation lives in the Nahook CLI source tree. Issues and contributions therefore belong in the CLI repository rather than this repository.

The project is licensed under MIT. The README does not state service pricing or account-plan requirements, so those details should be confirmed with Nahook separately.

_Full upstream README: https://allmcps.com/mcp/getnahook-nahook-mcp/readme_

