MCP/Slack MCP Server (Official)
Slack MCP Server (Official) logo

Slack MCP Server (Official)

Connects AI agents to Slack workspaces to read messages, search conversations, and manage channels through the official Slack API.

developer-tools•Team Collaboration & Workspace Automation
Website
License:MIT
OFFICIAL

About this Server

The official Slack Model Context Protocol (MCP) server connects AI agents, assistants, and chatbots directly to Slack workspaces. It enables Large Language Models to read channel histories, retrieve thread conversations, search messages with real-time workspace query intelligence, send and schedule messages, create channels and direct messages, add emoji reactions, manage rich Canvas documents, upload files with signed URLs, query user profiles and channel members, and work with structured Slack Lists and records — all backed by official enterprise Slack authentication and scoped Bot/User tokens without third-party data storage.

Real-time Interaction

Direct low-latency RPC protocol communication with structured JSON schemas.

Scoped Sandboxing

Restricted capability bounds to prevent accidental modifications or leakage.

Security & Best Practices

Scoped OAuth & Bot Tokens: Authenticate via granular Slack bot tokens (channels:history, chat:write, files:write, canvas:write) with least-privilege scoping.
Zero External Data Storage: Direct communication with Slack REST APIs without retaining, caching, or exfiltrating workspace conversation history to third-party databases.
Confirmation for Mutations: Require explicit user approval before sending messages to public channels, archiving channels, or modifying shared canvases.
Workspace Isolation: Enforces multi-tenant isolation through SLACK_TEAM_ID restricting AI access solely to authorized organization channels.

When to Use (and When Not To)

Best For
  • •Automated engineering workflows such as posting pull request review summaries, CI/CD failure alerts, and deployment announcements
  • •Searching workspace conversation history, finding past technical decisions, and gathering project context directly from your coding assistant
  • •Creating and maintaining collaborative documentation with Slack Canvases and tracking deliverables with Slack Lists
  • •Drafting, reviewing, and scheduling team communications across public or private channels
Not For / Limitations
  • •Automated mass spamming or unprompted bulk messaging to sensitive general channels without user confirmation
  • •Workspaces where company compliance policy strictly prohibits AI integration with internal communications
  • •Replacing high-throughput real-time WebSocket event streams or live audio/video huddle transcription

Install & Setup

terminal command
$claude mcp add slack -- npx -y @slack/mcp-server --bot-token $SLACK_BOT_TOKEN --team-id $SLACK_TEAM_ID

Exposed Tools & Endpoints

19 tools

Functions your AI agent can invoke via this Model Context Protocol server

slack_send_message

Send messages to any type of conversation in Slack (channels, group DMs, direct messages).

slack_schedule_message

Schedule a message to be sent to a conversation at a future time.

slack_draft_message

Draft, format, and preview messages directly within AI clients before sending.

slack_read_channel

Grab the complete message history and metadata for a specific Slack channel.

slack_read_thread

Grab complete message thread conversations and replies for a given parent message.

slack_create_conversation

Create a new Slack channel, group DM, or IM conversation on behalf of the user.

slack_add_reaction

Add an emoji reaction to a Slack message on behalf of the authenticated user.

slack_get_reactions

Retrieve all emoji reactions and reacting user IDs on a specific Slack message.

slack_manage_canvas

Create and update rich, formatted Canvas documents and share them in channels.

slack_read_canvas

Export and read Slack canvases as formatted Markdown documents.

slack_get_user_info

Access complete user profile information, including custom profile fields and active status.

slack_list_channel_members

Retrieve a list of user IDs for all members of a given Slack channel or conversation.

slack_get_file_upload_url

Acquire a signed upload URL and file ID for uploading files to Slack via a two-step process.

slack_complete_file_upload

Finalize an uploaded file by ID and optionally share it into a channel with an accompanying message.

slack_create_list

Create structured tabular lists with custom schemas and typed columns (text, date, select, user).

slack_read_list

Read Slack list contents, schemas, views, and row records.

slack_update_list

Update list metadata, columns, and schema definitions.

slack_update_record

Add, update, or delete individual records (rows) inside a Slack list.

slack_search_conversations

Search across Slack messages, threads, and workspace conversation content in real time.