Slack MCP Server

Slack MCP Server

The Slack MCP Server is a Model Context Protocol (MCP) server that connects AI agents—like Claude Desktop or any MCP-compatible tool—to Slack workspaces, enabling secure, controlled management of Slack channels, messaging, and workspace interactions through a standardized interface. It allows large language models (LLMs) to read, search, and send messages, manage channels, and access Slack resources with ease.

Author: modelcontextprotocol


View Protocol

What is Slack MCP Server?

The Slack MCP Server exposes Slack Workspace functions, such as reading and posting messages or managing channels, as standardized MCP tools and resources. This lets AI agents securely interact with your Slack workspaces—send and fetch messages, access channel histories, manage membership, and more—without requiring custom plugins or manual scripting. No intrusive access or workspace admin permissions are required, making it a flexible and safe connector between your Slack environment and AI-powered workflows.

How to Configure Slack MCP Server

  1. Install the Slack MCP Server
    • (For TypeScript)
      npx -y @modelcontextprotocol/server-slack
      
    • (For Python)
      pip install mcp-server-slack
      python -m mcp_server_slack
      
  2. Obtain Necessary Slack Tokens
    • You need a Slack user token or bot token with the appropriate scopes (for most features: channels:history, channels:read, chat:write, etc.).
    • Typically, you do not need a workspace admin token.
  3. Set Environment Variables
    • Set the required token as an environment variable before running the server:
      export SLACK_BOT_TOKEN="xoxb-***"
      export SLACK_USER_TOKEN="xoxp-***"
      # Use the token that suits your use case.
      
  4. Add to Your MCP Client Configuration
    • In Claude Desktop or another client, register the server. Example:
      {
        "mcpServers": {
          "slack": {
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-slack"],
            "env": {
              "SLACK_BOT_TOKEN": "<your-slack-token>"
            }
          }
        }
      }
      
  5. Start Your Client/Server
    • Run the MCP client (e.g., Claude Desktop). The Slack MCP Server will be auto-launched and available.

How to Use Slack MCP Server

  • Once configured, your MCP-compatible client (e.g., Claude Desktop) will automatically enable new Slack commands and context tools.
  • List available tools by invoking the tools/list capability, like /tools/list in chat or via the client's tool selector.
  • Use tool commands such as send_message, list_channels, or search_messages via your AI agent to interact with Slack channels as if operating Slack itself.
  • Example interaction:
    • "Please list all channels in our Slack workspace."
    • "Send a message to #random: Hey team, here's an update..."
    • "Search for recent project discussion containing 'launch'."
  • All operations are securely scoped per the token's permissions; no actions will occur outside allowed channels or users.

Key Features

  • Channel Management: List channels, join/leave, create or archive channels.
  • Messaging: Read and send messages to any permitted channel or DM.
  • Message Search: Search across channels for relevant conversations.
  • Workspace Discovery: Retrieve metadata about users, channels, and messages.
  • Permissions-Respecting: Operates strictly within the bounds of provided Slack tokens; no excessive permissions required.
  • Seamless Integration: Works with Claude Desktop and any MCP-compatible client, automatically exposing Slack as tools and resources.
  • No Bot Approval Required: Can run with personal or bot tokens without requiring Slack workspace admin privileges.

Use Cases

  • Automated Meeting Assistants: Have an LLM summarize discussion threads, extract action items, or post daily standup reports automatically in Slack.
  • Intelligent Channel Monitoring: Search for issues, mentions, or keywords and trigger workflows or automated responses.
  • Contextual AI Replies: AI can read recent conversation history and craft personalized responses in any channel.
  • Bulk Message Operations: Archive, delete, or forward messages across channels in response to AI-driven prompts.
  • Onboarding Bots: Post welcome messages or send onboarding instructions to new members as they join.
  • Incident Response: Monitor error or incident channels for alerts, summarize the conversations, and post status updates.

FAQ

Q1: Does Slack MCP Server require admin privileges or special approval in Slack?
A1: No. You only need a user or bot token with the correct scopes (such as channels:read, chat:write), but you generally do not need workspace admin privileges or to register a custom Slack app for most features.

Q2: Can AI agents read my private messages or DMs?
A2: AI agents can only access DMs or channels that the bot/user token has permitted access to. Private conversations are accessible only if your token grants that scope; everything remains permission-scoped.

Q3: How are permissions and security enforced?
A3: The MCP server acts strictly according to the token's capabilities. It cannot perform any operation outside the scope of what your Slack token allows, ensuring a secure bridge between AI and your workspace.

Q4: What happens if my Slack token expires or is revoked?
A4: The MCP server will lose access. Simply provide a new valid token by updating the environment variable and restarting the server.

Q5: Can I run multiple Slack MCP Servers for different workspaces?
A5: Absolutely. You can start separate server instances with different tokens/configs, each mapped in your MCP client to a specific workspace.