Slack Notifier MCP

Slack Notifier MCP

Enables bidirectional communication between MCP clients and Slack, allowing users to receive task notifications and respond to AI inquiries directly within Slack threads. It supports various urgency levels, message threading, and interactive question-and-answer workflows.

Category
Visit Server

README

Slack Notifier MCP

Python 3.10+ MCP License: MIT uv

MCP server for bidirectional Slack communication with Claude Code. Get notified when tasks complete, and respond to Claude's questions directly from Slack.

Quick Start

# Add to Claude Code (one command)
claude mcp add slack-notifier -s user \
  -e SLACK_BOT_TOKEN=xoxb-your-token \
  -e SLACK_DEFAULT_CHANNEL=YOUR-CHANNEL-ID \
  -- uvx slack-notifier-mcp@latest

Features

  • Send Messages - Send messages with optional urgency levels and thread support
  • Ask & Wait - Ask questions and wait for replies via Slack threads
  • Bidirectional - Reply to Claude from Slack, get responses back in your terminal
  • Urgency Levels - Normal, important, and critical notifications with appropriate formatting

Slack App Setup

Before using this server, you need to create a Slack app:

  1. Go to api.slack.com/apps and click Create New App
  2. Choose From scratch, name it (e.g., "Claude Code"), and select your workspace
  3. Go to OAuth & Permissions in the sidebar
  4. Under Scopes > Bot Token Scopes, add:
    • chat:write - Send messages
    • channels:history - Read public channel messages
    • groups:history - Read private channel messages
    • im:history - Read DM messages
    • users:read - Get user display names
  5. Click Install to Workspace at the top
  6. Copy the Bot User OAuth Token (starts with xoxb-)

To get your default channel ID:

  • Open Slack, right-click the channel, and select View channel details
  • At the bottom, copy the Channel ID (starts with C)

Installation

Claude Code (Recommended)

claude mcp add slack-notifier -s user \
  -e SLACK_BOT_TOKEN=xoxb-your-token \
  -e SLACK_DEFAULT_CHANNEL=YOUR-CHANNEL-ID \
  -- uvx slack-notifier-mcp@latest

VS Code

code --add-mcp '{"name":"slack-notifier","command":"uvx","args":["slack-notifier-mcp@latest"],"env":{"SLACK_BOT_TOKEN":"xoxb-your-token","SLACK_DEFAULT_CHANNEL":"YOUR-CHANNEL-ID"}}'

Other MCP Clients

<details> <summary><strong>Claude Desktop</strong></summary>

Add to your Claude Desktop config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "slack-notifier": {
      "command": "uvx",
      "args": ["slack-notifier-mcp@latest"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token",
        "SLACK_DEFAULT_CHANNEL": "YOUR-CHANNEL-ID"
      }
    }
  }
}

</details>

<details> <summary><strong>Cursor</strong></summary>

  1. Go to Settings → MCP → Add new MCP Server
  2. Select command type
  3. Enter command: uvx slack-notifier-mcp@latest
  4. Add environment variables for SLACK_BOT_TOKEN and SLACK_DEFAULT_CHANNEL

Or add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "slack-notifier": {
      "command": "uvx",
      "args": ["slack-notifier-mcp@latest"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token",
        "SLACK_DEFAULT_CHANNEL": "YOUR-CHANNEL-ID"
      }
    }
  }
}

</details>

<details> <summary><strong>Windsurf / Other MCP Clients</strong></summary>

Any MCP-compatible client can use slack-notifier:

{
  "mcpServers": {
    "slack-notifier": {
      "command": "uvx",
      "args": ["slack-notifier-mcp@latest"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token",
        "SLACK_DEFAULT_CHANNEL": "YOUR-CHANNEL-ID"
      }
    }
  }
}

</details>

Local Development

git clone https://github.com/strand-ai/slack-notifier-mcp.git
cd slack-notifier-mcp
uv sync
uv run slack-notifier-mcp

MCP Tools

send

Send a message to Slack with optional urgency and thread support.

# Simple message
send(message="Build completed successfully")

# With urgency (adds formatting and @here for critical)
send(
    message="Server is down!",
    urgency="critical"  # or "normal", "important"
)

# Reply in a thread
send(
    message="Done with the first step, moving on...",
    thread_ts="1234567890.123456"
)

# Mention user
send(
    message="Need your attention",
    mention_user=True
)

Parameters:

  • message (required): Message text (supports Slack mrkdwn)
  • channel (optional): Channel ID or name (uses default if not set)
  • thread_ts (optional): Thread timestamp to reply in a thread
  • urgency (optional): normal, important, or critical
  • mention_user (optional): If true, @mentions the configured user

ask_user

Send a question and wait for the user's reply.

ask_user(
    question="Should I use PostgreSQL or SQLite for the database?",
    context="Setting up the backend for the new API",
    timeout_minutes=10
)
# Returns: {"success": True, "reply": "Use PostgreSQL", ...}

Parameters:

  • question (required): The question to ask
  • channel (optional): Channel ID or name
  • context (optional): Additional context about what you're working on
  • timeout_minutes (optional): How long to wait (default 5, max 30)

get_thread_replies

Check for new replies in a thread.

get_thread_replies(
    channel="YOUR-CHANNEL-ID",
    thread_ts="1234567890.123456",
    since_ts="1234567891.000000"  # Only newer messages
)

Environment Variables

Variable Required Description
SLACK_BOT_TOKEN Yes Bot token from Slack app (xoxb-...)
SLACK_DEFAULT_CHANNEL No Default channel for notifications

Example Usage

Tell Claude Code:

"Notify me on Slack when the tests finish running"

"Ask me on Slack whether to proceed with the database migration"

"Send a Slack notification if any errors occur while I'm away"

Debugging

Run the MCP inspector to test tools:

npx @anthropics/mcp-inspector uvx slack-notifier-mcp@latest

Check if your token works:

curl -H "Authorization: Bearer xoxb-your-token" \
  https://slack.com/api/auth.test

Development

# Install with dev dependencies
uv sync --extra dev

# Run tests
uv run pytest

# Format code
uv run black slack_mcp
uv run ruff check slack_mcp --fix

License

MIT

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