- Home
- MCP servers
- Slack
Slack
- javascript
0
GitHub Stars
javascript
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You have a Slack MCP Server that exposes Slack API interactions over an HTTP MCP endpoint. This server lets you list channels, fetch histories, post and edit messages, manage reactions, and query user details and other workspace data through a simple HTTP interface. It’s useful when you want to integrate Slack functionalities into an MCP client workflow without directly embedding Slack SDK calls in your application.
How to use
You interact with the Slack MCP Server through an MCP client by calling named tools exposed via HTTP endpoints. The server runs locally and exposes a health check, a tool discovery list, and a call endpoint to execute specific Slack-related actions. Start the server, obtain a Slack token, and then issue requests to trigger the desired tool with the required arguments.
How to install
Prerequisites: Node.js and npm installed on your machine. If you prefer a containerized setup, you can run the Docker commands provided.
- Ensure you have a Slack Bot Token (xoxb-... for bot tokens or xoxp-... for user tokens). You will pass this token to the server via an environment variable.
export SLACK_TOKEN=xoxb-your-token
- Install dependencies and start the HTTP MCP server locally.
npm install
npm run start:http
- (Alternative) Run the server using Docker.
docker build -t slack-mcp .
docker run -d -p 3929:3929 -e SLACK_TOKEN=xoxb-your-token slack-mcp
Additional sections
Endpoints you will use while integrating with the MCP client are as follows: health at GET /health, tools at GET /tools, and tool execution at POST /call. You will perform calls by posting JSON that specifies the tool name and its arguments.
Environment and permissions: you must provide a valid Slack token via the SLACK_TOKEN environment variable. The server requires this token to access Slack APIs.
Token scopes required vary by the token type. For Bot Tokens (xoxb-...), you typically need channels:read, channels:history, chat:write, users:read, reactions:write, and optionally search:read for query operations. For User Tokens (xoxp-...), the same scopes apply and may include additional scopes based on your use case.
Common usage patterns include listing channels, retrieving channel history, posting or editing messages, adding reactions, retrieving user information, listing workspace users, and searching messages. Each action corresponds to a tool exposed by the server.
Security and best practices
Keep your Slack token secure. Do not expose SLACK_TOKEN in client-side code or logs. Use server-side environment configuration and rotating tokens as needed.
Limit the token scopes to only what is necessary for your integration and periodically review permissions to reduce risk.
Troubleshooting
If you cannot reach the server, verify that it is running and listening on port 3929. Check your SLACK_TOKEN value and ensure it is correctly exported in the environment before starting the server.
If a tool call fails, confirm the tool name and required arguments you are sending match what is defined in the tool’s description and that the Slack token has the appropriate scopes.
Available tools
slack_list_channels
List channels in the Slack workspace.
slack_get_channel_history
Retrieve messages from a specific channel.
slack_post_message
Send a message to a channel.
slack_update_message
Edit an existing message.
slack_delete_message
Delete a message from a channel.
slack_add_reaction
Add an emoji reaction to a message.
slack_get_user_info
Get details about a user.
slack_list_users
List users in the workspace.
slack_search_messages
Search messages across channels.