Slack MCP
Read and respond to Slack from Claude. Provides tools for summarizing activity, listing channels, reading messages, searching, sending messages, replying to threads, and adding reactions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Slack MCPwhat's happening in my Slack?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Slack MCP
Read and respond to Slack from Claude. Works as an MCP server (for Claude Desktop/Claude Code) and as a standalone CLI (for GitHub Actions).
Features
Multi-workspace support - Configure multiple Slack workspaces
Read tools - Summarize activity, list channels, read messages, search
Write tools - Send messages, reply to threads, add reactions
Standalone CLI - Generate markdown summaries for GitHub Actions
Related MCP server: Slack Note Capture MCP Server
Installation
1. Create Slack App(s)
For each workspace you want to connect:
Go to https://api.slack.com/apps → Create New App → From manifest
Select your workspace
Paste this manifest:
display_information:
name: Claude Slack Reader
description: Read and respond to Slack from Claude
oauth_config:
scopes:
user:
# Read
- channels:history
- channels:read
- groups:history
- groups:read
- im:history
- im:read
- mpim:history
- mpim:read
- users:read
- search:read # slack_search
# Write
- chat:write # send messages to channels + DMs
- reactions:write # add emoji reactions
- files:write # upload files / images
- im:write # open a NEW DM with someone you've never messaged (existing DMs work without this)
settings:
org_deploy_enabled: false
socket_mode_enabled: false
token_rotation_enabled: falseClick Install to Workspace → Allow
Copy the User OAuth Token (starts with
xoxp-)
Note: Slack requires a separate app per workspace (public distribution requires Slack approval).
2. Configure Tokens
Create ~/.mcp-auth/slack/config.json:
{
"workspaces": {
"work": {
"name": "Work Slack",
"token": "xoxp-your-token-here",
"priority": 1
},
"research": {
"name": "Research Group",
"token": "xoxp-your-token-here",
"priority": 2
}
},
"default_workspace": "work"
}Or use environment variables:
export SLACK_USER_TOKEN=xoxp-... # Single workspace
export SLACK_TOKEN_WORK=xoxp-... # Multiple workspaces
export SLACK_TOKEN_RESEARCH=xoxp-...3. Install Dependencies
cd ~/src/slack-mcp
pip install -r requirements.txt4. Add to Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"slack": {
"command": "python3",
"args": ["/path/to/slack-mcp/server.py"]
}
}
}Restart Claude Desktop.
Project Structure
slack-mcp/
├── src/
│ ├── config.py # Multi-workspace configuration
│ ├── slack_client.py # Slack API wrapper (read + write)
│ ├── summarizer.py # Message categorization
│ └── mcp_server.py # MCP server with tools
├── server.py # Entry point for MCP server
├── slack_summary.py # Standalone CLI
├── requirements.txt
├── pyproject.toml
└── .github/
└── workflows/
└── daily-summary.ymlMCP Tools
Read Tools
Tool | Description |
| Overview of DMs, mentions, channel activity. Use |
| List all channels (filter by type: |
| Read messages from a specific channel |
| Read messages in a thread |
| Search messages |
| Get unread message counts |
| List configured workspaces |
Write Tools
Tool | Description |
| Send message to channel or DM |
| Reply in a thread |
| Add emoji reaction |
Example Usage in Claude
"What's happening in my Slack?"
→ Uses slack_summary with quick mode
"Show me the #engineering channel"
→ Uses slack_channel
"Reply to that thread saying I'll review it tomorrow"
→ Uses slack_reply
"Add a thumbsup to that message"
→ Uses slack_reactStandalone CLI
Generate markdown summaries without Claude:
# Print summary to stdout
python slack_summary.py
# Save to file
python slack_summary.py --output slack-summary.md
# Look back 48 hours
python slack_summary.py --hours 48
# Specific workspace
python slack_summary.py --workspace work
# Action items only
python slack_summary.py --action-items-onlyGitHub Actions Workflow
The included workflow runs daily and commits a summary:
# .github/workflows/daily-summary.yml
name: Daily Slack Summary
on:
schedule:
- cron: '0 12 * * *' # 7 AM EST
workflow_dispatch:
jobs:
summarize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install -r requirements.txt
- env:
SLACK_USER_TOKEN: ${{ secrets.SLACK_USER_TOKEN }}
run: python slack_summary.py --output slack-summary.md
- run: |
git config user.email "github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
git add slack-summary.md
git diff --quiet --staged || git commit -m "Daily Slack summary [skip ci]"
git pushAdd your token as a repository secret: Settings → Secrets → Actions → New repository secret → SLACK_USER_TOKEN
Configuration Sync
To sync config across machines, symlink to a cloud folder:
mkdir -p ~/.mcp-auth/slack
ln -sf ~/Dropbox/mcp-auth/slack/config.json ~/.mcp-auth/slack/config.json
# or Box, iCloud, etc.Performance
Quick mode (default): ~4 seconds - scans recent DMs and channels
Full mode: ~20 seconds - detailed scan of all activity
Cached calls: ~1.5 seconds - conversation list cached for 5 minutes
Requirements
Python 3.10+
slack-sdk- Slack API clientmcp- Model Context Protocol server
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/feamster/slack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server