Slack MCP Server avatar
Slack MCP Server

Pricing

Pay per usage

Go to Apify Store
Slack MCP Server

Slack MCP Server

MCP server for Slack workspaces. Read channel history, search messages, fetch thread replies, list users and channels, and post messages. Supports OAuth, Bot, and browser token authentication. Based on korotovsky/slack-mcp-server with 600+ GitHub stars.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Quadruped

Quadruped

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Model Context Protocol server for Slack Workspaces. Enable AI assistants like Claude, ChatGPT, and Cursor to read channels, search messages, fetch threads, list users, and post messages.

Apify Actor MCP Compatible License: MIT


Overview

This Actor wraps korotovsky/slack-mcp-server, making it accessible via Apify's cloud infrastructure. No local setup required.

Key Features

FeatureDescription
5 MCP Toolsconversations_history, conversations_replies, conversations_add_message, conversations_search_messages, channels_list
2 ResourcesUsers list, Channels list
3 Auth ModesOAuth (xoxp), Bot (xoxb), Browser stealth (xoxc/xoxd)
Smart PaginationTime-based (1d, 7d, 1m) or count-based limits
Safety FirstMessage posting disabled by default

Quick Start

1. Get Your Slack Token

Option A: OAuth Token (Recommended)

  1. Go to api.slack.com/apps
  2. Create or select your app
  3. Navigate to OAuth & Permissions
  4. Add scopes: channels:history, channels:read, chat:write, search:read, users:read
  5. Install to workspace and copy the User OAuth Token (starts with xoxp-)

Option B: Bot Token

  • Use a Bot token (xoxb-) for automated integrations
  • Note: Bot tokens cannot search messages

Option C: Browser Tokens (Stealth)

  1. Open Slack in browser, press F12
  2. Go to Application → Cookies → Find d cookie → use as xoxdToken
  3. In Console, run:
    JSON.parse(localStorage.localConfig_v2).teams[Object.keys(JSON.parse(localStorage.localConfig_v2).teams)[0]].token
  4. Copy the xoxc-* value → use as xoxcToken

2. Run the Actor

{
"authMode": "oauth",
"xoxpToken": "xoxp-your-token-here",
"action": "conversations_history",
"channelId": "#general",
"limit": "7d"
}

Available Actions

conversations_history

Retrieve messages from a channel or DM.

{
"action": "conversations_history",
"channelId": "#general",
"limit": "7d"
}

Parameters:

  • channelId - Channel ID (C01234567) or name (#general, @username for DMs)
  • limit - Time range (1d, 7d, 1m) or message count

conversations_replies

Get threaded conversation replies.

{
"action": "conversations_replies",
"channelId": "C01234567",
"threadTs": "1234567890.123456"
}

Parameters:

  • channelId - Channel containing the thread
  • threadTs - Parent message timestamp

conversations_search_messages

Search messages across channels. Requires OAuth token (xoxp).

{
"action": "conversations_search_messages",
"searchQuery": "project update",
"filterInChannel": "#engineering",
"filterDateAfter": "2024-01-01"
}

Parameters:

  • searchQuery - Text to search for
  • filterInChannel - Limit search to specific channel
  • filterFromUser - Messages from specific user
  • filterDateAfter / filterDateBefore - Date range (YYYY-MM-DD)
  • filterThreadsOnly - Only return threaded messages

channels_list

List channels in the workspace.

{
"action": "channels_list",
"channelTypes": "public_channel,private_channel",
"sortBy": "popularity"
}

Parameters:

  • channelTypes - Types to list (comma-separated)
  • sortBy - default or popularity (by member count)

conversations_add_message

Post a message to a channel. Must enable enableMessagePosting.

{
"action": "conversations_add_message",
"channelId": "#general",
"messageText": "Hello from Apify!",
"enableMessagePosting": true
}

Parameters:

  • channelId - Target channel
  • messageText - Message content (Markdown supported)
  • enableMessagePosting - Must be true to allow posting
  • allowedPostingChannels - Optional whitelist of channel IDs

Input Reference

ParameterTypeRequiredDescription
authModestringNooauth, bot, or browser (default: oauth)
xoxpTokenstringConditionalUser OAuth token (for OAuth mode)
xoxbTokenstringConditionalBot token (for Bot mode)
xoxcTokenstringConditionalBrowser token (for Browser mode)
xoxdTokenstringConditionalBrowser cookie (required with xoxc)
actionstringYesMCP tool to execute
channelIdstringConditionalChannel ID or name
threadTsstringConditionalThread timestamp for replies
limitstringNoTime range or count (default: 1d)
searchQuerystringConditionalSearch text
enableMessagePostingbooleanNoAllow posting (default: false)

Output Format

Messages

{
"action": "conversations_history",
"channelId": "C01234567",
"user": "U01234567",
"text": "Message content here",
"timestamp": "1234567890.123456",
"thread_ts": "1234567890.123456"
}

Channels

{
"action": "channels_list",
"id": "C01234567",
"name": "general",
"topic": "General discussion",
"memberCount": 150
}

Use Cases

Use CaseDescription
AI Slack AssistantLet Claude or ChatGPT read and respond to Slack messages
Channel AnalyticsExport message history for analysis
Search AutomationFind messages matching specific criteria
Cross-Workspace SyncArchive messages to Apify datasets
Notification BotPost automated updates to channels

Safety Features

  • Message posting disabled by default — Must explicitly enable
  • Channel whitelist support — Restrict posting to specific channels
  • No credential storage — Tokens used only during run
  • Activity filtering — Join/leave messages filtered by default

Limitations

LimitationDetails
Bot tokensCannot use search functionality
Browser tokensMay expire and need refresh
Rate limits~50 requests/minute for most endpoints
Enterprise GridMay have additional restrictions

Resources


License

MIT License - See LICENSE for details.