MCP.so
Sign In
Servers

Slack MCP Server

@AIAtrium

Overview

What is Slack MCP Server?

A Model Context Protocol server that integrates with the Slack API using a user token, enabling Claude to read and send messages, list channels, and access user profiles in Slack workspaces. It is forked from the official MCP Slack server and swaps bot token authentication for a user token to support a wider range of use cases, including direct messages.

How to use Slack MCP Server?

Create a Slack app with specific user token scopes, install it to your workspace, obtain a User OAuth Token starting with xoxp-, and run npm install. Then configure Claude Desktop by adding the NPX or Docker command to claude_desktop_config.json with the SLACK_USER_TOKEN environment variable set.

Key features of Slack MCP Server

  • List public and private channels with pagination
  • Post messages and reply to threads
  • Add emoji reactions to messages
  • Retrieve channel history and thread replies
  • List workspace users and get detailed user profiles
  • Authenticates with a user token for broader access

Use cases of Slack MCP Server

  • Claude reads and responds to messages in public or private channels.
  • Claude fetches thread history and replies to existing conversations.
  • Claude adds reactions to messages for workflow automation.
  • Claude retrieves user profiles to look up contact information.
  • Claude monitors channel activity by pulling recent message history.

FAQ from Slack MCP Server

What authentication does Slack MCP Server use?

It uses a Slack User OAuth Token (starting with xoxp-) instead of a bot token, allowing access to direct messages and sending messages on behalf of the user.

What Slack API scopes are required?

The required user token scopes are: channels:history, channels:read, chat:write, reactions:write, users:read, users.profile:read, groups:history, groups:read, groups:write, im:history, im:read, im:write, mpim:history, mpim:read, and mpim:write.

How do I configure the server with Claude Desktop?

Add a configuration entry to claude_desktop_config.json using the NPX command (npx -y @modelcontextprotocol/server-slack) or Docker, and set the SLACK_USER_TOKEN environment variable to your user token.

What tools does the server provide?

The server exposes eight tools: slack_list_channels, slack_post_message, slack_reply_to_thread, slack_add_reaction, slack_get_channel_history, slack_get_thread_replies, slack_get_users, and slack_get_user_profile.

Why might I get permission errors?

Permission errors usually occur if required scopes are missing, the app isn't fully installed to the workspace, the token or workspace ID is incorrect, or the app hasn't been added to the target channels.

More from Communication