Server data from the Official MCP Registry
Slack MCP for self-host or managed Cloud, with Gemini CLI and secure-default HTTP.
Slack MCP for self-host or managed Cloud, with Gemini CLI and secure-default HTTP.
Remote endpoints: streamable-http: https://mcp.revasserlabs.com/oauth/mcp
Valid MCP server (1 strong, 1 medium validity signals). 3 known CVEs in dependencies Package registry verified. Imported from the Official MCP Registry.
5 files analyzed · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: SLACK_TOKEN
Environment variable: SLACK_COOKIE
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Give your AI agent full Slack access. No app registration, no admin approval, no OAuth. One command, 16 tools, works with any MCP client.
npx -y @jtalk22/slack-mcp --setup
▶ Watch the demo — 7 scenarios, from 47 unreads to inbox zero, without opening Slack.
Ask your AI to catch you up on #engineering from the last 24 hours. Search for that deployment thread from last week. Find the printer admin PIN nobody can remember. Send a reply. All from your editor.
Interactive demo · Latest release
Slack's official MCP server requires a registered app, admin approval, and doesn't work with Claude Code or GitHub Copilot due to OAuth/DCR incompatibility. Screenshotting messages is not a workflow.
This server uses your browser's session tokens instead. If you can see it in Slack, your AI agent can see it too. No app install, no scopes, no admin.
Stealth Mode: Session tokens leave zero footprint in your workspace admin panel. No bot user appears, no app install shows up, no audit trail. Your AI agent operates with the same invisibility as your browser tab.
| Slack Official MCP | This Server | |
|---|---|---|
| OAuth app required | Yes | No |
| Admin approval | Yes | No |
| Works with Claude Code | No (DCR incompatible) | Yes |
| Works with Cursor | No | Yes |
| Works with Copilot | No | Yes |
| Works with Windsurf | No | Yes |
| Works with Gemini CLI | No | Yes |
| Works with Codex CLI | No | Yes |
| Setup time | ~30 min | ~2 min |
| Tools | Limited | 16 |
| Visible to admins | Yes | No — Stealth Mode |
Add to ~/.claude.json or Claude Desktop settings:
{
"mcpServers": {
"slack": { "command": "npx", "args": ["-y", "@jtalk22/slack-mcp"] }
}
}
Add to .cursor/mcp.json:
{
"mcpServers": {
"slack": { "command": "npx", "args": ["-y", "@jtalk22/slack-mcp"] }
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"slack": { "command": "npx", "args": ["-y", "@jtalk22/slack-mcp"] }
}
}
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"slack": { "command": "npx", "args": ["-y", "@jtalk22/slack-mcp"] }
}
}
Add to ~/.codex/config.toml:
[mcp_servers.slack]
command = "npx"
args = ["-y", "@jtalk22/slack-mcp"]
Or via CLI: codex mcp add slack -- npx -y @jtalk22/slack-mcp
| Tool | Description | Safety |
|---|---|---|
slack_health_check | Verify token validity and workspace info | read-only |
slack_token_status | Token age, health, and cache stats | read-only |
slack_refresh_tokens | Auto-extract fresh tokens from Chrome | read-only* |
slack_list_conversations | List DMs and channels | read-only |
slack_conversations_history | Get messages from a channel or DM | read-only |
slack_get_full_conversation | Export full history with threads | read-only |
slack_search_messages | Search across workspace | read-only |
slack_get_thread | Get thread replies | read-only |
slack_users_info | Get user details | 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/DMs with 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 |
12 read-only, 4 write-path. All carry MCP safety annotations.
* slack_refresh_tokens modifies local token file only.
Node.js 20+
npx -y @jtalk22/slack-mcp --setup
The setup wizard handles token extraction and validation.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@jtalk22/slack-mcp"]
}
}
}
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@jtalk22/slack-mcp"],
"env": {
"SLACK_TOKEN": "xoxc-your-token",
"SLACK_COOKIE": "xoxd-your-cookie"
}
}
}
}
Windows/Linux users must provide tokens via
envsince auto-refresh is macOS-only.
Add to ~/.claude.json:
{
"mcpServers": {
"slack": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@jtalk22/slack-mcp"]
}
}
}
Any client that supports stdio MCP servers works. Add to your client's MCP config:
{
"slack": {
"command": "npx",
"args": ["-y", "@jtalk22/slack-mcp"],
"env": {
"SLACK_TOKEN": "xoxc-your-token",
"SLACK_COOKIE": "xoxd-your-cookie"
}
}
}
On macOS, tokens are auto-extracted from Chrome — env block is optional.
Hosted version with permanent OAuth tokens coming soon. See mcp.revasserlabs.com for updates.
docker pull ghcr.io/jtalk22/slack-mcp-server:latest
{
"mcpServers": {
"slack": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-v", "~/.slack-mcp-tokens.json:/root/.slack-mcp-tokens.json",
"ghcr.io/jtalk22/slack-mcp-server"]
}
}
}
Restart your client after configuration. Full setup: docs/SETUP.md
Session tokens (xoxc- + xoxd-) from your browser. If you can see it in Slack, this server can see it too.
Token persistence — four-layer fallback:
SLACK_TOKEN, SLACK_COOKIE)~/.slack-mcp-tokens.json, chmod 600)Tokens expire. The server notices before you do — proactive health monitoring, automatic refresh on macOS, warnings when tokens age out. File writes are atomic (temp file → chmod → rename) to prevent corruption. Concurrent refresh attempts are mutex-locked.
For remote MCP endpoints (Cloudflare Worker, VPS, etc.):
SLACK_TOKEN=xoxc-... \
SLACK_COOKIE=xoxd-... \
SLACK_MCP_HTTP_AUTH_TOKEN=change-this \
SLACK_MCP_HTTP_ALLOWED_ORIGINS=https://claude.ai \
node src/server-http.js
Details: docs/DEPLOYMENT-MODES.md
Tokens expired: Run npx -y @jtalk22/slack-mcp --setup or use slack_refresh_tokens (macOS).
DMs not showing: Use slack_list_conversations with discover_dms=true.
Client not seeing tools: Check JSON syntax in config, restart client fully.
More: docs/TROUBLESHOOTING.md
chmod 600 (owner-only)crypto.randomBytesPRs welcome. Run node --check on modified files before submitting.
MIT — See LICENSE
Not affiliated with Slack Technologies, Inc. Uses browser session credentials — check your workspace's acceptable use policy.
Hosted version with semantic search, AI summaries, and permanent OAuth — coming soon at mcp.revasserlabs.com
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI