
Slack MCP Server (session-based)
Session-token Slack access for AI agents — no OAuth, no app registration, 21 tools, one command.
Add to your client
Copy the config for your MCP client and paste it into its config file.
npx -y @jtalk22/slack-mcp --setupPaste 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_checkVerify token validity and workspace info (read-only).
slack_token_statusReport token age, health, and cache stats (read-only).
slack_refresh_tokensAuto-extract fresh tokens from Chrome; modifies local token file only (macOS).
slack_list_conversationsList DMs and channels (read-only). Supports discover_dms=true.
slack_conversations_historyGet messages from a channel or DM (read-only). Accepts include_rich_message_fields.
slack_get_full_conversationExport full history including threads (read-only). Accepts include_rich_message_fields.
slack_search_messagesSearch messages across the workspace (read-only). Slack search does not return rich fields on matches.
slack_get_threadGet thread replies (read-only). Accepts include_rich_message_fields.
slack_users_infoGet details for a user (read-only).
slack_list_usersList workspace users, paginated (500+) (read-only).
slack_users_searchSearch users by name, display name, or email (read-only).
slack_conversations_unreadsGet channels and DMs that have unread messages (read-only).
slack_send_messageSend a message to any conversation (destructive).
slack_add_reactionAdd an emoji reaction to a message (destructive).
slack_remove_reactionRemove an emoji reaction from a message (destructive).
slack_conversations_markMark a conversation as read (destructive).
slack_workflow_saveSave a workflow profile (channels, workflow_kind, retention, cadence) to ~/.slack-mcp-workflows.json (local-write).
slack_workflowsList saved workflow profiles (read-only).
slack_smart_searchSemantic search across indexed channels — hosted brain; in OSS returns a structured upgrade payload (hosted stub).
slack_catch_me_upAI-summarized digest of unreads + priority threads — hosted brain; in OSS returns a structured upgrade payload (hosted stub).
slack_triagePrioritized 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
Powerful Slack MCP with stdio/SSE/HTTP, DMs, group DMs and no-admin token auth
Full Telegram user-account MCP via MTProto: read chats, manage groups, send messages
Compare Slack MCP Server (session-based) with: