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 henry@mcphub.com.
A production-ready Model Context Protocol (MCP) server for comprehensive Slack integration.
set_slack_token
Configure authentication
test_slack_connection
Verify connectivity and workspace info
send_message
Send formatted messages to channels/users
get_channel_info
Get detailed channel information
list_channels
Explore workspace channels with categorization
get_user_info
Retrieve comprehensive user profiles
upload_file
Upload files with metadata and comments
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_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)
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 ()
š 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