Slack Notifications MCP Server
Send customizable Slack notifications with rich formatting, color-coded status, priority levels, and support for task completion notifications.
Click on "Deploy 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., "@Slack Notifications MCP Server Send a success notification for the build task."
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.
๐ Slack Notifications MCP Server
A powerful Model Context Protocol (MCP) server that brings Slack notifications to Claude AI workflows. Perfect for getting notified when long-running tasks complete, errors occur, or when user input is needed.
โจ Features
๐ฑ Rich Slack Messages: Formatted messages with attachments, colors, and fields
๐ฏ Task Completion Notifications: Specialized notifications for development workflows
๐ง Webhook Configuration: Easy setup with Slack webhook URLs
๐ Color-Coded Status: Visual indicators for success, error, warning, and info
๐จ Customizable: Channel selection, bot username, emojis, and priority levels
๐ Zero Config: Works with environment variables or runtime configuration
Related MCP server: Discord Notification MCP Server
๐ ๏ธ Tools
send_slack_notification
Send a customizable Slack notification with full formatting options.
Parameters:
title(required): The notification titlemessage(required): The notification messagewebhook_url(optional): Slack webhook URL (if not configured globally)channel(optional): Target channel (e.g., #general, @username)username(optional): Bot username (default: "Claude Code")icon_emoji(optional): Bot emoji (default: ":robot_face:")color(optional): Message color (good, warning, danger, info, or hex)priority(optional): Priority level (low, normal, high, urgent)
slack_task_completion_notification
Send a specialized notification for task completion with intelligent formatting.
Parameters:
status(required):success,error,warning, orinfotaskType(optional): Type of task (e.g., "Build", "Deploy", "Test")duration(optional): How long the task tooksummary(optional): Brief summary of accomplishmenturl(optional): Related URL (e.g., localhost development server)webhook_url(optional): Slack webhook URL (if not configured globally)channel(optional): Target channel
configure_slack_webhook
Configure global Slack webhook settings for the session.
Parameters:
webhook_url(required): Your Slack webhook URLdefault_channel(optional): Default channel for notifications
๐ Quick Start
1. Create Slack Webhook
Go to Slack API: Visit api.slack.com
Create New App: Click "Create New App" > "From scratch"
Configure Incoming Webhooks:
Go to "Incoming Webhooks" in the sidebar
Activate incoming webhooks
Click "Add New Webhook to Workspace"
Choose your channel and authorize
Copy the webhook URL (starts with
https://hooks.slack.com/services/...)
2. Installation
Clone this repository: ```bash git clone https://github.com/chiuchau-cyril/mcp-slack-notifications.git cd mcp-slack-notifications ```
Install dependencies: ```bash npm install ```
Build the project: ```bash npm run build ```
3. Configuration
For Claude Code
Add to your Claude Code MCP configuration:
```json { "mcpServers": { "slack-notifications": { "command": "node", "args": ["/Users/cyril/Documents/git/mcp-servers/slack-notifications/dist/index.js"], "env": { "SLACK_WEBHOOK_URL": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL" } } } } ```
For Claude App
Add to your Claude App MCP settings:
```json { "slack-notifications": { "command": "node", "args": ["/Users/cyril/Documents/git/mcp-servers/slack-notifications/dist/index.js"], "env": { "SLACK_WEBHOOK_URL": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL" } } } ```
4. Testing
Run the test suite to verify everything works:
```bash node test-slack-notifications.js ```
๐ฑ Usage Examples
Basic Notification
```javascript // Simple notification { "title": "๐ Task Complete", "message": "Your build finished successfully!", "channel": "#development", "color": "good" } ```
Development Workflow
```javascript // Task completion with details { "status": "success", "taskType": "React Build", "duration": "2 minutes", "summary": "Compiled 45 components successfully", "url": "http://localhost:3000", "channel": "#dev-notifications" } ```
Error Notification
```javascript // Error with high priority { "title": "โ Build Failed", "message": "TypeScript compilation errors detected", "color": "danger", "priority": "urgent", "channel": "#alerts" } ```
Configuration
```javascript // Set up webhook for the session { "webhook_url": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL", "default_channel": "#claude-notifications" } ```
๐ฏ Smart Notification Logic
This MCP server implements the same intelligent notification timing as the macOS version:
โ ๏ธ Immediate Notifications (User Action Required)
Commands waiting for confirmation (
Do you want to proceed?)Password prompts
Any user input required
Priority:
urgentwith red color
โ Completion Notifications (Task Finished)
Build processes completed
Tests finished running
Deployments completed
Color: Green (success) / Red (error) / Orange (warning)
๐ No Notifications
Simple queries (
ls,pwd)Commands still running normally
Quick operations (< 30 seconds)
๐จ Slack Message Features
Color Coding
Green (
good): Success, completed tasksOrange (
warning): Warnings, partial failuresRed (
danger): Errors, critical issuesBlue (
info): Information, status updatesCustom: Any hex color code (e.g.,
#FF5733)
Priority Levels
Low:
#cccccc(gray)Normal:
#0099cc(blue)High:
#ff9500(orange)Urgent:
#ff0000(red)
Rich Formatting
Attachments: Structured message layout
Fields: Key-value pairs with short/long display
Timestamps: Automatic message timing
Footer: "Claude Code" branding
๐ก๏ธ Requirements
Node.js 18+
Slack workspace with webhook permissions
Internet connection for webhook delivery
๐งช Environment Variables
Set these for easier configuration:
```bash export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/YOUR/WEBHOOK/URL" export SLACK_DEFAULT_CHANNEL="#claude-notifications" ```
๐ Claude Rules Integration
For automatic notification behavior, add these rules to your Claude configuration:
```markdown
Automatically notify on task completion via Slack
When a task takes longer than 2 minutes or requires user input, send a Slack notification using the appropriate tool.
Notification timing:
User input needed โ Immediate notification with urgent priority
Task completed โ Result notification with appropriate status
Errors occurred โ Error notification with danger color ```
๐ Security Notes
Webhook URLs contain secrets - keep them private
Don't commit webhook URLs to version control
Use environment variables for production deployments
Limit webhook permissions to necessary channels only
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
๐ License
MIT License - see LICENSE file for details.
๐โโ๏ธ Support
๐ Issues: GitHub Issues
๐ฌ Discussions: GitHub Discussions
๐ง Email: Contact for enterprise support
๐ Related Projects
macOS Notifications MCP Server - Native macOS notifications
Model Context Protocol - Official MCP documentation
Made with โค๏ธ for the Claude AI ecosystem
Available Tools
3 toolsconfigure_slack_webhookB
Configure global Slack webhook URL for notifications
Inputs: webhook_url (required), default_channel.
send_slack_notificationB
Send a Slack notification via webhook
Inputs: title (required), message (required), color, channel, +4 more.
slack_task_completion_notificationC
Send a specialized Slack notification for task completion
Inputs: status (required), url, channel, summary, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 3 tools
Tools have distinct purposes: configuration, generic notification, and specialized task completion. Minor overlap between send_slack_notification and slack_task_completion_notification, but descriptions clarify the specialization.
All use snake_case with 'slack_' prefix, but 'slack_task_completion_notification' is noun-heavy while others are verb_noun (configure_, send_). Pattern is somewhat inconsistent.
3 tools is on the lower side but appropriate for a focused Slack notification server. Each tool covers a core function without unnecessary bloat.
Basic configuration and sending are covered, including a specialized notification type. However, missing webhook validation, deletion, or listing, which may be needed for full lifecycle management.
Maintenance
Related MCP Connectors
Let your AI agent notify you by email, Slack, Discord, or webhook. One tool: send_notification.
Create Tasks and run Workflows in Bleep from Claude, ChatGPT, and other AI assistants.
Your own WhatsApp in Claude and ChatGPT: read chats, draft replies, send messages you approve.
Manage Redbooth tasks, task lists, comments, tags and files from Claude and other AI assistants.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude Code to send Telegram notifications when tasks complete, errors occur, or user intervention is needed. Runs serverless on Cloudflare Workers with support for formatted messages and flexible chat targeting.168 npm22MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude Code to send notifications to Discord channels via webhooks when tasks complete, errors occur, or user intervention is needed. Deployed serverlessly on Cloudflare Workers with support for rich message formatting and embeds.8MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude AI to send real-time notifications to Slack channels with support for rich formatting, multiple channels, and customizable message styling for workflow automation and task completion alerts.2MIT
- FlicenseAqualityNot gradedmaintenanceEnables two-way communication between Claude and Slack for posting messages, managing threads, and handling files. It specifically supports asynchronous workflows by allowing Claude to poll for remote user replies and send task notifications.9-