@kevinwatt/mcp-webhook
Version:
Generic Webhook MCP Server
354 lines (245 loc) • 8.07 kB
Markdown
# 🪝 mcp-webhook
<div align="center">
**A powerful MCP server that enables webhook messaging capabilities for your AI agents**
[](https://www.npmjs.com/package/@kevinwatt/mcp-webhook)
[](https://smithery.ai/server/@kevinwatt/mcp-webhook)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://mseep.ai/app/kevinwatt-mcp-webhook)
Send messages to any webhook endpoint through Claude, Dive, and other MCP-compatible AI systems. Perfect for notifications, alerts, and automated messaging.
[Features](#-features) • [Installation](#-installation) • [Tools](#-available-tools) • [Usage](#-usage-examples) • [Configuration](#-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"><img width="380" height="200" src="https://glama.ai/mcp/servers/ijmd1ia5zg/badge" alt="Webhook Server MCP server" /></a>
## 🚀 Installation
### Getting Started
Add the following config to your MCP client:
```json
{
"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](https://github.com/OpenAgentPlatform/Dive)
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](https://docs.anthropic.com/en/docs/claude-code/mcp)):
```bash
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`
```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:
```bash
code --add-mcp '{"name":"webhook","command":"npx","args":["-y","@kevinwatt/mcp-webhook"],"env":{"WEBHOOK_URL":"your-webhook-url"}}'
```
Or follow the [MCP install guide](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server) with the standard config from above.
</details>
<details>
<summary><strong>Windsurf</strong></summary>
Follow the [configure MCP guide](https://docs.windsurf.com/windsurf/cascade/mcp#mcp-config-json) using the standard config from above.
</details>
<details>
<summary><strong>Cline</strong></summary>
Follow [Cline MCP configuration guide](https://docs.cline.bot/mcp/configuring-mcp-servers) 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](https://docs.warp.dev/knowledge-and-collaboration/mcp#adding-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](https://smithery.ai/server/@kevinwatt/mcp-webhook):
```bash
npx -y @smithery/cli install @kevinwatt/mcp-webhook --client claude
```
### Manual Installation
```bash
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:**
```json
{
"env": {
"WEBHOOK_URL": "https://discord.com/api/webhooks/..."
}
}
```
**Slack Incoming Webhook:**
```json
{
"env": {
"WEBHOOK_URL": "https://hooks.slack.com/services/..."
}
}
```
**Mattermost Webhook:**
```json
{
"env": {
"WEBHOOK_URL": "https://your-mattermost.com/hooks/..."
}
}
```
## 🏗️ Architecture
### Built With
- **[MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk)** - Model Context Protocol
- **[Axios](https://github.com/axios/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](LICENSE) file for details.
## 🙏 Acknowledgments
- [Anthropic](https://www.anthropic.com/) - For the Model Context Protocol
- [Dive](https://github.com/OpenAgentPlatform/Dive) - MCP-compatible AI platform
## 📚 Related Projects
- [MCP Servers](https://github.com/modelcontextprotocol/servers) - Official MCP server implementations
- [Dive Desktop](https://github.com/OpenAgentPlatform/Dive) - AI agent platform
<div align="center">
[⬆ Back to Top](#-mcp-webhook)
</div>