Read and write Slack with session tokens β no OAuth, no bot, no admin approval.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Slack.
inboxWhat needs you: `view='new'` (since your last dismiss), `'unreads'`, `'mentions'
messagesConversation content: `target=` reads in full, `+around=` context, `+since=` time window, `query=` full Slack search syntax
estateWorkspace shape and relationships: `view='about'\
batchRun a held plan of reads in one call: `commands=[{tool, params}...]`; playbooks via `save=`/`run=`/`list=`/`delete=
sayContribute content (Slack-visible): a message, or an emoji reaction
dismissMark inbox items handled β private watermark, invisible to Slack
MCP server that gives AI agents access to your Slack workspaces using session tokens. No OAuth apps, no bot permissions, no admin approval required.
Beyond reading and writing messages, it accumulates a durable picture of the workspace β every channel and user's state over time, departures kept as dated tombstones β and synthesizes a relationship graph from it on demand: estate view='about' person='X' answers "tell me about X" with their footprint, circle, and a ranked reading plan. The graph is never stored; it is computed per query from two small local ledgers that hold no message content (design note).
Slack MCP uses your existing browser session tokens (xoxc/xoxd) to interact with Slack on your behalf. It reads stealthily by default β only the mark-read tool triggers read receipts. Everything else is invisible to other users.
Token extraction is built into the binary. If you're logged into Slack in Chrome or Firefox, the setup flow can extract tokens automatically β no copy-pasting from DevTools.
You need an active Slack session in your browser. Log into your workspace at app.slack.com in Chrome, Chromium, Edge, or Firefox before running setup.
Then ask Claude to run the auth tool. It will guide you through browser selection, profile selection, and automatic token extraction.
Download the .mcpb file for your platform from the latest release:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | slack-mcp-darwin-arm64.mcpb |
| macOS (Intel) | slack-mcp-darwin-x64.mcpb |
| Linux (x64) | slack-mcp-linux-x64.mcpb |
| Linux (ARM) | slack-mcp-linux-arm64.mcpb |
| Windows (x64) | slack-mcp-windows-x64.mcpb |
Open the file (double-click or drag into Claude Desktop). When prompted for tokens, you can either:
auth tool after connectingDownload the binary for your platform from releases, then:
There are three ways to get your Slack tokens, from easiest to most manual:
The auth MCP tool or slack-mcp setup CLI command will:
Requires Chrome to be fully closed before extraction β your tabs will restore when you reopen it.
The setup flow writes a temporary browser extension to a temp directory, then guides you to load it in Firefox via about:debugging. The extension extracts tokens and sends them to the local callback server. It's removed automatically when Firefox closes.
Run slack-mcp setup or use the auth tool β if no browser is detected or automatic extraction fails, it falls back to a localhost web page with step-by-step DevTools instructions.
You can also set tokens directly via environment variables:
| Tool | Kind | What it does |
|---|---|---|
inbox | noun | What needs you: view='new' (since your last dismiss), 'unreads', 'mentions' |
messages | noun | Conversation content: target= reads in full, +around= context, +since= time window, query= full Slack search syntax |
estate | noun | Workspace shape and relationships: view='about'|'families'|'person'|'initiatives'|'convergence'|'people'|'channels' |
batch | executor | Run a held plan of reads in one call: commands=[{tool, params}...]; playbooks via save=/run=/list=/delete= |
say | verb | Contribute content (Slack-visible): a message, or an emoji reaction |
dismiss | verb | Mark inbox items handled β private watermark, invisible to Slack |
mark-read | verb | Fire read receipts β the one visibly-public read signal |
auth | verb | Interactive token setup (localhost only) |
download | verb | Download a shared file |
Verb encodes effect, noun encodes domain, parameter encodes scope (ADR-009); the batch executor encodes composition, never effect, and admits only the read nouns (ADR-010). Every noun echoes its effective parameters and pages every capped list.
mark-read does~/.config/slack-mcp/config.json with 0600 permissions{user, conversation, day} encounters with a 90-day window; both live under XDG with 0600, and deleting them deletes the graphslack.com/api/*MIT
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/slack)<a href="https://allmcps.com/mcp/slack"><img src="https://allmcps.com/api/badge/slack?style=directory" alt="Slack on AllMCPs" /></a>