home / mcp / slack mcp server

Slack MCP Server

Provides secure access to Slack messages, history, and search for Claude via a local MCP server.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jtalk22-slack-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@jtalk22/slack-mcp"
      ],
      "env": {
        "SLACK_TOKEN": "xoxc-your-token",
        "SLACK_COOKIE": "xoxd-your-cookie"
      }
    }
  }
}

You can run a local MCP server that bridges your Slack session to Claude, giving the AI access to your messages, threads, and search history without admin approval. This setup mirrors your existing Slack browser session, letting Claude see exactly what you see in Slack through your local environment.

How to use

Install the Slack MCP server and run it as a local, standard input/output (stdio) service. You will connect an MCP client (such as Claude) to this server, which exposes tools to read messages, export conversations, search across your workspace, send messages, and fetch user details. Use the provided token configuration to authorize access, and keep in mind that tokens may need periodic refreshing.

How to install

Prerequisites: you need Node.js and npm installed on your machine. You also should have a Slack workspace and the ability to obtain and provide tokens or a token extraction workflow as described.

# Quick start: install the MCP server globally (recommended)
npm install -g @jtalk22/slack-mcp

# Alternative: clone the repository and install locally
# git clone https://github.com/jtalk22/slack-mcp-server.git
# cd slack-mcp-server
# npm install

# Start the MCP server (example using npx via CLI pattern shown in docs)
npx @jtalk22/slack-mcp

Configuration and startup

There are two main configuration paths: token management and how Claude connects to the MCP server.

Token configuration is stored after setup and is used to access Slack data. You can use an interactive setup to extract tokens on macOS or follow manual steps on Linux/Windows.

To connect Claude, configure the MCP server in your Claude setup so it runs the MCP client as shown in the examples. The server you run is:

- Command: npx
- Arguments: -y, @jtalk22/slack-mcp

This keeps the server local and accessible to Claude on your machine.

Security considerations

Tokens are stored securely with restricted permissions. The web interface binds to localhost to limit exposure. Do not commit tokens to version control. The MCP server uses cryptographic randomness for keys and tokens where applicable.

Troubleshooting

If tokens expire or are not refreshed, trigger token refresh through the provided tooling or wizard. Ensure Chrome is running on macOS if you rely on automatic token extraction. If Claude does not see the tools, fully restart Claude and verify that the MCP connection is active.

Notes

The MCP server supports reading DMs, private channels, and public channels, exporting full conversations with threads, performing searches across the workspace, sending messages, and listing users. It includes safety nets like atomic file writes, race-condition protection, and exponential backoff for rate limits.

Available tools

slack_health_check

Verify token validity and workspace information to ensure access is correct.

slack_token_status

Provide detailed token age, health, and cache statistics for monitoring.

slack_refresh_tokens

Auto-extract fresh tokens from the Chrome browser session on supported platforms.

slack_list_conversations

List DMs and channels with lazy discovery cache for efficient browsing.

slack_conversations_history

Fetch messages from a specified channel or direct message.

slack_get_full_conversation

Export complete history, including threads and resolved usernames.

slack_search_messages

Search across the workspace for messages matching query terms.

slack_send_message

Send a message to a specified conversation, with optional threading.

slack_get_thread

Retrieve replies within a thread for context.

slack_users_info

Fetch detailed information about a user.

slack_list_users

List workspace users with pagination support for large workspaces.