Slack logo

Slack

Reads and writes Slack through browser session tokens, with search, messaging, workspace analysis, file exchange, and scheduled posts.

Install Slack

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@aaronsb/slack-mcp"
      ],
      "env": {
        "SLACK_MCP_XOXC_TOKEN": "YOUR_VALUE_HERE",
        "SLACK_MCP_XOXD_TOKEN": "YOUR_VALUE_HERE",
        "SLACK_MCP_PERSONALITY": "YOUR_VALUE_HERE",
        "SLACK_MCP_NO_BROWSER": "YOUR_VALUE_HERE",
        "SLACK_MCP_DEPLOYMENT": "YOUR_VALUE_HERE",
        "SLACK_MCP_IDLE_TIMEOUT": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y @aaronsb/slack-mcp

Process exited before answering initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 10d ago.

Overview

The Slack MCP server lets agents read and write Slack through existing browser session tokens instead of OAuth apps or bot permissions. It provides tools for inboxes, message search, workspace relationships, posting, reactions, files, scheduled messages, and read-state management. Use it when an agent needs to work with Slack as the authenticated user and you can provide an active Chrome, Chromium, Edge, or Firefox session. Local stdio is the default, with SSE available for remote or shared access.

Use cases

  • Search conversations by channel, person, date, thread, or Slack query syntax
  • Review mentions and unread items without sending read receipts
  • Send threaded replies, reactions, attachments, and scheduled messages
  • Map workspace people, channels, initiatives, and relationships
  • Download shared files and prepare new attachments for Slack messages

Key features

  • Browser session-token authentication
  • Slack message search and conversation context
  • Workspace relationship and graph views
  • Message, reaction, file, and scheduling actions
  • Batch reads and saved playbooks
  • Private inbox dismissal and controlled read receipts

Tools11

What Slack lets your agent do. Expand a tool for its parameters.

Self-reported~439 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/7 checks healthy over the last 56d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · @aaronsb/slack-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads846Package downloads in the last 30 days.
Last commit13d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed11Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Slack works

What Slack MCP server does

The Slack MCP server connects an MCP client to Slack using the authenticated user's existing browser session. It can inspect inbox items, unread messages, mentions, conversations, threads, scheduled messages, channels, people, and workspace relationships. It can also send messages, reply in threads, broadcast a reply to the channel, add emoji reactions, upload files, schedule messages, and download shared files.

Workspace analysis is available through the estate tool. Its views describe workspace structure and relationships, including people, channels, families, initiatives, and convergence. The server builds relationship information when requested from local ledgers that do not contain message content. Selected views can be rendered as a static HTML graph for local viewing.

How it works

Authentication uses Slack's xoxc and xoxd browser session tokens. The interactive auth tool and the slack-mcp setup command can detect supported browsers, select a profile, extract tokens, validate them, and save them. Chrome must be fully closed during automatic extraction. Firefox uses a temporary extension-assisted flow; a localhost page provides manual DevTools instructions if automatic extraction is unavailable.

Reads are normally invisible to other Slack users. Only mark-read creates a visible read receipt. dismiss stores a private watermark for inbox handling and does not alter Slack. Outgoing messages, files, reactions, and scheduled posts are visible Slack actions and are checked and gated before sending.

Setup and configuration

For Claude Code, add the server with claude mcp add slack-mcp -- npx -y @aaronsb/slack-mcp. Claude Desktop can use a platform-specific .mcpb release file. A standalone binary can run over stdio, or with --transport sse for SSE. npm installation is also available through npm install -g @aaronsb/slack-mcp.

The required token variables are SLACK_MCP_XOXC_TOKEN and SLACK_MCP_XOXD_TOKEN. They can be supplied directly in the MCP client's environment, or obtained through setup. A working directory .env may set only the documented personality and browser-related settings; other undeclared keys cause startup to stop. Remote SSH deployment is experimental and requires explicit deployment configuration.

Tools and capabilities

The Slack MCP server exposes these main operations:

  • inbox reads new items, unreads, or mentions.
  • messages reads conversations, context windows, threads, search results, and scheduled messages.
  • estate examines workspace structure and relationship views.
  • batch executes a held set of read commands and manages saved playbooks.
  • say sends messages, replies, reactions, files, and scheduled posts.
  • dismiss marks inbox items handled privately; mark-read sends a Slack read receipt.
  • download retrieves shared files, while put creates attachment files for clients that cannot access the server filesystem.
  • auth manages interactive token setup, and unlock opens the local quarantine-management page.

File transfers use an exchange directory. put accepts text or base64 content, does not overwrite an existing name, and has a 5 MiB limit. say can attach up to 10 files in one message.

Limitations and notes

This Slack MCP server requires an active browser session and depends on session-token access rather than an official OAuth or bot installation. mark-read does not open direct messages and is refused at quarantined destinations. Scheduled messages support times from two minutes to 120 days ahead, and timezone mismatches can cause a request to be refused.

SSE and remote deployment should be treated separately: remote deployment is experimental, and idle-timeout settings apply only to supported remote stdio arrangements. On Windows, the npm wrapper may terminate the process forcefully, preventing normal shutdown cleanup. The server is intended for authenticated workspaces where the session owner has the necessary Slack access.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Slack

Slack is an MCP server that connects AI clients to Slack through browser session tokens. Its main tools read inboxes and messages, inspect workspace relationships, send messages and reactions, manage files, schedule posts, and control read or dismissal state without requiring an OAuth app or bot.

Install it with `npx -y @aaronsb/slack-mcp` through an MCP client, use a release `.mcpb` file with Claude Desktop, download a standalone binary, or install the npm package globally. Then run `auth` or `slack-mcp setup` to configure tokens.

It authenticates with Slack browser session tokens named `xoxc` and `xoxd`, rather than OAuth or bot credentials. Setup can extract them from Chrome, Chromium, Edge, or Firefox, or you can provide `SLACK_MCP_XOXC_TOKEN` and `SLACK_MCP_XOXD_TOKEN` in the client environment.

Yes, the `say` tool schedules Slack messages with its `at` parameter and can cancel a scheduled message with a handle. Scheduling supports times from two minutes to 120 days ahead, and the server checks the requested timezone against the Slack profile and machine timezone.

Yes, Claude Desktop is supported through a platform-specific `.mcpb` release file. You can leave token fields blank and run the `auth` tool after connecting, or enter existing session tokens during setup.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewSlack AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/slack?style=directory)](https://allmcps.com/mcp/slack)
HTML Embed
<a href="https://allmcps.com/mcp/slack"><img src="https://allmcps.com/api/badge/slack?style=directory" alt="Slack on AllMCPs" /></a>