nagoc-webhook-mcp
v1.0.4
Published
An MCP server to trigger webhooks via Claude Desktop
Downloads
580
Maintainers
Readme
🔗 nagoc-webhook-mcp
A professional Model Context Protocol (MCP) server for Claude Desktop and other MCP clients that enables you to trigger multiple named webhooks (Zapier, n8n, Make, custom APIs) with structured data directly from your chat.
🚀 Features
- 🛡️ Secure by Design: Targets are whitelisted via your local configuration. No arbitrary URL calls from the LLM.
- 🏷️ Named Webhooks: Map environment variables like
WEBHOOK_ZAPIERto simple names like "zapier" in chat. - ✨ Auto-Structuring: Claude automatically converts your natural language instructions into precise JSON payloads.
- 🛠️ Full Control: Supports custom HTTP methods (POST, PUT, PATCH, etc.) and custom headers.
- 🔄 Universal Compatibility: Works with Claude Desktop, Cursor, Windsurf, and any other MCP-compliant host.
📋 Prerequisites
- Node.js: version 18.0.0 or higher (see below for how to install).
- An MCP-compatible client (e.g., Claude Desktop).
🟢 Step 1 — Install Node.js (one-time setup)
Node.js is a free program that allows this MCP to run on your computer. You only need to install it once.
- Go to https://nodejs.org
- Click the big "Download Node.js (LTS)" button
- Open the downloaded file and click Next → Next → Finish (just like installing any normal app)
- That's it — you're ready!
Not sure if you already have Node.js? Press
Win + R, typecmd, press Enter, then typenode -vand press Enter. If you see a version number (e.g.v20.x.x), you're all set.
📦 Installation
Option 1: Via npx (Recommended)
Add this to your claude_desktop_config.json (on Windows: %APPDATA%/Claude/claude_desktop_config.json):
{
"mcpServers": {
"nagoc-webhook-mcp": {
"command": "npx",
"args": ["-y", "nagoc-webhook-mcp@latest"],
"env": {
"WEBHOOK_URL": "https://your-primary-webhook.com/endpoint",
"WEBHOOK_CRM": "https://api.yourcrm.com/v1/leads",
"WEBHOOK_ZAPIER": "https://hooks.zapier.com/..."
}
}
}
}Option 2: Build from Source
- Clone the repository.
- Install dependencies and build:
npm install npm run build - Add to your configuration:
{ "mcpServers": { "nagoc-webhook-mcp": { "command": "node", "args": ["C:/absolute/path/to/nagoc-webhook-mcp/build/index.js"], "env": { "WEBHOOK_URL": "..." } } } }
⚙️ Configuration
The server dynamically scans your env section for any key starting with WEBHOOK_.
WEBHOOK_URL: The default target. Used if you don't specify a name.WEBHOOK_EMAIL: Accessible in chat by saying "send to email".WEBHOOK_CLIENT_A: Accessible by saying "trigger client_a".
💬 Usage Examples
Once configured, you can simply tell Claude:
- "Send this summary to my webhook." (Triggers
WEBHOOK_URL) - "Push these contact details to the CRM." (Triggers
WEBHOOK_CRM) - "Trigger the zapier hook with this data." (Triggers
WEBHOOK_ZAPIER)
Customizing the Request
Claude can also handle more complex requirements:
- "Send a PATCH request to the CRM with this payload and add a 'X-Source: Claude' header."
🔒 Security Best Practices
- Private Discovery: This server does not accept arbitrary URLs from the chat interface. It only communicates with URLs you have pre-defined in your configuration.
- Environment Variables: Keep your webhook URLs and API keys in your server's
envconfiguration, not in the chat.
❓ Troubleshooting
- Server fails to start? Ensure you are on Node.js 18+. Run
node -vto check. - Webhook not recognized? Make sure the name matches the environment variable suffix (case-insensitive). For example,
WEBHOOK_TESTmatches "test". - Empty response? Some webhooks return
200 OKwith an empty body. The server will report this as a success with an empty data field.
📄 License
MIT © Nagoc.work
