Skip to main content

Slack MCP Server

PyPI package version GitHub release version CI/CD status Pre-Commit building state Code quality level documentation CI status Software license

slack-mcp-server logo

Overview

🦾 A strong MCP (Model Context Protocol) server for Slack integration, providing standardized access to Slack's API features through both MCP tools and webhook processing.

Key Features:

  • 🤖 MCP Server: Provides 6 essential Slack tools for AI assistants and clients
  • 🪝 Webhook Server: Processes real-time Slack events with secure verification
  • 🔗 Integrated Mode: Combined MCP + webhook server for complete Slack platform integration
  • 🚀 Multiple Transports: Supports stdio, SSE, and HTTP streaming protocols
  • 📦 Easy Deployment: Docker, Kubernetes, and cloud platform ready

Use Cases:

  • Building AI assistants with Slack integration
  • Creating custom automation tools for Slack workflows
  • Developing real-time Slack applications with event processing
  • Integrating Slack with other tools and platforms

Python versions support

Supported Versions

slack-mcp-server supports Python 3.12+ for optimal performance and modern language features.

Quickly Start

Installation

Choose your preferred installation method:

Using pip

# Minimal base (protocol only)
pip install slack-mcp

# MCP server feature set
pip install "slack-mcp[mcp]"

# Webhook server feature set
pip install "slack-mcp[webhook]"

# Everything
pip install "slack-mcp[all]"

Using uv (recommended)

# Minimal base
uv add slack-mcp

# MCP server / Webhook / All
uv add "slack-mcp[mcp]"
uv add "slack-mcp[webhook]"
uv add "slack-mcp[all]"

Using poetry

# Minimal base
poetry add slack-mcp

# MCP server / Webhook / All
poetry add slack-mcp -E mcp
poetry add slack-mcp -E webhook
poetry add slack-mcp -E all

Note: Installation extras

  • [mcp]: Installs the MCP server feature set (SSE/Streamable transports; not the integrated webhook mode)
  • [webhook]: Installs FastAPI/Uvicorn and related parts for Slack webhook handling (not the integrated mode)
  • [all]: Installs everything in this project
  • Base (no extra): Minimal install with only the base protocol rules of this project

Basic Usage

1. Set Up Environment Variables

For Production/Development:

# Copy the production environment template
cp .env.example .env

# Edit with your actual values
# Required: Slack bot token
export SLACK_BOT_TOKEN="xoxb-your-bot-token-here"

# Optional: For webhook server
export SLACK_SIGNING_SECRET="your-signing-secret"

For Testing:

# Copy the test environment template
cp test/.env.test.example test/.env.test

# Edit with your test values (used by pytest)
# Required: E2E test token
export E2E_TEST_API_TOKEN="xoxb-your-test-token"

2. Start MCP Server (Standalone)

# Start with stdio transport (default)
slack-mcp-server

# Start with SSE transport for web clients
slack-mcp-server --transport sse --host 0.0.0.0 --port 3001

3. Start Webhook Server (Standalone)

# Start standalone webhook server
slack-webhook-server --host 0.0.0.0 --port 3000

4. Start Integrated Server (MCP + Webhook)

# Combined server with both MCP and webhook functionality
slack-mcp-server --integrated --transport sse --port 8000

Available MCP Tools

Tool Description Usage
slack_post_message Send messages to channels Post notifications, updates
slack_read_channel_messages Read channel message history Analyze conversations
slack_read_thread_messages Read thread replies Follow discussions
slack_thread_reply Reply to message threads Engage in conversations
slack_read_emojis Get workspace emojis Access custom reactions
slack_add_reactions Add emoji reactions React to messages

Docker Quick Start

# Pull and run with environment variables
docker run -p 3000:3000 \
  -e SLACK_BOT_TOKEN="xoxb-your-token" \
  -e SLACK_SIGNING_SECRET="your-secret" \
  chisanan232/slack-mcp-server:latest

Documentation

Comprehensive documentation is available at https://chisanan232.github.io/slack-mcp-server/

Documentation Sections

Quick Links

Coding style and following rules

slack-mcp-server follows coding styles black and PyLint to control code quality, with additional tools for comprehensive code analysis.

Code style: black linting: pylint Imports: isort Type Checking: mypy

Code Quality Tools

  • Black: Consistent code formatting
  • PyLint: Code analysis and style checking
  • MyPy: Static type checking
  • isort: Import sorting and organization
  • Pre-commit: Automated code quality checks

Development Workflow

# Install development dependencies
uv sync --dev

# Run code quality checks
uv run pre-commit run --all-files

# Run tests
uv run pytest

Downloading state

Current download statistics for slack-mcp package:

Downloads Downloads Downloads

Container Downloads

Docker Pulls

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Contribution Steps

  1. Report Issues - Found a bug? Let us know!
  2. Request Features - Have ideas? We'd love to hear them!
  3. Join Discussions - Connect with the community
  4. Development Setup - Start contributing code

Extend with Custom Queue Backend Plugins

Want to add support for additional message queue systems? Create custom queue backend plugins using our template:

Slack MCP Server Backend MQ Template - Quick-start template for developing queue backend plugins

  • Complete project structure with best practices
  • Pre-configured CI/CD workflows
  • Comprehensive documentation

📚 Documentation: https://chisanan232.github.io/Slack-MCP-Server-Backend-MQ-Template/

License

MIT License

Metadata

Release files for slack-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for slack-mcp 0.2.0
File Size Uploaded
slack_mcp-0.2.0.tar.gz 54.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for slack-mcp 0.2.0
File Interpreter ABI Platform
slack_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 127.8 kB

Release files / slack_mcp-0.2.0.tar.gz

Download URL slack_mcp-0.2.0.tar.gz
Size 54.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e08c39919b710511f8165d69997b7e9f09d64c918c87141593e5aadfa577772d
BLAKE2b-256 checksum
How to use checksums
1f971524515454dc60c6c2ee083c28679f2e8e76da3644a2a7817363c4bbabcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / slack_mcp-0.2.0-py3-none-any.whl

Download URL slack_mcp-0.2.0-py3-none-any.whl
Size 73.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c291e437ef4f57dd3505b035572e1f2e1ec3ba20f4d3dc0adbe4dc5e3114d0b
BLAKE2b-256 checksum
How to use checksums
72286d6f64f26cd84d91c84856882b250ed0c8415943dd454c6c1d6894b31c58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page