Slack · mindstone — MCP server for Claude Code: features and setup
Give an AI coding agent access to Slack messages, channels, threads, reactions, and files. The server also supports multiple workspaces under one user account.
claude mcp add --env SLACK_CONFIG_PATH=<SLACK_CONFIG_PATH> --env SLACK_TEAM_ID=<SLACK_TEAM_ID> --env SLACK_CLIENT_ID=<SLACK_CLIENT_ID> --env SLACK_CLIENT_SECRET=<SLACK_CLIENT_SECRET> --env SLACK_DISABLE_REFRESH=<SLACK_DISABLE_REFRESH> --transport stdio slack -- npx -y @mindstone/mcp-server-slackWhat Slack does
This MCP server connects an agent to Slack through the Slack Web API. It can search messages, resolve users from email addresses, access channel discussions, add reactions, and work with files, bookmarks, and scheduled messages. An agent can, for instance, locate a person's latest post in a channel and react to it.
Authentication relies on OAuth managed by the host application. The host writes workspace credentials to disk, and the server reads them from the directory configured with SLACK_CONFIG_PATH. You need Node.js 20+ and npm. Each workspace has its own token file, with SLACK_TEAM_ID identifying the workspace used by an instance.
The server does not start the OAuth login flow itself. If a token needs refreshing, SLACK_CLIENT_ID and SLACK_CLIENT_SECRET may also be required; missing credentials can prevent refresh from completing. Make sure the host application can handle Slack authentication and store credentials in the expected location before configuring the connection.
What it helps with
- Find a user's latest message in a Slack channel
- Resolve a Slack user ID from an email address
- React to a message found by search
- Access workspace files and bookmarks
- Connect multiple Slack workspaces through one user account
Example prompts for the agent
- Find Alice's latest message in
#q3-planningand add the:eyes:reaction. - Look up a Slack user by email and find their recent posts in the relevant channel.
- Search Slack for the discussion about the release and inspect its related files.
How to install Slack
Platform CLI
claude mcp add --env SLACK_CONFIG_PATH=<SLACK_CONFIG_PATH> --env SLACK_TEAM_ID=<SLACK_TEAM_ID> --env SLACK_CLIENT_ID=<SLACK_CLIENT_ID> --env SLACK_CLIENT_SECRET=<SLACK_CLIENT_SECRET> --env SLACK_DISABLE_REFRESH=<SLACK_DISABLE_REFRESH> --transport stdio slack -- npx -y @mindstone/mcp-server-slackReplace <…> with your own values. 3 more environment variables are in the server README
Platform CLI
codex mcp add slack --env SLACK_CONFIG_PATH=<SLACK_CONFIG_PATH> --env SLACK_TEAM_ID=<SLACK_TEAM_ID> --env SLACK_CLIENT_ID=<SLACK_CLIENT_ID> --env SLACK_CLIENT_SECRET=<SLACK_CLIENT_SECRET> --env SLACK_DISABLE_REFRESH=<SLACK_DISABLE_REFRESH> -- npx -y @mindstone/mcp-server-slackReplace <…> with your own values. 3 more environment variables are in the server README
Config file
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-slack"
],
"env": {
"SLACK_CONFIG_PATH": "<SLACK_CONFIG_PATH>",
"SLACK_TEAM_ID": "<SLACK_TEAM_ID>",
"SLACK_CLIENT_ID": "<SLACK_CLIENT_ID>",
"SLACK_CLIENT_SECRET": "<SLACK_CLIENT_SECRET>",
"SLACK_DISABLE_REFRESH": "<SLACK_DISABLE_REFRESH>"
}
}
}
}Replace <…> with your own values. 3 more environment variables are in the server README
Config file
{
"servers": {
"slack": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-slack"
],
"env": {
"SLACK_CONFIG_PATH": "<SLACK_CONFIG_PATH>",
"SLACK_TEAM_ID": "<SLACK_TEAM_ID>",
"SLACK_CLIENT_ID": "<SLACK_CLIENT_ID>",
"SLACK_CLIENT_SECRET": "<SLACK_CLIENT_SECRET>",
"SLACK_DISABLE_REFRESH": "<SLACK_DISABLE_REFRESH>"
}
}
}
}Replace <…> with your own values. 3 more environment variables are in the server README
Platform CLI
gemini mcp add -e SLACK_CONFIG_PATH=<SLACK_CONFIG_PATH> -e SLACK_TEAM_ID=<SLACK_TEAM_ID> -e SLACK_CLIENT_ID=<SLACK_CLIENT_ID> -e SLACK_CLIENT_SECRET=<SLACK_CLIENT_SECRET> -e SLACK_DISABLE_REFRESH=<SLACK_DISABLE_REFRESH> slack npx -y @mindstone/mcp-server-slackReplace <…> with your own values. 3 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Slack
How do I install the Slack MCP server in Claude Code?
Run `claude mcp add mcp-server-slack -e SLACK_CONFIG_PATH=<SLACK_CONFIG_PATH> -e SLACK_TEAM_ID=<SLACK_TEAM_ID> -e SLACK_CLIENT_SECRET=<SLACK_CLIENT_SECRET> -- npx -y @mindstone/mcp-server-slack`. Configure the host to handle Slack OAuth and supply the environment variable values before using the server.
What does the Slack MCP server do?
It gives an AI agent tools to search Slack messages, identify users, access channels and threads, add reactions, and work with files. Bookmarks and scheduled messages are supported as well.
Does the server handle Slack OAuth on its own?
No. The host application performs the login flow and saves workspace credentials under the directory set by SLACK_CONFIG_PATH. The server reads those files and uses SLACK_TEAM_ID to select a workspace.
Similar MCP servers
All MCP servers for Agent setup: memory, context, orchestration →Slack by other authors comes first.