The notify_me_mcp server enables AI agents and LLMs to send rich notifications to Discord and Slack webhooks with robust security and handling.
Core Features:
Send Notifications: Dispatch plain text or rich formatted messages (Discord embeds, Slack blocks/attachments) to Discord, Slack, or both platforms simultaneously
Test Webhooks: Validate webhook connectivity by sending test messages to configured services
List Services: Retrieve configured webhook services and identify auto-detected defaults
Multi-service Support: Target specific services or all configured platforms with automatic service detection
Advanced Capabilities:
Customization Options: Override display usernames, avatar/icon URLs, and enable text-to-speech (TTS) for Discord
Rate Limit Handling: Automatic retry with exponential backoff for HTTP 429 responses
Security: Webhook URLs never exposed in logs, with comprehensive input validation and schema enforcement
Intelligent Defaults: Automatically chooses available services when unspecified, falling back to Discord if both are configured
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@notify_me_mcpsend a Discord notification: 'Build completed successfully'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
notify_me_mcp
TypeScript MCP server for sending notifications to Discord and/or Slack webhooks
A powerful Model Context Protocol (MCP) server that provides webhook notification capabilities to AI agents and LLM applications. Send rich notifications to Discord and Slack with automatic service detection, retry logic, and comprehensive security features.
β¨ Features
π§ Three MCP Tools:
send_notification,validate_webhook,list_servicesπ― Multi-Service Support: Discord, Slack, or both simultaneously
π‘οΈ Security First: Webhook URLs never exposed in logs or process lists
π± Rich Content: Discord embeds and Slack blocks/attachments support
π Robust Retry Logic: Handles rate limiting with exponential backoff
β‘ Service Auto-Detection: Automatically selects available services
π Input Validation: Comprehensive schema validation with Zod
π Structured Logging: Secure logging with automatic URL redaction
Related MCP server: MCP Webhook Server
π Quick Start
Prerequisites
Node.js β₯ 23.7.0
npm β₯ 10.9.2
Discord and/or Slack webhook URLs
Installation
Clone the repository
git clone https://github.com/thesammykins/notifyme_mcp.git cd notifyme_mcpInstall dependencies
npm installConfigure webhooks
cp .env.example .env # Edit .env and replace webhook placeholdersBuild the project
npm run build
Configuration
Create a .env file with your webhook URLs:
Getting Webhook URLs:
Discord:
Go to Server Settings β Integrations β Webhooks
Click "Create Webhook" β Copy webhook URL
Slack:
Create a Slack app at https://api.slack.com/apps
Enable "Incoming Webhooks" β Add to workspace
Copy the webhook URL
π§ Usage with MCP Clients
Claude Desktop Configuration
Add to your Claude Desktop claude_desktop_config.json:
Other MCP Clients
Use the built server at dist/index.js with any MCP-compatible client over stdio transport.
π οΈ Available Tools
send_notification
Send notifications to Discord and/or Slack webhooks.
Parameters:
message(string, optional): Plain text messageservice(string, optional): "discord", "slack", or "both" (auto-detected if not specified)embed_json(object/array/string, optional): Rich content (Discord embeds, Slack blocks)username(string, optional): Override display usernameavatar_url(string, optional): Override avatar/icon URLtts(boolean, optional): Enable text-to-speech (Discord only)
Examples:
validate_webhook
Test webhook connectivity by sending a test message.
Parameters:
service(string, optional): "discord", "slack", or "both"message(string, optional): Custom test message
list_services
List configured webhook services and auto-detected default.
No parameters required.
ποΈ Service Auto-Detection
The server automatically detects which services to use:
Only Discord configured β
discordOnly Slack configured β
slackBoth configured β
discord(default for backward compatibility)Use β Send to all configured services
π Security Features
Webhook Protection: URLs never appear in logs, errors, or process lists
Secure Logging: Automatic redaction of sensitive information
Input Validation: All inputs validated with Zod schemas
Rate Limiting: Automatic retry on 429 responses with
Retry-AftersupportTemporary Files: Created with restrictive permissions (077)
π¨ Rich Content Support
Discord Embeds
Supports Discord's native embed objects:
Slack Blocks & Attachments
Supports Slack's block kit and legacy attachments:
π Common Colors
Status | Discord (decimal) | Slack (hex/keyword) |
Success |
|
|
Error |
|
|
Warning |
|
|
Info |
|
|
π§ͺ Development
Run in Development Mode
Build
Start Production Server
Testing
π Project Structure
π§ Environment Variables
Variable | Description | Example |
| Discord webhook URL |
|
| Slack webhook URL |
|
| Custom .env file path |
|
| Custom .env directory |
|
π Troubleshooting
Common Issues
"No webhook URLs configured"
Ensure
.envfile exists with valid webhook URLsCheck environment variable names match exactly
"Discord message exceeds 2000 character limit"
Discord has a 2000 character limit for message content
Use embeds for longer content or split messages
"Invalid JSON in embed_json"
Validate JSON syntax before sending
Use proper escaping for quotes in JSON strings
Connection timeouts
Check network connectivity to Discord/Slack APIs
Verify webhook URLs are correct and active
Debug Mode
For troubleshooting, you can run with verbose logging:
π€ Contributing
Fork the repository
Create a feature branch:
git checkout -b feature/my-featureMake your changes
Build and test:
npm run build && npm testCommit your changes:
git commit -am 'Add some feature'Push to the branch:
git push origin feature/my-featureSubmit a pull request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Related Projects
notify_me.sh - The original bash script that inspired this MCP server
Model Context Protocol - Official MCP documentation
Discord Webhooks - Discord webhook documentation
Slack Webhooks - Slack incoming webhook documentation
πββοΈ Support
Issues: Report bugs and request features on GitHub Issues
Documentation: Check this README and inline code comments
MCP Protocol: Refer to MCP documentation for client setup
Built with β€οΈ using TypeScript and the Model Context Protocol