Webhooks

by kevinwatt

13 stars
2.1k downloads
Not rated
GitHub

About

Enables sending customizable messages to external webhook endpoints, facilitating automated notifications and workflow integrations.

Details

Author
kevinwatt
Repository
kevinwatt/mcp-webhook
GitHub stars
13
Downloads
2,068
License
MIT License
Categories
Productivity, Developer Tools, Design, AI, Community, Infrastructure, Communication, Automation

<table>
<tr>
<td width="50%">

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Webhooks
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @kevinwatt/mcp-webhook
    Environment
    • WEBHOOK_URL your-webhook-url

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Add the following config to your MCP client:

{
  "mcpServers": {
    "webhook": {
      "command": "npx",
      "args": ["-y", "@kevinwatt/mcp-webhook"],
      "env": {
        "WEBHOOK_URL": "your-webhook-url"
      }
    }
  }
}

<details open>
<summary><strong>Dive</strong></summary>

1. Open Dive Desktop
2. Click "+ Add MCP Server"
3. Paste the config provided above
4. Click "Save" and you're ready!

</details>

<details>
<summary><strong>Claude Code</strong></summary>

Use the Claude Code CLI to add the webhook MCP server (guide):

claude mcp add webhook -- npx @kevinwatt/mcp-webhook

Then set the webhook URL in your environment or config.

</details>

<details>
<summary><strong>Claude Desktop</strong></summary>

Add to your claude_desktop_config.json:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "webhook": {
      "command": "npx",
      "args": ["-y", "@kevinwatt/mcp-webhook"],
      "env": {
        "WEBHOOK_URL": "your-webhook-url"
      }
    }
  }
}

</details>

<details>
<summary><strong>Cursor</strong></summary>

Go to Cursor Settings -> MCP -> New MCP Server. Use the config provided above.

</details>

<details>
<summary><strong>VS Code / Copilot</strong></summary>

Install via the VS Code CLI:

code --add-mcp '{"name":"webhook","command":"npx","args":["-y","@kevinwatt/mcp-webhook"],"env":{"WEBHOOK_URL":"your-webhook-url"}}'

Or follow the MCP install guide with the standard config from above.

</details>

<details>
<summary><strong>Windsurf</strong></summary>

Follow the configure MCP guide using the standard config from above.

</details>

<details>
<summary><strong>Cline</strong></summary>

Follow Cline MCP configuration guide and use the config provided above.

</details>

<details>
<summary><strong>Warp</strong></summary>

Go to Settings | AI | Manage MCP Servers -> + Add to add an MCP Server. Use the config provided above.

</details>

<details>
<summary><strong>JetBrains AI Assistant</strong></summary>

Go to Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add. Use the config provided above.

</details>

To install MCP Webhook Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @kevinwatt/mcp-webhook --client claude
npm install -g @kevinwatt/mcp-webhook

---

| Variable | Description | Required |
|----------|-------------|----------|
| WEBHOOK_URL | The webhook endpoint URL | Yes |

Discord Webhook:

{
"env": {
"WEBHOOK_URL": "https://discord.com/api/webhooks/..."
}
}

Slack Incoming Webhook:

{
"env": {
"WEBHOOK_URL": "https://hooks.slack.com/services/..."
}
}

Mattermost Webhook:

{
"env": {
"WEBHOOK_URL": "https://your-mattermost.com/hooks/..."
}
}

---

send_message

Send a message to the configured webhook endpoint. Parameters: content (string, required), username (string, optional), avatar_url (string, optional). Returns: Success/failure status.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "webhooks": {
            "env": {
                "WEBHOOK_URL": "your-webhook-url"
            },
            "args": [
                "-y",
                "@kevinwatt/mcp-webhook"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "WEBHOOK_URL": "your-webhook-url"
    },
    "args": [
        "-y",
        "@kevinwatt/mcp-webhook"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "WEBHOOK_URL": "your-webhook-url"
    },
    "args": [
        "-y",
        "@kevinwatt/mcp-webhook"
    ],
    "command": "npx"
}

Windows

{
    "env": {
        "WEBHOOK_URL": "your-webhook-url"
    },
    "args": [
        "/c",
        "npx",
        "-y",
        "@kevinwatt/mcp-webhook"
    ],
    "command": "cmd"
}

πŸͺ mcp-webhook

<div align="center">

A powerful MCP server that enables webhook messaging capabilities for your AI agents

npm version
smithery badge
License: MIT
Node.js Version
MseeP.ai Security Assessment

Send messages to any webhook endpoint through Claude, Dive, and other MCP-compatible AI systems. Perfect for notifications, alerts, and automated messaging.

Features β€’ Installation β€’ Tools β€’ Usage β€’ Configuration

</div>

---

✨ Features

<table>
<tr>
<td width="50%">

🌐 Generic Webhook Support

- Works with any webhook endpoint - Compatible with Discord, Slack, Mattermost - Custom HTTP POST requests - JSON payload formatting

</td>
<td width="50%">

🎨 Customization

- Custom display name (username) - Avatar URL support - Flexible message content - Easy integration with any platform

</td>
</tr>
<tr>
<td width="50%">

πŸ”Œ MCP Integration

- Works with Dive Desktop - Claude Desktop compatible - Cursor, VS Code support - Any MCP-compatible LLM

