Slack Notifications MCP Server

Slack Notifications MCP Server

Enables sending customizable Slack notifications from Claude, supporting rich formatting, task completion alerts, and priority levels for development workflows.

Category
Visit Server

README

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

๐Ÿ› ๏ธ 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

๐Ÿ”— Related Projects


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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured