slack-fast-mcp
Provides tools to read, search, and interact with Slack workspaces, including sending messages, managing reactions, listing channels and users, and downloading attachments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@slack-fast-mcpshow me recent messages in #general"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
slack-fast-mcp
A Slack MCP server built with FastMCP that gives AI assistants tools to read, search, and interact with Slack workspaces. Python 3.13+, fully async.
Features
Read tools (always available):
conversations_history— Get messages from a channel or DMconversations_replies— Get a thread of messagesconversations_search_messages— Search messages with filters (requires user token)channels_list— List channelsusers_search— Search users by name, email, or display nameattachment_get_data— Download file attachments (up to 5MB)
Write tools (disabled by default, opt-in via env vars):
conversations_add_message— Post a message to a channel or DMreactions_add/reactions_remove— Add or remove emoji reactions
Resources:
slack://{workspace}/users— User directoryslack://{workspace}/channels— Channel directory
Related MCP server: Slack MCP Server
Authentication
Three authentication methods are supported, in priority order:
1. User token (recommended)
Requires a Slack app with user token scopes. Supports all features including message search.
export SLACK_MCP_XOXP_TOKEN=xoxp-...2. Bot token
Requires a Slack app with bot token scopes. Cannot search messages.
export SLACK_MCP_XOXB_TOKEN=xoxb-...3. Browser cookie auth (no app install required)
Uses your existing Slack browser session. No Slack app installation or workspace admin approval needed — useful when your workspace restricts app installs.
export SLACK_MCP_XOXC_TOKEN=xoxc-...
export SLACK_MCP_XOXD_TOKEN=xoxd-...Both values must be set together. To extract them:
Open your Slack workspace in a browser and log in
Open DevTools (F12)
xoxc token — paste this in the browser console:
JSON.parse(localStorage.localConfig_v2).teams[document.location.pathname.match(/^\/client\/([A-Z0-9]+)/)[1]].tokenxoxd token — go to Application > Cookies >
https://app.slack.com, copy the value of the cookie namedd
Caveats:
Tokens are tied to your browser session and will expire when you log out or Slack rotates sessions. You'll need to re-extract them periodically.
All API calls appear as your user account, not a bot.
This uses standard Slack API endpoints with session cookies — it does not use undocumented internal APIs.
Installation
uv sync --all-extrasUsage
export SLACK_MCP_XOXP_TOKEN=xoxp-... # or xoxb/xoxc+xoxd (see above)
uv run python -m slack_fast_mcpClaude Desktop / Claude Code
Add to your MCP config:
{
"mcpServers": {
"slack": {
"command": "uv",
"args": ["run", "--project", "/path/to/slack-fast-mcp", "python", "-m", "slack_fast_mcp"],
"env": {
"SLACK_MCP_XOXP_TOKEN": "xoxp-..."
}
}
}
}Configuration
All configuration is via environment variables.
Token (required — one of)
Variable | Description |
| User OAuth token (priority 1) |
| Bot OAuth token (priority 2) |
| Browser session token (priority 3, requires |
| Browser |
Write tool gating (optional)
Write tools are disabled by default. Enable them with these env vars. Each accepts:
"true"or"1"— enable for all channelsComma-separated channel IDs — allowlist (e.g.
C001,C002)!-prefixed channel IDs — blocklist (e.g.!C003,!C004)
Variable | Controls |
|
|
|
|
|
|
Other options
Variable | Default | Description |
|
| Log level ( |
|
| Cache TTL in seconds, or duration string ( |
|
| Mark channel as read when sending a message |
|
| Control link unfurling in sent messages |
| auto | Path to persistent users cache file |
| auto | Path to persistent channels cache file |
Development
make build # Install dependencies
make test # Run unit tests
make format # Format code (ruff)
make lint # Lint code (ruff)This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jeffmm/slack-fast-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server