atarukun/slack-mcp
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 dayong@mcphub.com.
A production-ready Model Context Protocol (MCP) server for comprehensive Slack integration.
Slack MCP Server
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
-
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!
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_tsparameter - 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
uvpackage 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)
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
Extended Messaging Tools (Phase 4)
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
Channel Management Tools (Phase 5)
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
User Management Tools (Phase 6)
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
📖 Documentation
- - Setup for different MCP clients
- - Development phases and future features
- - Version history and changes
- Docker configurations - Multiple deployment examples
🛠️ Development
Prerequisites
- Docker and Docker Compose
- Python 3.12+ (for local development)
- Slack Bot Token from https://api.slack.com/apps
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 (atarukun@gmail.com)
🙏 Acknowledgments
- 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