- Home
- MCP servers
- EasyWebhook
EasyWebhook
- python
0
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"plgonzalezrx8-easywebhook-mcp": {
"command": "python",
"args": [
"easywebhook_server.py"
],
"env": {
"ENV_EXAMPLE": "PLACEHOLDER"
}
}
}
}EasyWebhook-MCP Server lets you send webhooks to Discord, Slack, or any HTTP endpoint using stored aliases from a local .env file. It provides a secure, isolated runtime that requires no direct file system access for webhook execution and supports both stored aliases and direct URL targets for flexible automation.
How to use
You use an MCP client to invoke webhook actions against EasyWebhook-MCP Server. First, define your webhook endpoints in a local .env file as aliases (for example, DISCORD_WEBHOOK, SLACK_WEBHOOK, and a custom API endpoint). Then, from your MCP client, choose an alias to send a webhook payload or use a direct URL when you need to target a new endpoint.
How to install
Prerequisites you need before installing: Docker Desktop and a runtime environment for the MCP client that will communicate with the server. If you plan to run directly, you should have Python available.
Step 1. Create the environment file for webhooks.
cd c:\Users\plgon\Downloads\EasyWebhook-MCP
copy .env.example .env
notepad .env
Add your webhook aliases to the .env file. For example:
DISCORD_WEBHOOK=https://discord.com/api/webhooks/YOUR_ID/YOUR_TOKEN
SLACK_WEBHOOK=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
MY_CUSTOM_API=https://api.example.com/webhook
Step 2. Build the MCP server image (if you plan to run via Docker). Note: the server can also run directly with Python without Docker.
docker build -t easywebhook-mcp-server .
Step 3. Run the server. You have two practical options.
# Run directly with Python
python easywebhook_server.py
# Or run via Docker (requires a mounted .env file and appropriate paths)
docker run -i --rm \
-v /path/to/.env:/app/.env \
-v /path/to/easywebhook:/app \
easywebhook-mcp-server
Additional setup notes
Configure your MCP client to reference the server as either a local stdio service or via a remote HTTP endpoint if provided. When using stored webhooks, you can list aliases, send by alias, or send using direct URLs. If you modify the .env file, you typically restart the MCP client or the server to pick up the changes.
Security and reliability notes
The server is designed to run in an isolated container or a local runtime without granting unnecessary file system access. Webhook URLs are masked in outputs, and requests have a 30-second timeout cap to prevent hangs. Use HTTPS for all webhook endpoints whenever possible.
Troubleshooting tips
If you encounter issues, ensure the .env file exists in the expected directory, verify the alias names, and restart the server or container. Check that the webhook URLs are valid and reachable, and look at the returned status codes for clues about failures.
Notes on tooling and usage
Available tools include alias-based operations to list webhooks, send via alias, and send via direct URL endpoints. You can also test the MCP protocol against the server during development.
Available tools
list_webhooks
List all configured webhook aliases stored in the local .env file, showing alias names and their targets.
send_webhook_by_alias
Send a webhook by referencing a stored alias. Supports standard HTTP methods and JSON payloads.
send_discord_webhook_by_alias
Send a Discord embed by alias with optional title, color, username, and avatar.
send_slack_webhook_by_alias
Send a Slack message by alias with a simple text payload or rich blocks.
send_webhook
Send a webhook directly to a provided URL using a chosen HTTP method and payload.
send_discord_webhook
Send a Discord embed directly to a URL with optional title, color, username, and avatar.
send_slack_webhook
Send a Slack message directly to a URL with a text payload.