Slack MCP Server
Pricing
Pay per usage
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
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.
Overview
This Actor wraps korotovsky/slack-mcp-server, making it accessible via Apify's cloud infrastructure. No local setup required.
Key Features
| Feature | Description |
|---|---|
| 5 MCP Tools | conversations_history, conversations_replies, conversations_add_message, conversations_search_messages, channels_list |
| 2 Resources | Users list, Channels list |
| 3 Auth Modes | OAuth (xoxp), Bot (xoxb), Browser stealth (xoxc/xoxd) |
| Smart Pagination | Time-based (1d, 7d, 1m) or count-based limits |
| Safety First | Message posting disabled by default |
Quick Start
1. Get Your Slack Token
Option A: OAuth Token (Recommended)
- Go to api.slack.com/apps
- Create or select your app
- Navigate to OAuth & Permissions
- Add scopes:
channels:history,channels:read,chat:write,search:read,users:read - 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)
- Open Slack in browser, press F12
- Go to Application → Cookies → Find
dcookie → use asxoxdToken - In Console, run:
JSON.parse(localStorage.localConfig_v2).teams[Object.keys(JSON.parse(localStorage.localConfig_v2).teams)[0]].token
- Copy the
xoxc-*value → use asxoxcToken
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,@usernamefor 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 threadthreadTs- 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 forfilterInChannel- Limit search to specific channelfilterFromUser- Messages from specific userfilterDateAfter/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-defaultorpopularity(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 channelmessageText- Message content (Markdown supported)enableMessagePosting- Must betrueto allow postingallowedPostingChannels- Optional whitelist of channel IDs
Input Reference
| Parameter | Type | Required | Description |
|---|---|---|---|
authMode | string | No | oauth, bot, or browser (default: oauth) |
xoxpToken | string | Conditional | User OAuth token (for OAuth mode) |
xoxbToken | string | Conditional | Bot token (for Bot mode) |
xoxcToken | string | Conditional | Browser token (for Browser mode) |
xoxdToken | string | Conditional | Browser cookie (required with xoxc) |
action | string | Yes | MCP tool to execute |
channelId | string | Conditional | Channel ID or name |
threadTs | string | Conditional | Thread timestamp for replies |
limit | string | No | Time range or count (default: 1d) |
searchQuery | string | Conditional | Search text |
enableMessagePosting | boolean | No | Allow 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 Case | Description |
|---|---|
| AI Slack Assistant | Let Claude or ChatGPT read and respond to Slack messages |
| Channel Analytics | Export message history for analysis |
| Search Automation | Find messages matching specific criteria |
| Cross-Workspace Sync | Archive messages to Apify datasets |
| Notification Bot | Post 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
| Limitation | Details |
|---|---|
| Bot tokens | Cannot use search functionality |
| Browser tokens | May expire and need refresh |
| Rate limits | ~50 requests/minute for most endpoints |
| Enterprise Grid | May have additional restrictions |
Resources
License
MIT License - See LICENSE for details.


