Skip to main content

🦾 A strong MCP server for Slack.

Project description

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

Project details


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.

Supported by

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