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.
-
Build the Docker image:
git clone https://github.com/atarukun/slack-mcp.git cd slack-mcp docker build -t slack-mcp:latest .
-
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 } } -
Get your Slack bot token from https://api.slack.com/apps
-
Start using Slack tools in Warp!
See CONFIGURATION_GUIDE.md for detailed setup instructions.
- 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
- send_message: Send messages to channels, users, or threads
- Rich text formatting with Slack blocks and attachments
- Thread reply support with
thread_tsparameter - Multi-channel message broadcasting
- 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
- get_user_info: Comprehensive user profile information
- Display names, titles, status messages, and timezone data
- Admin and bot account detection
- Email-based user lookup
- test_slack_connection: Comprehensive connectivity testing
- Workspace information display (name, domain, branding)
- API configuration details and diagnostics
- set_slack_token: Runtime token configuration
- Multi-stage Dockerfile optimized for development and production
- Python 3.12 with full async support
uvpackage manager for fast, reliable dependency management- Non-root user execution for security
- Built-in health checks and monitoring
- 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
Version: 1.4.1 (File operations removed)
Phases Completed: 6 of 13
Tools Available: 29 production-ready MCP tools
Testing: Verified with ILDM workspace
set_slack_token- Configure authenticationtest_slack_connection- Verify connectivity and workspace infosend_message- Send formatted messages to channels/usersget_channel_info- Get detailed channel informationlist_channels- Explore workspace channels with categorizationget_user_info- Retrieve comprehensive user profiles
update_message- Edit/update existing messagesdelete_message- Delete messages from channelspin_message- Pin important messages to channelsunpin_message- Unpin messages from channelsget_message_permalink- Generate shareable message linksschedule_message- Schedule messages for future deliveryget_thread_replies- Retrieve and display thread conversationssend_direct_message- Send private messages to users
create_channel- Create new public or private channelsarchive_channel- Archive channels to preserve historyset_channel_topic- Set or update channel topicsset_channel_purpose- Set channel purposes/descriptionsjoin_channel- Join public channelsleave_channel- Leave channelsinvite_to_channel- Invite users to channelsremove_from_channel- Remove users from channelslist_channel_members- List all members of a channel
get_user_info- Get detailed information about a Slack userlist_workspace_members- List all members in the workspace (with categorization)search_slack_users- Search for users by name, email, or titleget_user_presence- Get a user's current presence status (active/away)get_user_timezone- Get a user's timezone informationget_user_conversations- List all conversations a user is member of
- CONFIGURATION_GUIDE.md - Setup for different MCP clients
- ROADMAP.md - Development phases and future features
- CHANGELOG.md - Version history and changes
- Docker configurations - Multiple deployment examples
- Docker and Docker Compose
- Python 3.12+ (for local development)
- Slack Bot Token from https://api.slack.com/apps
# 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# 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:latestContributions 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 ROADMAP.md for detailed development phases.
MIT License - see LICENSE file for details.
Brennon Church (atarukun@gmail.com)
- Model Context Protocol team for the excellent protocol
- Slack for their comprehensive API and SDK
- FastMCP framework for rapid development
- uv and Docker for excellent development tools
β Star this repository if you find it useful!
π Report issues on GitHub
π‘ Suggest features via GitHub Discussions