Get the FREE Ultimate OpenClaw Setup Guide →

slack

A Model Context Protocol Server for Interacting with Slack

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
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:

  1. 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)
  2. 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>" } } } }
  3. Run the server (local development):

    • node dist/index.js
  4. 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

Sponsor this space

Reach thousands of developers