Provides tools for interacting with Slack workspaces, enabling AI assistants to manage channels, send and search messages, manage user profiles, handle file operations, and manage reactions.
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 Serversummarize the latest discussion in the #project-alpha channel"
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 Slack API integration. This server allows AI assistants to interact with Slack workspaces through OAuth 2.0 authenticated user tokens.
Features
Channel Operations: List channels, get channel info, get channel members
Message Operations: Read messages, send messages, reply to threads, search messages
User Operations: List users, get user info, get user profiles
File Operations: List files, get file info, upload files
Reaction Operations: Add/remove reactions, get message reactions
Prerequisites
Node.js 18+
A Slack App with OAuth 2.0 configured
User token (xoxp-...) with appropriate scopes
Installation
Slack App Setup
1. Create a Slack App
Go to api.slack.com/apps
Click "Create New App" → "From scratch"
Enter app name and select workspace
2. Configure OAuth Scopes
Add these User Token Scopes under "OAuth & Permissions":
3. Configure Redirect URI
Add your platform's callback URL under "OAuth & Permissions" → "Redirect URLs":
4. Get Client Credentials
Note down your:
Client ID
Client Secret
Environment Variables
The MCP server reads credentials from environment variables:
OAuth 2.0 Flow (Platform Implementation)
Step 1: Redirect User to Slack Authorization
Step 2: Handle OAuth Callback
Step 3: Start MCP Server with User Token
MCP Configuration
Add to your Claude Code configuration (~/.claude/claude_desktop_config.json):
Available Tools
Channel Tools
Tool | Description |
| List all accessible channels |
| Get channel details |
| Get channel member list |
Message Tools
Tool | Description |
| Get messages from a channel |
| Get replies in a thread |
| Send a message to a channel |
| Reply to a thread |
| Search messages (requires user token) |
User Tools
Tool | Description |
| List workspace users |
| Get user details |
| Get user profile |
File Tools
Tool | Description |
| List shared files |
| Get file details |
| Upload a file |
Reaction Tools
Tool | Description |
| Add emoji reaction |
| Remove emoji reaction |
| Get message reactions |
Example Usage
List Channels
Send Message
Search Messages
Error Handling
The server returns structured error responses:
Common error codes:
invalid_auth: Token is invalidtoken_revoked: Token has been revokedmissing_scope: Token lacks required scopechannel_not_found: Channel doesn't existratelimited: Rate limit exceeded
Security Considerations
Never expose user tokens in client-side code
Store tokens securely in your database (encrypted)
Use HTTPS for all OAuth redirects
Validate state parameter to prevent CSRF
Rotate tokens periodically using refresh tokens
Request only necessary scopes
License
MIT