Skip to main content
Glama
bahakizil

Slack MCP Server

by bahakizil

πŸš€ Slack MCP Server

Transform your Slack workspace into an intelligent AI assistant with real-time responses

GitHub stars GitHub license Python 3.11+ FastMCP

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

claude_text

slackchat

@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:

  1. πŸ” Discovery: Finds available Slack channels and tools

  2. 🧠 Planning: AI creates step-by-step execution plan

  3. ⚑ Execution: Runs multiple tools in sequence

  4. πŸ”¬ Research: Web searches for mentioned technologies

  5. πŸ“Š Synthesis: Combines all data into comprehensive report

  6. πŸ“¨ 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

diagram

πŸš€ 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

πŸ”§ 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:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. 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


πŸš€ Ready to Get Started?

  1. ⭐ Star this repository if you find it useful

  2. 🍴 Fork it to start customizing

  3. πŸ“₯ Clone it and follow the 5-minute setup

  4. πŸ€– Mention your bot in Slack and watch the magic happen!

Built with ❀️ by

Transform your Slack workspace into an AI-powered productivity hub today! πŸš€

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bahakizil/slack_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server