Slack MCP Server

Access Slack DMs, channels, and messages from Claude. Browser token auth - no OAuth needed.

Slack MCP Server

npm version npm downloads MCP Registry License: MIT

Give Claude your Slack. 16 self-hosted tools for channels, search, replies, reactions, unread triage, and user search. Self-host free or use Slack MCP Cloud for Claude-first managed transport, Gemini CLI support, hosted credential handling, deployment review, procurement-ready security review, and a company-led path for teams that need rollout and continuity beyond Slack’s official/self-host MCP options.

Verify & Proof

npx -y @jtalk22/slack-mcp --setup
npx -y @jtalk22/slack-mcp@latest --version
npx -y @jtalk22/slack-mcp@latest --doctor
npx -y @jtalk22/slack-mcp@latest --status

20-second demo · Interactive demo · Start here discussion · Latest release notes · Release-day runbook · Commercial surface map · Demand & visibility ops · Distribution ledger · Release health snapshot · Version parity report · Cloud pricing · Start Solo · Start Team · Workflows · Official vs Managed · Gemini CLI · Readiness · Marketplace readiness · Cloud deployment · Cloud security · Cloud support

Slack MCP proof surface

Tools

ToolDescriptionSafety
slack_health_checkVerify token validity and workspace inforead-only
slack_token_statusToken age, health, and cache statsread-only
slack_refresh_tokensAuto-extract fresh tokens from Chromeread-only*
slack_list_conversationsList DMs and channelsread-only
slack_conversations_historyGet messages from a channel or DMread-only
slack_get_full_conversationExport full history with threadsread-only
slack_search_messagesSearch across workspaceread-only
slack_get_threadGet thread repliesread-only
slack_users_infoGet user detailsread-only
slack_list_usersList workspace users (paginated, 500+)read-only
slack_users_searchSearch users by name, display name, or emailread-only
slack_conversations_unreadsGet channels/DMs with unread messagesread-only
slack_send_messageSend a message to any conversationdestructive
slack_add_reactionAdd an emoji reaction to a messagedestructive
slack_remove_reactionRemove an emoji reaction from a messagedestructive
slack_conversations_markMark a conversation as readdestructive

All tools carry MCP safety annotations: 12 read-only (readOnlyHint: true), 4 write-path (destructiveHint: true). Only slack_send_message is non-idempotent.

* slack_refresh_tokens modifies local token file only — no external Slack state.

Cloud

Slack MCP Cloud provides 15 managed tools with hosted credential handling. Team adds 3 AI compound workflows for summaries, action items, and decisions. Claude is the primary path; Gemini CLI is the second supported client path on the hosted endpoint.

  • Self-host if you want 16 tools, npm or Docker, and full operator control over runtime and tokens.
  • Use Cloud if you want one remote endpoint, hosted credential handling, deployment review, buyer-facing security review, support, and a hosted account surface.
  • Slack now has an official MCP path. Use Official vs Managed when the decision is about transport ownership versus managed rollout, workflow packaging, and continuity.
  • Solo starts at $19/mo; Team is $49/mo and adds 3 AI workflows plus higher request capacity.
  • Turnkey Team Launch starts at $2.5k+; Managed Reliability starts at $800/mo+ for teams where rollout and operational continuity matter more than raw seat count.
PlanPriceIncludes
Solo$19/mo15 standard tools, AES-256-GCM encrypted storage, 5K requests/mo
Team$49/mo15 standard + 3 AI compound tools, 3 workspaces, 25K requests/mo
Turnkey Team Launch$2.5k+Deployment review, rollout sequencing, client setup guidance, first-production-use path
Managed Reliability$800/mo+Ongoing operating review, token-health follow-up, workflow continuity support

Pricing · Start Solo · Start Team · Workflows · Official vs Managed · Gemini CLI · Readiness · Cloud Docs · Security & Procurement · Procurement Brief · Marketplace readiness · Account · Deployment Review · Cloud Support · Privacy Policy

For rollout help or managed deployment review, use Cloud deployment review. For buyer-facing controls, storage, analytics, and procurement questions, use Cloud security and the procurement brief. For direct self-serve purchase with first-party attribution, use Start Solo or Start Team. If the team is comparing Slack’s official path against a managed rollout path, use Official vs Managed and Marketplace readiness. Reproducible self-host bugs stay in standard issues; hosted operational questions belong on Cloud support.

Operated by Revasser. Self-host support is best-effort; managed rollout and Cloud support stay on mcp.revasserlabs.com.

Install & Verify (Self-Hosted)

Runtime: Node.js 20+

npx -y @jtalk22/slack-mcp --setup
npx -y @jtalk22/slack-mcp@latest --version
npx -y @jtalk22/slack-mcp@latest --doctor
npx -y @jtalk22/slack-mcp@latest --status

The setup wizard handles token extraction and validation automatically.

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@jtalk22/slack-mcp"]
    }
  }
}

Edit %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@jtalk22/slack-mcp"],
      "env": {
        "SLACK_TOKEN": "xoxc-your-token",
        "SLACK_COOKIE": "xoxd-your-cookie"
      }
    }
  }
}

Windows/Linux users must provide tokens via env since auto-refresh is macOS-only.

Add to ~/.claude.json:

{
  "mcpServers": {
    "slack": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@jtalk22/slack-mcp"]
    }
  }
}
docker pull ghcr.io/jtalk22/slack-mcp-server:latest
{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
               "-v", "~/.slack-mcp-tokens.json:/root/.slack-mcp-tokens.json",
               "ghcr.io/jtalk22/slack-mcp-server"]
    }
  }
}

Restart Claude after configuration. Full setup guide: docs/SETUP.md

Hosted HTTP Mode

For remote MCP endpoints (Cloudflare Worker, VPS, etc.):

SLACK_TOKEN=xoxc-... \
SLACK_COOKIE=xoxd-... \
SLACK_MCP_HTTP_AUTH_TOKEN=change-this \
SLACK_MCP_HTTP_ALLOWED_ORIGINS=https://claude.ai \
node src/server-http.js

Details: docs/DEPLOYMENT-MODES.md

Troubleshooting

Tokens expired: Run npx -y @jtalk22/slack-mcp --setup or use slack_refresh_tokens in Claude (macOS).

DMs not showing: Use slack_list_conversations with discover_dms=true to force discovery.

Claude not seeing tools: Verify JSON syntax in config, check logs at ~/Library/Logs/Claude/mcp*.log, fully restart Claude (Cmd+Q).

More: docs/TROUBLESHOOTING.md

Docs

Security

  • Token files stored with chmod 600 (owner-only)
  • macOS Keychain provides encrypted backup
  • Web server binds to localhost only
  • API keys are cryptographically random (crypto.randomBytes)
  • See SECURITY.md for vulnerability reporting

Contributing

PRs welcome. Run node --check on modified files before submitting.

License

MIT — See LICENSE

Disclaimer

This project accesses Slack's Web API using browser session credentials. It is not affiliated with or endorsed by Slack Technologies, Inc. Slack workspace administrators should review their acceptable use policies.

Related Servers