slack-mcp

atarukun/slack-mcp

3.3

If you are the rightful owner of slack-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A production-ready Model Context Protocol (MCP) server for comprehensive Slack integration.

Tools
  1. set_slack_token

    Configure authentication

  2. test_slack_connection

    Verify connectivity and workspace info

  3. send_message

    Send formatted messages to channels/users

  4. get_channel_info

    Get detailed channel information

  5. list_channels

    Explore workspace channels with categorization

  6. get_user_info

    Retrieve comprehensive user profiles

  7. upload_file

    Upload files with metadata and comments

Slack MCP Server

License: MIT Docker MCP Python 3.12+

A production-ready Model Context Protocol (MCP) server for comprehensive Slack integration. Enable AI assistants to interact seamlessly with Slack workspaces through standardized, secure tools.

šŸš€ Quick Start

For Warp.dev Users

  1. Build the Docker image:

    git clone https://github.com/atarukun/slack-mcp.git
    cd slack-mcp
    docker build -t slack-mcp:latest .
    
  2. Configure in Warp:

    {
      "slack-mcp": {
        "command": "docker",
        "args": [
          "run", "--rm", "-i",
          "-e", "SLACK_BOT_TOKEN=xoxb-your-actual-slack-bot-token",
          "slack-mcp:latest"
        ],
        "env": {},
        "working_directory": null,
        "start_on_launch": true
      }
    }
    
  3. Get your Slack bot token from https://api.slack.com/apps

  4. Start using Slack tools in Warp!

For Claude Desktop Users

See for detailed setup instructions.

✨ Features

šŸ” Authentication & Security

  • Secure bot token handling via environment variables
  • Automatic token validation and format checking
  • Rate limiting compliance (1-second minimum intervals)
  • Support for Bot (xoxb-) and User (xoxp-) tokens

šŸ’¬ Messaging Tools

  • send_message: Send messages to channels, users, or threads
  • Rich text formatting with Slack blocks and attachments
  • Thread reply support with thread_ts parameter
  • Multi-channel message broadcasting

šŸ¢ Workspace Discovery

  • list_channels: Categorized channel listing with beautiful formatting
  • get_channel_info: Detailed channel information and statistics
  • Support for public, private, and archived channels
  • Member counts and channel metadata

šŸ‘„ User Management

  • get_user_info: Comprehensive user profile information
  • Display names, titles, status messages, and timezone data
  • Admin and bot account detection
  • Email-based user lookup

šŸ”Œ Connection & Testing

  • test_slack_connection: Comprehensive connectivity testing
  • Workspace information display (name, domain, branding)
  • API configuration details and diagnostics
  • set_slack_token: Runtime token configuration

šŸ—ļø Architecture

Docker-First Design

  • Multi-stage Dockerfile optimized for development and production
  • Python 3.12 with full async support
  • uv package manager for fast, reliable dependency management
  • Non-root user execution for security
  • Built-in health checks and monitoring

MCP Protocol Implementation

  • FastMCP Framework for automatic tool registration
  • STDIO Transport for maximum client compatibility
  • Async Operations with proper error handling
  • Type Safety with full Pydantic validation
  • Rate Limiting built into all API operations

šŸ“Š Current Status

Version: 1.4.1 (File operations removed)
Phases Completed: 6 of 13
Tools Available: 29 production-ready MCP tools Testing: Verified with ILDM workspace

Available Tools

Core Tools (Phases 1-3)
  1. set_slack_token - Configure authentication
  2. test_slack_connection - Verify connectivity and workspace info
  3. send_message - Send formatted messages to channels/users
  4. get_channel_info - Get detailed channel information
  5. list_channels - Explore workspace channels with categorization
  6. get_user_info - Retrieve comprehensive user profiles
Extended Messaging Tools (Phase 4)
  1. update_message - Edit/update existing messages
  2. delete_message - Delete messages from channels
  3. pin_message - Pin important messages to channels
  4. unpin_message - Unpin messages from channels
  5. get_message_permalink - Generate shareable message links
  6. schedule_message - Schedule messages for future delivery
  7. get_thread_replies - Retrieve and display thread conversations
  8. send_direct_message - Send private messages to users
Channel Management Tools (Phase 5)
  1. create_channel - Create new public or private channels
  2. archive_channel - Archive channels to preserve history
  3. set_channel_topic - Set or update channel topics
  4. set_channel_purpose - Set channel purposes/descriptions
  5. join_channel - Join public channels
  6. leave_channel - Leave channels
  7. invite_to_channel - Invite users to channels
  8. remove_from_channel - Remove users from channels
  9. list_channel_members - List all members of a channel
User Management Tools (Phase 6)
  1. get_user_info - Get detailed information about a Slack user
  2. list_workspace_members - List all members in the workspace (with categorization)
  3. search_slack_users - Search for users by name, email, or title
  4. get_user_presence - Get a user's current presence status (active/away)
  5. get_user_timezone - Get a user's timezone information
  6. get_user_conversations - List all conversations a user is member of

šŸ“– Documentation

  • - Setup for different MCP clients
  • - Development phases and future features
  • - Version history and changes
  • Docker configurations - Multiple deployment examples

šŸ› ļø Development

Prerequisites

Local Development

# Clone and setup
git clone https://github.com/atarukun/slack-mcp.git
cd slack-mcp

# Build development container
docker build --target development -t slack-mcp-dev .

# Run with development setup
docker-compose up --build

# Run tests
source .venv/bin/activate
python test_tools.py

Production Deployment

# Build production image
docker build --target production -t slack-mcp:latest .

# Run production container
docker run --rm -i \
  -e SLACK_BOT_TOKEN=xoxb-your-token \
  slack-mcp:latest

šŸ¤ Contributing

Contributions are welcome! This project follows a structured development roadmap:

  • Phases 1-3: āœ… Core implementation (COMPLETED)
  • Phases 4-5: āœ… Extended messaging, channel management (COMPLETED)
  • Phase 6: User Management with basic tools (Completely moved more advanced user management to Phase 10)
  • Phases 7-9: Search, interactive elements, and other advanced features
  • Phases 10-13: Analytics, workflows, production features

See for detailed development phases.

šŸ“„ License

MIT License - see file for details.

šŸ‘Øā€šŸ’» Author

Brennon Church ()

šŸ™ Acknowledgments


⭐ Star this repository if you find it useful!
šŸ› Report issues on GitHub
šŸ’” Suggest features via GitHub Discussions