</td>
<td width="50%">

πŸ›‘οΈ Simple & Secure

- Minimal configuration - Environment variable support - No tracking or analytics - MIT licensed

</td>
</tr>
</table>

<a href="https://glama.ai/mcp/servers/ijmd1ia5zg">Webhook Server MCP server</a>

---

πŸš€ Installation

Getting Started

Add the following config to your MCP client:

{
  "mcpServers": {
    "webhook": {
      "command": "npx",
      "args": ["-y", "@kevinwatt/mcp-webhook"],
      "env": {
        "WEBHOOK_URL": "your-webhook-url"
      }
    }
  }
}

MCP Client Configuration

<details open>
<summary><strong>Dive</strong></summary>

1. Open Dive Desktop
2. Click "+ Add MCP Server"
3. Paste the config provided above
4. Click "Save" and you're ready!

</details>

<details>
<summary><strong>Claude Code</strong></summary>

Use the Claude Code CLI to add the webhook MCP server (guide):

claude mcp add webhook -- npx @kevinwatt/mcp-webhook

Then set the webhook URL in your environment or config.

</details>

<details>
<summary><strong>Claude Desktop</strong></summary>

Add to your claude_desktop_config.json:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "webhook": {
      "command": "npx",
      "args": ["-y", "@kevinwatt/mcp-webhook"],
      "env": {
        "WEBHOOK_URL": "your-webhook-url"
      }
    }
  }
}

</details>

<details>
<summary><strong>Cursor</strong></summary>

Go to Cursor Settings -> MCP -> New MCP Server. Use the config provided above.

</details>

<details>
<summary><strong>VS Code / Copilot</strong></summary>

Install via the VS Code CLI:

code --add-mcp '{"name":"webhook","command":"npx","args":["-y","@kevinwatt/mcp-webhook"],"env":{"WEBHOOK_URL":"your-webhook-url"}}'

Or follow the MCP install guide with the standard config from above.

</details>

<details>
<summary><strong>Windsurf</strong></summary>

Follow the configure MCP guide using the standard config from above.

</details>

<details>
<summary><strong>Cline</strong></summary>

Follow Cline MCP configuration guide and use the config provided above.

</details>

<details>
<summary><strong>Warp</strong></summary>

Go to Settings | AI | Manage MCP Servers -> + Add to add an MCP Server. Use the config provided above.

</details>

<details>
<summary><strong>JetBrains AI Assistant</strong></summary>

Go to Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add. Use the config provided above.

</details>

Installing via Smithery

To install MCP Webhook Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @kevinwatt/mcp-webhook --client claude

Manual Installation

npm install -g @kevinwatt/mcp-webhook

---

πŸ› οΈ Available Tools

<table>
<tr>
<th width="30%">Tool</th>
<th width="70%">Description</th>
</tr>
<tr>
<td><code>send_message</code></td>
<td>

Send a message to the configured webhook endpoint
- Parameters:
- content (string, required): Message content to send
- username (string, optional): Custom display name
- avatar_url (string, optional): Custom avatar URL
- Returns: Success/failure status

</td>
</tr>
</table>

---

πŸ’‘ Usage Examples

Basic Messages

"Send a message to webhook: Hello World!"
"Send 'Build completed successfully' to the webhook"
"Notify the team: Deployment finished"

Custom Username

"Send a message with username 'Deploy Bot': Production update complete"
"Send content='Server restarted', username='System Monitor'"

With Avatar

"Send a message with custom avatar: content='Alert!', avatar_url='https://example.com/alert.png'"

Automation Examples

"Send a webhook message when the build completes"
"Notify via webhook: All tests passed!"
"Send deployment status to the webhook channel"

---

πŸ”§ Configuration

Environment Variables

| Variable | Description | Required |
|----------|-------------|----------|
| WEBHOOK_URL | The webhook endpoint URL | Yes |

Example Configurations

Discord Webhook:

{
"env": {
"WEBHOOK_URL": "https://discord.com/api/webhooks/..."
}
}

Slack Incoming Webhook:

{
"env": {
"WEBHOOK_URL": "https://hooks.slack.com/services/..."
}
}

Mattermost Webhook:

{
"env": {
"WEBHOOK_URL": "https://your-mattermost.com/hooks/..."
}
}

---

πŸ—οΈ Architecture

Built With

- MCP SDK - Model Context Protocol
- Axios - HTTP client
- TypeScript - Type safety and developer experience

Key Features

- βœ… Simple: Minimal setup, just provide a webhook URL
- βœ… Flexible: Works with any webhook-compatible service
- βœ… Type-Safe: Full TypeScript support
- βœ… Lightweight: Minimal dependencies

---

🀝 Contributing

Contributions are welcome!

1. Fork the repository
2. Create a feature branch (git checkout -b feature/amazing-feature)
3. Commit your changes (git commit -m 'Add amazing feature')
4. Push to the branch (git push origin feature/amazing-feature)
5. Open a Pull Request

---

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

---

πŸ™ Acknowledgments

- Anthropic - For the Model Context Protocol
- Dive - MCP-compatible AI platform

---

πŸ“š Related Projects

- MCP Servers - Official MCP server implementations
- Dive Desktop - AI agent platform

---

<div align="center">

⬆ Back to Top

</div>

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.