trackmcp
Back to directory
lars-hagen

slack-user-mcp

View on GitHub

Model Context Protocol server for authorized Slack workspace automation

11 stars JavaScriptOthers Updated Jul 29, 2026
mcpmodel-context-protocolslackslack-apiworkflow-automation

Documentation

Slack User MCP Server

CI
License: MIT
Security Policy

MCP Server for the Slack API, enabling Claude to interact with Slack workspaces as a user.

Tools

1. `slack_list_channels`

    2. `slack_post_message`

      3. `slack_reply_to_thread`

        4. `slack_add_reaction`

          5. `slack_get_channel_history`

            6. `slack_get_thread_replies`

              7. `slack_get_users`

                8. `slack_get_user_profile`

                  Setup

                  1. Create a Slack App:

                    2. Configure User Token Scopes:

                    Navigate to "OAuth & Permissions" and add these scopes:

                      3. Install App to Workspace:

                        4. For organization-level tokens, get your Team ID (starts with a `T`) by following this guidance. It is optional for ordinary workspace tokens.

                        Treat OAuth tokens as secrets. Do not commit them, put them in issues or pull requests, or paste them into shared configuration. Rotate a token immediately if it is exposed.

                        Usage with Claude Desktop

                        Add the following to your `claude_desktop_config.json`:

                        Local Installation

                        First install and build the server:

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

                        Then configure Claude Desktop:

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

                        NPX

                        This project is not published to npm. Do not use an `npx` package name for it. Clone and build it locally as shown above, then use the local configuration.

                        Docker

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

                        Build the image first with `docker build -t slack-user-mcp .`. Add `-e SLACK_TEAM_ID` and `SLACK_TEAM_ID` to `env` only when using an organization-level token.

                        Installing via Smithery

                        To install Slack User Server for Claude Desktop automatically via Smithery:

                        bash
                        npx -y @smithery/cli install @lars-hagen/slack-user-mcp --client claude

                        Troubleshooting

                        If you encounter permission errors, verify that:

                        1. All required scopes are added to your Slack app

                        2. The app is properly installed to your workspace

                        3. The token and, when needed, workspace ID are correctly copied to your configuration

                        4. The app has been added to the channels it needs to access

                        5. You're using a User OAuth Token (starts with `xoxp-`) rather than a Bot Token

                        Build

                        Docker build:

                        bash
                        docker build -t slack-user-mcp .

                        Maintenance status

                        This project receives focused, best-effort maintenance. It has no support SLA. Please report security concerns privately as described in SECURITY.md.

                        License

                        This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

                        Frequently asked questions

                        What is slack-user-mcp?

                        slack-user-mcp is Model Context Protocol server for authorized Slack workspace automation

                        How do I install slack-user-mcp?

                        Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

                        Is slack-user-mcp open source?

                        Yes — it is hosted on GitHub at https://github.com/lars-hagen/slack-user-mcp and has 11 stars.

                        Related MCP tools

                        Run your own MCP server? See who uses it and what to fix.

                        Measure it with TrackMCP