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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slack_mcp-0.2.0.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slack_mcp-0.2.0-py3-none-any.whl (73.4 kB view details)

Uploaded Python 3

File details

Details for the file slack_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: slack_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for slack_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e08c39919b710511f8165d69997b7e9f09d64c918c87141593e5aadfa577772d
MD5 b368e542a6600314010ebb8d0a682ad5
BLAKE2b-256 1f971524515454dc60c6c2ee083c28679f2e8e76da3644a2a7817363c4bbabcb

See more details on using hashes here.

File details

Details for the file slack_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: slack_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 73.4 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for slack_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2c291e437ef4f57dd3505b035572e1f2e1ec3ba20f4d3dc0adbe4dc5e3114d0b
MD5 43d7009c3834dfee3691b3ae16c2396e
BLAKE2b-256 72286d6f64f26cd84d91c84856882b250ed0c8415943dd454c6c1d6894b31c58

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page