Slack MCP Server
Enables AI-powered Slack workspace management with 18+ tools for messaging, channel management, conversation analysis, and real-time bot responses. Features an autonomous AI agent that can plan and execute complex multi-step tasks combining Slack operations with web research.
README
🚀 Slack MCP Server
Transform your Slack workspace into an intelligent AI assistant with real-time responses
A production-ready Slack MCP Server that combines real-time Socket Mode integration with AI-powered tools. Built with FastMCP 2.8.0, this project provides 18+ tools for Claude Desktop and features an autonomous AI assistant that can plan and execute complex tasks.
⭐ What Makes This Special?
🤖 Real-Time Socket Mode Bot - Instant responses to Slack mentions (< 2 seconds)
🧠 Autonomous AI Agent - AI that plans its own execution strategies
🔧 18+ MCP Tools - Complete Slack workspace management via Claude Desktop
🌐 Web Research Integration - Real-time web search with Tavily API
⚡ Production Ready - Docker + AWS ECS deployment included
🛡️ Enterprise Security - AWS Secrets Manager integration
🎥 Demo
@MCP Bot analyze yesterday's #product-meeting and research mentioned technologies
↓ *2 seconds later* ↓
🤖 Analysis Complete! Found discussion about React 18, TypeScript 5.0, and Docker. 📊 Meeting Summary: [Detailed analysis...] 🔍 Technology Research: [Latest developments...] 📝 Action Items: [Extracted tasks...]
## 🚀 Quick Start (5 Minutes)
### 1. Clone & Install
```bash
git clone https://github.com/bahakizil/slack_mcp.git
cd slack_mcp
pip install -r requirements.txt
2. Configure API Keys
Create .env file:
SLACK_BOT_TOKEN=xoxb-your-bot-token # From api.slack.com/apps
SLACK_APP_TOKEN=xapp-your-app-token # For Socket Mode (required!)
OPENAI_API_KEY=sk-your-openai-key # From platform.openai.com
TAVILY_API_KEY=tvly-your-tavily-key # From tavily.com (optional)
3. Start the Server
python main.py
Success Output:
🤖 Starting Slack MCP Server with Real-time Mode
⚡ Socket Mode: Enabled (Real-time auto-responses)
✅ Bot ready for mentions: @MCP Bot
INFO: Uvicorn running on http://0.0.0.0:8003
4. Test in Slack
@MCP Bot hello!
🤖 Hello! I'm your AI assistant. How can I help you today? 😊
🎉 Your AI assistant is now live!
🔧 Complete Feature Set
📱 Slack Management (6 Tools)
| Tool | Description | Example |
|---|---|---|
send_slack_message |
Send messages to channels | send_slack_message("general", "Hello team!") |
get_slack_channels |
List all workspace channels | get_slack_channels() |
get_slack_messages |
Retrieve channel history | get_slack_messages("engineering", limit=50) |
search_slack_messages |
Search across workspace | search_slack_messages("deployment") |
create_slack_channel |
Create new channels | create_slack_channel("new-project") |
analyze_slack_conversation |
AI-powered analysis | analyze_slack_conversation("planning", "summary") |
🤖 AI Intelligence (3 Tools)
| Tool | Description | Use Case |
|---|---|---|
ask_ai |
Ask questions to GPT-4o-mini | Technical explanations, brainstorming |
autonomous_assistant |
🌟 Self-planning AI agent | Complex multi-step tasks |
| Socket Mode Bot | Real-time auto-responses | Instant Slack interaction |
🌐 Web Research (3 Tools)
| Tool | Description | Example |
|---|---|---|
search_web |
General web search | search_web("latest AI developments 2024") |
search_news |
News-specific search | search_news("tech industry", days=7) |
research_topic |
Deep research analysis | research_topic("microservices architecture") |
🔗 MCP Server Management (6 Tools)
| Tool | Description | Purpose |
|---|---|---|
add_mcp_server |
Connect external MCP servers | Extend functionality |
list_mcp_servers |
Show all configured servers | Server management |
connect_mcp_server |
Establish connections | Activate external tools |
disconnect_mcp_server |
Close connections | Resource management |
list_external_tools |
Browse external tools | Tool discovery |
call_external_tool |
Execute external tools | Cross-server operations |
🧠 Autonomous AI Assistant
The autonomous assistant is the crown jewel of this project. It can:
- 📋 Plan its own execution - No pre-programmed workflows
- 🔍 Discover tools dynamically - Adapts to available resources
- 🔄 Self-reflect and optimize - Learns from execution history
- 📊 Synthesize multi-source data - Combines Slack + web + AI knowledge
Example: Complex Task Execution
autonomous_assistant(
request="Analyze all engineering discussions this week, research mentioned technologies, and create a strategic report",
send_to_slack=True
)
What happens behind the scenes:
- 🔍 Discovery: Finds available Slack channels and tools
- 🧠 Planning: AI creates step-by-step execution plan
- ⚡ Execution: Runs multiple tools in sequence
- 🔬 Research: Web searches for mentioned technologies
- 📊 Synthesis: Combines all data into comprehensive report
- 📨 Delivery: Posts results to Slack automatically
🖥️ Claude Desktop Integration
Configuration
Add to claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"slack-ai-assistant": {
"command": "python",
"args": ["/full/path/to/main.py"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-actual-bot-token-here",
"SLACK_APP_TOKEN": "xapp-your-actual-app-token-here",
"OPENAI_API_KEY": "sk-your-actual-openai-api-key-here",
"TAVILY_API_KEY": "tvly-your-actual-tavily-api-key-here"
}
}
}
}
Usage Examples in Claude Desktop
Meeting Analysis:
Analyze yesterday's #product-meeting channel and summarize key decisions, action items, and sentiment.
Tech Research + Slack Update:
Research current best practices for microservices deployment and share findings in #engineering channel.
Multi-Channel Intelligence:
Compare discussions across #design, #engineering, and #marketing channels this week. Identify common themes and potential collaboration opportunities.
🏗️ Architecture
┌─────────────────────────────────────────────────────────────┐
│ AUTONOMOUS AI SYSTEM │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ SLACK MCP │ │ TAVILY MCP │ │
│ │ SERVER │ │ SERVER │ │
│ │ Port: 8001 │ │ Port: 8002 │ │
│ │ │ │ │ │
│ │ • Slack Tools │ │ • Web Search │ │
│ │ • AI Tools │ │ • News Search │ │
│ │ • Orchestration │ │ • Research │ │
│ └─────────────────┘ └─────────────────┘ │
│ │ │ │
│ └───────────┐ ┌───────┘ │
│ │ │ │
│ ┌─────────────────┐ │
│ │ AUTONOMOUS │ │
│ │ AGENT │ │
│ │ │ │
│ │ • Tool Discovery│ │
│ │ • Plan Creation │ │
│ │ • Execution │ │
│ │ • Synthesis │ │
│ └─────────────────┘ │
│ │ │
│ ┌─────────────────┐ │
│ │ OPENAI GPT │ │
│ │ (gpt-4.1-nano) │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
## ☁️ Production Deployment
### 🐳 Docker Deployment
```bash
# Build and run locally
docker build -t slack-mcp-server .
docker run -p 8003:8003 --env-file .env slack-mcp-server
🚀 AWS ECS Deployment (Production)
# Automated deployment
./deploy.sh
Includes:
- ✅ Auto-scaling based on traffic
- ✅ Health checks and monitoring
- ✅ AWS Secrets Manager for secure credential management
- ✅ Application Load Balancer for high availability
- ✅ CloudWatch logging for debugging
📊 Production Features
- Zero downtime deployments
- Horizontal scaling (multiple instances)
- SSL/TLS termination
- Custom domain support
- Monitoring & alerting
🛡️ Security Best Practices
🔐 Credential Management
- Environment variables for local development
- AWS Secrets Manager for production
- No hardcoded secrets in code
- Git ignore for sensitive files
🛠️ Error Handling
- Graceful degradation when services are down
- Retry logic for transient failures
- User-friendly error messages
- Comprehensive logging
📈 Performance
- Socket Mode eliminates polling overhead
- Async processing for non-blocking operations
- Connection pooling for API efficiency
- Response time < 2 seconds
🎯 Real-World Use Cases
👥 For Teams
- Daily standups: "Summarize yesterday's progress across all channels"
- Sprint planning: "Analyze #product-backlog and prioritize by urgency"
- Knowledge sharing: "Research best practices for the technologies we discussed"
🏢 For Managers
- Team sentiment: "Analyze team mood and engagement this week"
- Progress tracking: "Extract action items from all project channels"
- Strategic insights: "Compare our technical discussions with industry trends"
🔬 For Developers
- Tech research: "Find the latest updates on frameworks we're using"
- Code review insights: "Analyze #code-review discussions for common issues"
- Learning automation: "Create weekly tech digest from our discussions"
📚 Documentation
- 📖 Quick Start Guide - 5-minute setup
- 🏗️ Complete Technical Guide - In-depth architecture
- 🚀 Deployment Guide - Production deployment
- ✅ Project Status - Current implementation status
🔧 Requirements
Slack App Setup
Required Bot Token Scopes:
channels:read, channels:history, chat:write, groups:read,
groups:history, users:read, search:read, channels:manage
API Keys
- Slack Bot Token (
xoxb-...) - Required - Slack App Token (
xapp-...) - Required for Socket Mode - OpenAI API Key (
sk-...) - Required for AI features - Tavily API Key (
tvly-...) - Optional for web search
System Requirements
- Python 3.11+
- 4GB RAM (minimum)
- Network access to Slack, OpenAI, and Tavily APIs
🔍 Troubleshooting
Common Issues
1. Socket Mode not working
# Check App Token configuration
echo $SLACK_APP_TOKEN # Should start with xapp-
# Verify Socket Mode is enabled in Slack app settings
# Go to api.slack.com/apps → Your App → Socket Mode → Enable
2. Bot not responding
# Check bot token
echo $SLACK_BOT_TOKEN # Should start with xoxb-
# Verify terminal shows:
# ✅ Socket Mode: Enabled (Real-time auto-responses)
3. Claude Desktop not loading
# Check config file path and restart Claude Desktop
# Verify Python is in PATH: python --version
Debug Mode
# Enable detailed logging
export DEBUG=true
export LOG_LEVEL=DEBUG
python main.py
🤝 Contributing
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
🎯 Areas for Contribution
- 🔧 New MCP tools - Extend functionality
- 🌐 Language support - Add more languages
- 📊 Analytics features - Advanced reporting
- 🔌 Integration templates - More external services
- 📚 Documentation - Examples and tutorials
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙋 Support & Community
- 💬 Issues: GitHub Issues
- 📖 Documentation: Check the
docs/folder - 🐛 Bug Reports: Use issue templates
- 💡 Feature Requests: Community-driven roadmap
🌟 Acknowledgments
- FastMCP - Amazing MCP framework
- Slack SDK - Robust Slack integration
- OpenAI - Powerful AI capabilities
- Tavily - Excellent web search API
🚀 Ready to Get Started?
- ⭐ Star this repository if you find it useful
- 🍴 Fork it to start customizing
- 📥 Clone it and follow the 5-minute setup
- 🤖 Mention your bot in Slack and watch the magic happen!
Built with ❤️ by Baha Kızıl
Transform your Slack workspace into an AI-powered productivity hub today! 🚀
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。