MCP Directory

Slack MCP Server (session-based)

Session-token Slack access for AI agents — no OAuth, no app registration, 21 tools, one command.

Unverified
stdio (local)
API key
JavaScript

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
npx -y @jtalk22/slack-mcp --setup

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

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

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • Node.js 20+
  • A Slack workspace you can access in your browser
  • Slack session tokens (xoxc- token + xoxd- cookie); auto-extracted from Chrome on macOS, or supplied via SLACK_TOKEN / SLACK_COOKIE env vars on Windows/Linux

About Slack MCP Server (session-based)

Slack MCP Server (by jtalk22) wraps Slack using browser session tokens instead of OAuth, so there is no app registration, scope approval, or admin involvement required. It positions itself against Slack's official OAuth-first MCP server, claiming compatibility with clients (Claude Code, Cursor, Copilot, Windsurf, Gemini CLI, Codex CLI) that struggle with OAuth/DCR flows. The OSS package is MIT-licensed and ships 16 Slack tools (12 read, 4 write) plus 2 local workflow-profile primitives; 3 additional tools are discoverable 'upgrade stubs' that return a structured payload pointing at the paid hosted brain (smart_search, catch_me_up, triage). Token persistence has a four-layer fallback: env vars, a chmod-600 token file, macOS Keychain, and Chrome auto-extraction (macOS only).

Tools & capabilities (21)

slack_health_check

Verify token validity and workspace info (read-only).

slack_token_status

Report token age, health, and cache stats (read-only).

slack_refresh_tokens

Auto-extract fresh tokens from Chrome; modifies local token file only (macOS).

slack_list_conversations

List DMs and channels (read-only). Supports discover_dms=true.

slack_conversations_history

Get messages from a channel or DM (read-only). Accepts include_rich_message_fields.

slack_get_full_conversation

Export full history including threads (read-only). Accepts include_rich_message_fields.

slack_search_messages

Search messages across the workspace (read-only). Slack search does not return rich fields on matches.

slack_get_thread

Get thread replies (read-only). Accepts include_rich_message_fields.

slack_users_info

Get details for a user (read-only).

slack_list_users

List workspace users, paginated (500+) (read-only).

slack_users_search

Search users by name, display name, or email (read-only).

slack_conversations_unreads

Get channels and DMs that have unread messages (read-only).

slack_send_message

Send a message to any conversation (destructive).

slack_add_reaction

Add an emoji reaction to a message (destructive).

slack_remove_reaction

Remove an emoji reaction from a message (destructive).

slack_conversations_mark

Mark a conversation as read (destructive).

slack_workflow_save

Save a workflow profile (channels, workflow_kind, retention, cadence) to ~/.slack-mcp-workflows.json (local-write).

slack_workflows

List saved workflow profiles (read-only).

slack_smart_search

Semantic search across indexed channels — hosted brain; in OSS returns a structured upgrade payload (hosted stub).

slack_catch_me_up

AI-summarized digest of unreads + priority threads — hosted brain; in OSS returns a structured upgrade payload (hosted stub).

slack_triage

Prioritized action queue across channels — hosted brain; in OSS returns a structured upgrade payload (hosted stub).

What this server can do

Slack MCP Server (session-based) provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Catch up on a channel's last 24 hours from your editor without opening Slack
  • Search the workspace for a past deployment thread or buried piece of info
  • Send replies and add reactions to messages directly from an AI client
  • Triage unread DMs and channels and surface priority threads
  • Bind channels + priority people to a workflow_kind (incident_room, exec_brief, support_inbox, etc.) for structured JSON output that downstream tools (Linear, Notion, dashboards) consume

Security notes

Uses browser session credentials (xoxc-/xoxd-), not OAuth — check your workspace's acceptable use policy; not affiliated with Slack Technologies. Session-token transport means no bot user, app install, or audit-trail entry appears in the workspace admin panel. Token files are written chmod 600 (owner-only) with atomic writes; macOS Keychain provides an encrypted backup. Write tools (slack_send_message, slack_add_reaction, slack_remove_reaction, slack_conversations_mark) are marked destructive. The optional HTTP mode binds to localhost and requires SLACK_MCP_HTTP_AUTH_TOKEN plus an allowed-origins list.

Slack MCP Server (session-based) FAQ

Do I need a Slack OAuth app or admin approval?

No. The server uses your browser's session tokens (xoxc-/xoxd-), so there is no app registration, no scopes, and no admin approval. Your agent has the same access as your browser tab.

Does it work on Windows and Linux?

Yes, but auto token extraction from Chrome is macOS-only. On Windows/Linux you must supply SLACK_TOKEN and SLACK_COOKIE via the env block in your client config.

Is it affiliated with Slack?

No. It is not affiliated with Slack Technologies, Inc. Because it uses browser session credentials, you should check your workspace's acceptable use policy before using it.

What are the three hosted-stub tools?

slack_smart_search, slack_catch_me_up, and slack_triage require the hosted brain at mcp.revasserlabs.com. In the OSS package they appear as discoverable upgrade stubs that return {signup_url, free_tier_quota, pro_value_prop} — no Slack write occurs from OSS.

How do I confirm I'm connected?

After running the setup wizard (npx -y @jtalk22/slack-mcp --setup), have your client run slack_health_check; a workspace name in the response confirms the connection.

Alternatives to Slack MCP Server (session-based)

Compare all alternatives →

Connect your personal WhatsApp: search, read and send messages and media locally

Verified
stdio (local)
No auth
Python
12 tools
Updated 1 month agoRepo

Powerful Slack MCP with stdio/SSE/HTTP, DMs, group DMs and no-admin token auth

Verified
stdio (local)
API key
Go
12 tools
Updated 1 month agoRepo

Full Telegram user-account MCP via MTProto: read chats, manage groups, send messages

Verified
stdio (local)
API key
Python
11 tools
Updated 19 days agoRepo