Slack
How to configure the Slack MCP connector
The Slack connector allows the chatbot to search, read, and send messages in Slack workspaces through the Slack MCP server.
Connector Settings
| Field | Value |
|---|---|
| Integration Type | MCP |
| Name | Slack |
| URL | https://mcp.slack.com/mcp |
| Transport Type | Streamable HTTP |
| Authentication Type | OAuth 2.1 |
| OAuth Client ID | (from your Slack app) |
| OAuth Client Secret | (from your Slack app) |
| OAuth Scopes | search:read.public search:read.private search:read.mpim search:read.im search:read.files search:read.users channels:history groups:history mpim:history im:history canvases:read users:read users:read.email canvases:write chat:write |
This MCP server does not support Dynamic Client Registration (RFC 7591). You must provide OAuth Client ID and Client Secret from a registered Slack app. The app must be published to the Slack App Directory or configured as an internal app — unlisted apps are not permitted to use MCP.
OAuth Scopes
See all available scopes in the Slack API scopes documentation. Scopes are grouped by capability below.
Search
| Scope | Description |
|---|---|
search:read.public | Search messages and files in public channels |
search:read.private | Search messages and files in private channels |
search:read.mpim | Search messages and files in group direct messages |
search:read.im | Search messages and files in direct messages |
search:read.files | Search files accessible to the user |
search:read.users | Search for users in the workspace |
Messaging
| Scope | Description |
|---|---|
chat:write | Send and schedule messages on the user's behalf |
channels:history | View messages and threads in public channels |
groups:history | View messages and threads in private channels |
mpim:history | View messages and threads in group direct messages |
im:history | View messages and threads in direct messages |
Canvases
| Scope | Description |
|---|---|
canvases:read | Read Slack Canvas documents |
canvases:write | Create and edit Slack Canvas documents |
Users
| Scope | Description |
|---|---|
users:read | View user profile information |
users:read.email | View user email addresses |
Usage Examples
Once connected, users can interact with Slack through natural language:
- "Search Slack for the latest updates on the project launch"
- "Send a message to the #engineering channel"
- "What did Sarah say about the deployment yesterday?"
Tools
Send Message
slack_send_message
Sends a message to a Slack channel or user. To DM a user, use their user ID as the channel ID. Supports standard markdown formatting. Limited to 5000 characters per message.
Parameters:
- channel_id - The ID of the channel or user to send the message to
- message - The message content in standard markdown
- thread_ts - Timestamp of a parent message to reply in a thread
- reply_broadcast - Also post the reply to the channel
- draft_id - ID of a draft to delete after sending
Schedule Message
slack_schedule_message
Schedules a message for future delivery to a Slack channel. The post_at timestamp must be at least 2 minutes in the future, up to 120 days out.
Parameters:
- channel_id - The ID of the channel to schedule the message in
- message - The message content in standard markdown
- post_at - Unix timestamp for when the message should be sent
- thread_ts - Timestamp of a parent message to reply in a thread
- reply_broadcast - Also post the reply to the channel
Create Slack Canvas Document
slack_create_canvas
Creates a Slack Canvas document from Markdown content. Not available on free Slack plans.
Parameters:
- title - Name for the canvas
- content - The canvas content in Markdown format
Search Public Messages and Files
slack_search_public
Searches for messages and files in public Slack channels only. Supports search modifiers for filtering by channel, author, date, and content type.
Parameters:
- query - Search query with optional modifiers (e.g.,
from:@user in:#channel keyword) - content_types - Comma-separated content types:
messages,files - sort - Sort by
score(relevance) ortimestamp(date). Defaults toscore - sort_dir - Sort direction:
ascordesc. Defaults todesc - limit - Number of results to return, up to 20. Defaults to 20
- cursor - Cursor for pagination from a previous response
- before - Only results before this Unix timestamp
- after - Only results after this Unix timestamp
- include_bots - Include bot messages. Defaults to false
- include_context - Include surrounding context messages. Defaults to true
- response_format -
detailedorconcise. Defaults todetailed - context_channel_id - Channel ID to boost results for
- max_context_length - Max character length for context messages
Search Messages and Files
slack_search_public_and_private
Searches for messages and files across all Slack channels, including public, private, DMs, and group DMs.
Parameters:
- query - Search query with optional modifiers (e.g.,
in:#general from:@user keyword) - content_types - Comma-separated content types:
messages,files - channel_types - Comma-separated channel types:
public_channel,private_channel,mpim,im. Defaults to all - sort - Sort by
score(relevance) ortimestamp(date). Defaults toscore - sort_dir - Sort direction:
ascordesc. Defaults todesc - limit - Number of results to return, up to 20. Defaults to 20
- cursor - Cursor for pagination from a previous response
- before - Only results before this Unix timestamp
- after - Only results after this Unix timestamp
- include_bots - Include bot messages. Defaults to false
- include_context - Include surrounding context messages. Defaults to true
- response_format -
detailedorconcise. Defaults todetailed - context_channel_id - Channel ID to boost results for
- max_context_length - Max character length for context messages
Read Channel Messages
slack_read_channel
Reads messages from a Slack channel in reverse chronological order. To read DM history, use a user ID as the channel ID.
Parameters:
- channel_id - The ID of the channel or user to read messages from
- limit - Number of messages to return, between 1 and 100. Defaults to 100
- cursor - Cursor for pagination from a previous response
- oldest - Start of time range (Unix timestamp)
- latest - End of time range (Unix timestamp)
- response_format -
detailedorconcise. Defaults todetailed
Read Thread Messages
slack_read_thread
Reads messages from a specific Slack thread, including the parent message and all replies.
Parameters:
- channel_id - The ID of the channel containing the thread
- message_ts - Timestamp of the parent message
- limit - Number of messages to return, between 1 and 1000. Defaults to 100
- cursor - Cursor for pagination from a previous response
- oldest - Start of time range (Unix timestamp)
- latest - End of time range (Unix timestamp)
- response_format -
detailedorconcise. Defaults todetailed
Read Slack Canvas Content
slack_read_canvas
Retrieves the markdown content of a Slack Canvas document.
Parameters:
- canvas_id - The ID of the canvas to read
Read User Profile
slack_read_user_profile
Retrieves detailed profile information for a Slack user, including contact info, status, timezone, and role. Defaults to the current user if no user ID is provided.
Parameters:
- user_id - Slack user ID to look up (e.g.,
U0ABC12345). Defaults to current user - include_locale - Include the user's locale information. Defaults to false
- response_format -
detailedorconcise. Defaults todetailed
Create a Draft Message
slack_send_message_draft
Creates a draft message in a Slack channel without sending it. The draft is saved to the user's "Drafts & Sent" in Slack. Only one draft is allowed per channel.
Parameters:
- channel_id - The ID of the channel to create the draft in
- message - The draft message content in standard markdown
- thread_ts - Timestamp of a parent message to create a draft reply in a thread
Search Channels
slack_search_channels
Searches for Slack channels by name or description. Returns channel names, IDs, topics, purposes, and archive status.
Parameters:
- query - Search query for finding channels
- limit - Number of results to return, up to 20. Defaults to 20
- cursor - Cursor for pagination from a previous response
- channel_types - Comma-separated channel types:
public_channel,private_channel. Defaults topublic_channel - include_archived - Include archived channels in results
- response_format -
detailedorconcise. Defaults todetailed
Search Users
slack_search_users
Searches for Slack users by name, email, or profile attributes such as department, role, or title.
Parameters:
- query - Search query (e.g.,
John Smith,john@company.com,engineering -intern) - limit - Number of results to return, up to 20. Defaults to 20
- cursor - Cursor for pagination from a previous response
- response_format -
detailedorconcise. Defaults todetailed