Best for
- Developers blocked by OAuth app registration or admin approval
- Users across Claude Code, Cursor, Copilot, Windsurf, Gemini CLI, and Codex CLI
- Self-hosters who want tokens and data kept local
An honest, well-documented unofficial Slack MCP server that sidesteps OAuth approval via browser session tokens, with 21 tools spanning read, write, and workflows. Security practices (chmod 600, Keychain storage, npm provenance signing) are solid. Main caveats: terms-of-service gray area and the 1–2 week token rotation.
Slack MCP Server is an open-source (MIT) MCP server that lets AI agents read and act on your Slack workspace directly. Instead of Slack's official OAuth app-registration flow, it reuses the xoxc- token and xoxd- cookie your browser already holds to call Slack's own API — no app to register, no scope review, no admin approval, and nothing appears in the workspace admin panel. It exposes 21 tools: 12 read-only tools (unreads, history, threads, search, users), 4 write-path tools annotated as destructive (send message, reactions, mark read), 2 local workflow-profile tools, and 3 hosted AI-summary stubs. Runs via npx (Node.js 20+), Docker, or self-hosted HTTP; an optional hosted tier (mcp.revasserlabs.com) adds permanent OAuth and AI summarization. Token storage has a four-layer fallback (env vars, file with chmod 600, macOS Keychain, Chrome auto-extraction) with expiry detection and auto-refresh. Note: automating your own session is a gray area under Slack's terms — check your workspace's acceptable-use policy first.
Requires Node.js 20+. Run npx -y @jtalk22/slack-mcp --setup to extract and validate tokens; register in your client config (e.g. Claude Desktop's claude_desktop_config. with {"mcpServers":{"slack":{"command":"npx","args":["-y","@jtalk22/slack-mcp"]}}}), restart the client, then call slack_health_check to verify. On macOS, tokens auto-extract from Chrome; elsewhere pass SLACK_TOKEN (xoxc-) and SLACK_COOKIE (xoxd-) via env. A Docker image (ghcr.io/jtalk22/slack-mcp-server) is also available.
{"mcpServers":{"slack":{"command":"npx","args":["-y","@jtalk22/slack-mcp"]}}}