Provides an MCP server to interact with Slack workspaces using OAuth 2.0 tokens for channels, messages, files, and users.
Configuration
View docs{
"mcpServers": {
"iskifogl-slack-mcp": {
"command": "node",
"args": [
"/path/to/slack-mcp/dist/index.js"
],
"env": {
"SLACK_TEAM_ID": "T0123456789",
"SLACK_ACCESS_TOKEN": "xoxp-your-token"
}
}
}
}This MCP server lets you integrate Slack into your AI workflows by authenticating with Slack user tokens and exposing channel, message, user, file, and reaction operations through a dedicated MCP endpoint. It enables you to perform common Slack actions from your MCP-enabled assistant while keeping user tokens securely scoped and managed.
You connect your MCP client to the Slack MCP server, which runs locally or in your infrastructure, and provide a user token with the necessary scopes. The server exposes tools that let you list channels, read and send messages, manage users and files, and handle reactions. Start by configuring your MCP client to call the available Slack tools with the appropriate arguments (channel IDs, text content, file details, etc.). Ensure your Slack token has the required scopes for the actions you intend to perform.
To enable access, supply the Slack user token as an environment variable when starting the MCP process. The token should remain secret and only be used by the server backend. The server also supports an optional team ID to scope the token to a specific workspace.
When you run the MCP, specify the downstream Slack MCP configuration if you are linking to multiple sources. Use the standard tool names listed in the available tools section to perform actions like listing channels, sending messages, or searching messages.
Prerequisites you need before installation: Node.js 18+ and a Slack App with OAuth 2.0 configured.
# Install dependencies
npm install
# Build the Slack MCP server (output will be in dist/)
npm run buildConfiguration and runtime notes are provided below to help you run the Slack MCP server securely and reliably.
Environment variables you will use when launching the MCP server include the Slack user token and an optional team ID. These are documented as part of the MCP configuration and are required for authenticated Slack operations.
Security best practices: keep tokens secure, use HTTPS for OAuth redirects, validate state to prevent CSRF, and rotate tokens as needed. Only request the scopes you actually need for your integration.
List all accessible channels (public and private)
Get details about a specific channel
Retrieve the member list of a channel
Fetch messages from a channel
Get replies within a thread
Send a message to a channel
Reply to an existing thread
Search messages across channels (requires user token)
List workspace users
Get details about a user
Get a user profile
List shared files
Get file details
Upload a file to Slack
Add an emoji reaction to a message
Remove a reaction from a message
Get reactions on a message