Slack User

Provides Slack workspace user-level access with channels, messages, threads, and user data through MCP endpoints.
  • javascript

11

GitHub Stars

javascript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "lars-hagen-slack-user-mcp": {
      "command": "npm",
      "args": [
        "run",
        "--prefix",
        "/path/to/slack-user-mcp",
        "start"
      ],
      "env": {
        "SLACK_TOKEN": "xoxp-your-user-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

You can run the Slack User MCP Server to let Claude interact with a Slack workspace as a user. This server exposes practical tools to read channels, post and reply to messages, react to messages, and fetch user information, enabling conversational automation and workflow integrations within Slack.

How to use

With the Slack User MCP Server you operate through an MCP client. You can perform common Slack actions via the available tools: list channels, post messages to channels, reply to threads, add reactions, fetch recent channel history, retrieve thread replies, and obtain user lists or profiles. Use the client to issue calls to the server in a way that suits your workflow, such as automating channel announcements, responding in threads, or aggregating user data for analytics.

How to install

Prerequisites you need before installation are Node.js and npm. You should also be prepared to configure your Slack app with the necessary scopes and tokens.

Local Installation steps

git clone https://github.com/lars-hagen/slack-user-mcp.git
cd slack-user-mcp
npm install
npm run build

Configure Claude Desktop to run the local server. Create or update claude_desktop_config.json with the following content, replacing placeholders with your values.

{
  "mcpServers": {
    "slack": {
      "command": "npm",
      "args": [
        "run",
        "--prefix",
        "/path/to/slack-user-mcp",
        "start"
      ],
      "env": {
        "SLACK_TOKEN": "xoxp-your-user-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

Alternatively, you can start via NPX using the following configuration.

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack-user"
      ],
      "env": {
        "SLACK_TOKEN": "xoxp-your-user-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

Or run it with Docker if you prefer containerized execution.

{
  "mcpServers": {
    "slack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SLACK_TOKEN",
        "-e",
        "SLACK_TEAM_ID",
        "mcp/slack-user"
      ],
      "env": {
        "SLACK_TOKEN": "xoxp-your-user-token",
        "SLACK_TEAM_ID": "T01234567"
      }
    }
  }
}

Additional configuration and tools

Environment variables you need to provide for run-time access are the Slack user token and your Slack workspace team ID.

Available tools describe the Slack actions you can perform through this MCP server, including listing channels, posting messages, replying in threads, adding reactions, and retrieving history and user data.

Notes and troubleshooting

Ensure your Slack app has the required scopes and is installed in your workspace. Use a User OAuth Token that starts with xoxp- and verify the channels your app accesses. If you encounter permission issues, recheck scopes, installation status, and token values.

Build and license

The server is released under the MIT License. You are free to use, modify, and distribute the software in accordance with the license terms.

Available tools

slack_list_channels

List public channels in the workspace with optional limit and cursor for pagination.

slack_post_message

Post a new message to a Slack channel using a channel_id and text.

slack_reply_to_thread

Reply to a specific message thread in a channel by providing channel_id, thread_ts, and text.

slack_add_reaction

Add an emoji reaction to a message identified by channel_id and timestamp.

slack_get_channel_history

Fetch recent messages from a channel, with an optional limit parameter.

slack_get_thread_replies

Retrieve all replies within a specific thread given channel_id and thread_ts.

slack_get_users

Get a list of workspace users with basic profiles, supporting pagination.

slack_get_user_profile

Fetch detailed profile information for a specific user by user_id.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational