Enables AI interaction with Slack workspaces through nine tools for channel management, messaging, user profiles, and re...
Created byApr 22, 2025
slack-mcp-server
A MCP(Model Context Protocol) server for accessing Slack API. This server allows AI assistants to interact with the Slack API through a standardized interface.
Features
Available tools:
slack_list_channels - List public channels in the workspace with pagination
slack_post_message - Post a new message to a Slack channel
slack_reply_to_thread - Reply to a specific message thread in Slack
slack_add_reaction - Add a reaction emoji to a message
slack_get_channel_history - Get recent messages from a channel
slack_get_thread_replies - Get all replies in a message thread
slack_get_users - Retrieve basic profile information of all users in the workspace
slack_get_user_profile - Get a user's profile information
slack_search_messages - Search for messages in the workspace
Quick Start
Installation
NOTE: Its now hosted in GitHub Registry so you need your PAT.
Configuration
You need to set the following environment variables:
SLACK_BOT_TOKEN: Slack Bot User OAuth Token
SLACK_USER_TOKEN: Slack User OAuth Token (required for some features like message search)
You can also create a .env file to set these environment variables:
Usage
Start the MCP server
Directly:
Or, run the installed module with node:
Edit MCP configuration json for your client:
Implementation Pattern
This server adopts the following implementation pattern:
Define request/response using Zod schemas
Implementation flow:
For example, the slack_list_channels implementation parses the request with ListChannelsRequestSchema, calls slackClient.conversations.list, and returns the response parsed with ListChannelsResponseSchema.
Development
Available Scripts
npm run dev - Start the server in development mode with hot reloading
npm run build - Build the project for production
npm run start - Start the production server
npm run lint - Run linting checks (ESLint and Prettier)
npm run fix - Automatically fix linting issues
Contributing
Fork the repository
Create your feature branch
Run tests and linting: npm run lint
Commit your changes
Push to the branch
Create a Pull Request
slack-mcp-server
A MCP(Model Context Protocol) server for accessing Slack API. This server allows AI assistants to interact with the Slack API through a standardized interface.
Features
Available tools:
slack_list_channels - List public channels in the workspace with pagination
slack_post_message - Post a new message to a Slack channel
slack_reply_to_thread - Reply to a specific message thread in Slack
slack_add_reaction - Add a reaction emoji to a message
slack_get_channel_history - Get recent messages from a channel
slack_get_thread_replies - Get all replies in a message thread
slack_get_users - Retrieve basic profile information of all users in the workspace
slack_get_user_profile - Get a user's profile information
slack_search_messages - Search for messages in the workspace
Quick Start
Installation
NOTE: Its now hosted in GitHub Registry so you need your PAT.
Configuration
You need to set the following environment variables:
SLACK_BOT_TOKEN: Slack Bot User OAuth Token
SLACK_USER_TOKEN: Slack User OAuth Token (required for some features like message search)
You can also create a .env file to set these environment variables:
Usage
Start the MCP server
Directly:
Or, run the installed module with node:
Edit MCP configuration json for your client:
Implementation Pattern
This server adopts the following implementation pattern:
Define request/response using Zod schemas
Implementation flow:
For example, the slack_list_channels implementation parses the request with ListChannelsRequestSchema, calls slackClient.conversations.list, and returns the response parsed with ListChannelsResponseSchema.
Development
Available Scripts
npm run dev - Start the server in development mode with hot reloading
npm run build - Build the project for production
npm run start - Start the production server
npm run lint - Run linting checks (ESLint and Prettier)