nahook-mcp
The official MCP server for Nahook. Manage webhook endpoints, inspect deliveries and delivery attempts, retry failed deliveries, and list environments — directly from Claude, Cursor, Cline, or any MCP-compatible client.
README
nahook-mcp
The official Model Context Protocol server for Nahook — drive webhook deliveries, endpoints, and event triggers from Claude Desktop, Cursor, Cline, and any other MCP-compatible AI assistant.
The MCP server ships as a subcommand of the
nahookCLI. One binary, one credentials file, one install path.
What it does
Once installed and authenticated, your AI assistant can:
- Inspect endpoints, deliveries, and per-attempt logs to debug failed webhooks.
- Retry failed or dead-lettered deliveries.
- Trigger events and fan them out to every subscribed endpoint.
- Send webhooks directly to a single endpoint.
- Manage endpoints (create, update, pause, resume) — never delete, by design.
Write operations are tagged with the MCP destructiveHint/readOnlyHint annotations so MCP clients surface a per-call human-approval prompt before anything mutates state.
Install
The MCP server is a subcommand of the nahook CLI. Install the CLI, then add it to your AI client.
1. Install the CLI
macOS / Linux (Homebrew):
brew install getnahook/tap/nahook
Linux / macOS (install script):
curl -fsSL https://cli.nahook.com/install.sh | sh
See getnahook/nahook-cli for other install options.
2. Log in once
nahook login
This opens your browser, walks you through device-grant authentication, and writes credentials to ~/.nahook/config.toml.
3. Wire the MCP server into your AI client
Claude Desktop & Claude Code CLI:
claude mcp add nahook -- nahook mcp serve
Cursor — edit ~/.cursor/mcp.json:
{
"mcpServers": {
"nahook": {
"command": "nahook",
"args": ["mcp", "serve"]
}
}
}
Cline (VS Code) — Cline → Settings → MCP Servers → add:
{
"nahook": {
"command": "nahook",
"args": ["mcp", "serve"]
}
}
Zed — add to settings.json:
{
"assistant": {
"mcp_servers": {
"nahook": {
"command": "nahook",
"args": ["mcp", "serve"]
}
}
}
}
Other MCP-compatible clients (Continue, Windsurf, Goose, …) follow the same command + args shape.
Tools
| Tool | What it does |
|---|---|
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. |
Authentication model
The MCP server uses two separate credentials:
- CLI login token (
nhc_…) — written bynahook login. Powers read tools and management operations on endpoints / deliveries / environments. - Ingestion key (
nhk_…) — the same key your SDKs use. Powerstrigger_eventandsend_to_endpoint. Set it viaNAHOOK_INGESTION_KEY=nhk_...in the MCP client's environment, or addingestion_key = "nhk_..."to~/.nahook/config.toml. The server fails loudly if a write tool is called without one configured.
Permissions are evaluated per request against your workspace role — the MCP token has exactly the permissions you have in the dashboard, nothing more.
Where the code lives
The MCP server implementation is part of the nahook CLI source tree. This repo exists as a discoverability surface — README, MCP directory entries, and packaging metadata. There is no separate codebase to maintain.
If you want to file a bug, request a tool, or contribute: please open the issue at getnahook/nahook-cli.
License
MIT — same as the CLI.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.