# Slack

Give an AI coding agent access to Slack messages, channels, threads, reactions, and files. The server also supports multiple workspaces under one user account.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Author: mindstone
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mindstone/mcp-servers/tree/HEAD/connectors/slack
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/mindstone-slack

## What it 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.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SLACK_CONFIG_PATH`, `SLACK_TEAM_ID`, `SLACK_CLIENT_ID`, `SLACK_CLIENT_SECRET`, `SLACK_DISABLE_REFRESH`, `SLACK_REQUEST_TIMEOUT_MS`, `SLACK_MAX_RETRIES`, `MCP_WORKSPACE_PATH` — keys and tokens: ask the human for the values, never commit them or put them in shared files.
- Works with: Slack

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
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-slack
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
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-slack
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "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

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "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

### Gemini CLI

**Platform CLI**
```bash
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-slack
```
Replace <…> with your own values. 3 more environment variables are in the server README

## When to use it
- 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
- Find Alice's latest message in `#q3-planning` and 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.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47577
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43902

## Other versions with the same name
- [slack · pulsemcp](https://affpapa.org/en/nevibecode/mcp/slack.md) — ★ 81

From the same set: [mindstone/mcp-servers](https://affpapa.org/en/nevibecode/by/mindstone/mcp-servers.md) — 40 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
