Allows searching Slack channels and messages, listing available workspace channels, and retrieving detailed message history from specific channels.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Slack MCP Serverfind messages about the API update in #development"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Slack MCP Server
A Model Context Protocol (MCP) server for searching Slack channels and messages.
Features
list_channels - List available Slack channels in the workspace
search_messages - Search for messages across channels using text matching
get_channel_history - Get message history from a specific channel
Installation
Using npx (Recommended)
No installation required. Add directly to your config:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Claude Code (~/.claude/settings.json):
Manual Installation
Then add to your config:
Configuration
Config File Locations
Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop (Windows):
%APPDATA%\Claude\claude_desktop_config.jsonClaude Code:
~/.claude/settings.json
Environment Variables
Variable | Required | Description |
| Yes | Slack Bot User OAuth Token |
| No | Comma-separated list of allowed channels (restricts searches) |
| No | Default channel ID for operations |
Channel Restrictions
Use SLACK_CHANNELS to restrict which channels can be searched. When configured:
Searches without a channel specified will search all allowed channels
Searches with a specific channel will validate it's in the allowed list
get_channel_historywill only work with allowed channels
Slack App Setup
Create a Slack App at https://api.slack.com/apps
Go to "OAuth & Permissions"
Add the following Bot Token Scopes:
channels:read- List public channelschannels:history- Read messages from public channelsgroups:read- List private channels (optional)groups:history- Read messages from private channels (optional)
Install the app to your workspace
Copy the "Bot User OAuth Token" (starts with
xoxb-)Important: Add the bot to each channel you want to search (right-click channel → "Open channel details" → "Integrations" → "Add apps")
Usage Examples
Once configured, you can use natural language to interact with Slack:
"List all channels in my Slack workspace"
"Search for messages about deployment in #engineering"
"Show me the last 50 messages from #general"
"Find messages from @john about the API"
"Search for error messages from last week"
Available Tools
list_channels
List available Slack channels in the workspace.
Parameter | Required | Description |
| No | Include private channels (default: false) |
| No | Include archived channels (default: false) |
| No | Max results (default: 100, max: 1000) |
search_messages
Search for messages across Slack channels using text matching. Fetches channel history and filters by query.
Parameter | Required | Description |
| Yes | Search text (case-insensitive). Use |
| No | Channel ID or name. If not set, searches all |
| No | Search messages after date (YYYY-MM-DD or ISO 8601) |
| No | Search messages before date (YYYY-MM-DD or ISO 8601) |
| No | Max results (default: 20, max: 100) |
Query examples:
error- messages containing "error"error warning- messages containing both "error" AND "warning"error | warning- messages containing "error" OR "warning"
get_channel_history
Get message history from a specific Slack channel.
Parameter | Required | Description |
| No | Channel ID (uses env var default) |
| No | Start time (Unix timestamp or ISO date) |
| No | End time (Unix timestamp or ISO date) |
| No | Max results (default: 100, max: 1000) |
| No | Include thread replies (default: false) |
Development
License
MIT