Slack MCP Server
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
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
- 📖 User Guide - Installation, configuration, and usage
- 🛠️ Developer Guide - Contributing, architecture, and development workflow
- 🏗️ API Reference - Complete CLI and configuration reference
- 🚀 Deployment Guide - Production deployment patterns
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 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:
Container Downloads
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Quick Contribution Steps
- Report Issues - Found a bug? Let us know!
- Request Features - Have ideas? We'd love to hear them!
- Join Discussions - Connect with the community
- 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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| slack_mcp-0.2.0.tar.gz | 54.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|