slack
A Model Context Protocol Server for Interacting with Slack
claude mcp add --transport stdio avimbu-slack-mcp-server node /path/to/project/dist/index.js \ --env SLACK_TEAM_ID="test-team-id" \ --env SLACK_BOT_USER_OAUTH_TOKEN="test-bot-token"
How to use
This MCP server acts as a connector between Claude Desktop (or any MCP client) and your Slack workspace. It enables you to list Slack users and post messages to channels directly from the MCP client by using the Slack integration implemented in the server. To use it locally, configure the MCP server in your Claude Desktop settings with the Node-based runner and point it to the built dist/index.js file, providing the Slack bot token and team ID as environment variables. Once configured, you can issue prompts such as asking for a list of all Slack users in your workspace or sending a welcome message to a specific channel. The server exposes the Slack-related capabilities through the MCP interface so your client can orchestrate actions without handling Slack authentication directly in the client.
How to install
Prerequisites:
- Node.js and npm installed on your machine
- Access to a Slack workspace and a bot token with the required scopes
- Basic familiarity with editing your Claude Desktop MCP Server configuration
Step-by-step:
-
Install dependencies and build the project locally (adjust commands to your setup):
- npm install
- npm run build (if your project uses a build script)
- npm run watch (optional for live development)
-
Prepare the MCP Server configuration:
- In Claude Desktop, add the following mcpServers entry, replacing the path to your built file: { "mcpServers": { "mcp-slack-local": { "command": "node", "args": ["/path/to/project/dist/index.js"], "env": { "SLACK_BOT_USER_OAUTH_TOKEN": "<your-bot-token>", "SLACK_TEAM_ID": "<your-team-id>" } } } }
-
Run the server (local development):
- node dist/index.js
-
Test interactions via Claude Desktop or your MCP client using example prompts like:
- "Can you list all users of my Slack team?"
- "Can you send a welcome message to my Slack Channel with the ID <channel-id> ?"
Additional notes
Environment variables SLACK_BOT_USER_OAUTH_TOKEN and SLACK_TEAM_ID must be provided for Slack authentication and workspace context. The Slack permissions table in the README highlights which scopes are implemented; currently, only basic chat write and user read capabilities are commonly needed for basic messaging and user listing. If you encounter issues, verify that the bot token has the required scopes (e.g., users:read for listing users, chat:write to post messages), and ensure the token is valid for the specified team. When testing locally, avoid exposing real tokens; use environment-specific tokens for development. If you update permissions or scopes, re-authenticate your bot and restart the MCP server.
Common issues:
- Node.js version compatibility with your dist/index.js build
- Incorrect path to dist/index.js in the MCP config
- Missing environment variables or invalid token
- Network or Slack API rate limits during testing
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud