Skip to main content
Glama
Slack Notifications MCP Server

Slack Notifications MCP Server

by Chiuchau-Inc

๐Ÿš€ 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.

Slack Notification Example MCP Compatible TypeScript

โœจ 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 title

  • message (required): The notification message

  • webhook_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, or info

  • taskType (optional): Type of task (e.g., "Build", "Deploy", "Test")

  • duration (optional): How long the task took

  • summary (optional): Brief summary of accomplishment

  • url (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 URL

  • default_channel (optional): Default channel for notifications

๐Ÿš€ Quick Start

1. Create Slack Webhook

  1. Go to Slack API: Visit api.slack.com

  2. Create New App: Click "Create New App" > "From scratch"

  3. 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

  1. Clone this repository: ```bash git clone https://github.com/chiuchau-cyril/mcp-slack-notifications.git cd mcp-slack-notifications ```

  2. Install dependencies: ```bash npm install ```

  3. 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: urgent with 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 tasks

  • Orange (warning): Warnings, partial failures

  • Red (danger): Errors, critical issues

  • Blue (info): Information, status updates

  • Custom: 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


Made with โค๏ธ for the Claude AI ecosystem

Available Tools

3 tools
configure_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

    B3.1/5.0

    Scored across 3 tools

    Disambiguation4/5

    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.

    Naming Consistency3/5

    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.

    Tool Count4/5

    3 tools is on the lower side but appropriate for a focused Slack notification server. Each tool covers a core function without unnecessary bloat.

    Completeness3/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables 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 npm
      22
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables 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.
      8
      MIT
    • F
      license
      A
      quality
      Not graded
      maintenance
      Enables 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
      -