Skip to content

keshav-k3/webhook-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

webhook-mcp

npm version

A Bun-based MCP server that exposes two tools for sending POST requests to a configured webhook URL. Zero bloat. Built for automations and agent workflows(WIP)

Installation

npm install @keshav-k3/webhook-mcp

Configuration

The server automatically detects the webhook service from the URL, or you can explicitly set WEBHOOK_SERVICE:

Service Format Example Payload
Discord content field { "content": "Hello", "username": "Bot" }
Teams Adaptive Card { "type": "message", "attachments": [{ "contentType": "application/vnd.microsoft.card.adaptive", "content": { "type": "AdaptiveCard", "body": [{ "type": "TextBlock", "text": "Hello" }] } }] }
Slack text field { "text": "Hello" }
Telegram text field { "text": "Hello" }
Generic text field { "text": "Hello", "username": "Bot" }

MCP Configuration

Discord:

{
  "mcpServers": {
    "webhook-discord": {
      "command": "bun",
      "args": ["-y", "@keshav-k3/webhook-mcp"],
      "env": {
        "WEBHOOK_URL": "https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN"
      }
    }
  }
}

Teams (Power Automate):

{
  "mcpServers": {
    "webhook-teams": {
      "command": "bun",
      "args": ["-y", "@keshav-k3/webhook-mcp"],
      "env": {
        "WEBHOOK_URL": "https://...powerplatform.com/.../workflows/.../triggers/manual/paths/invoke?..."
      }
    }
  }
}

Slack / Telegram / Generic:

{
  "mcpServers": {
    "webhook-slack": {
      "command": "bun",
      "args": ["-y", "@keshav-k3/webhook-mcp"],
      "env": {
        "WEBHOOK_URL": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
      }
    }
  }
}

Tools

send_message

Send a text message to the configured webhook endpoint. The message format adapts based on the detected service.

Parameters:

  • content (string, required): Message content to send
  • username (string, optional): Display name (supported by Discord and generic webhooks)
  • avatar_url (string, optional): Avatar URL (supported by Discord and generic webhooks)

send_json

Send an arbitrary JSON object to the configured webhook endpoint. Use this for full control over the payload format.

Parameters:

  • body (object, required): JSON object to POST

License

MIT

About

๐Ÿž Bun-based webhook MCP server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors