Skip to main content
Glama

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:

  1. Go to https://api.slack.com/appsCreate New AppFrom manifest

  2. Select your workspace

  3. 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: false
  1. Click Install to Workspace → Allow

  2. 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.txt

4. 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.yml

MCP Tools

Read Tools

Tool

Description

slack_summary

Overview of DMs, mentions, channel activity. Use mode: "quick" (default) or mode: "full"

slack_channels

List all channels (filter by type: all, channels, dms, groups)

slack_channel

Read messages from a specific channel

slack_thread

Read messages in a thread

slack_search

Search messages

slack_unread

Get unread message counts

slack_workspaces

List configured workspaces

Write Tools

Tool

Description

slack_send

Send message to channel or DM

slack_reply

Reply in a thread

slack_react

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_react

Standalone 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-only

GitHub 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 push

Add your token as a repository secret: Settings → Secrets → Actions → New repository secretSLACK_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 client

  • mcp - Model Context Protocol server

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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