Slack MCP Server
MCP server for Slack API integration with HTTP transport.
Setup
-
Get a Slack token (Bot Token
xoxb-...or User Tokenxoxp-...) -
Configure environment:
export SLACK_TOKEN=xoxb-your-token
- Run:
npm install
npm run start:http
Docker
docker build -t slack-mcp .
docker run -d -p 3929:3929 -e SLACK_TOKEN=xoxb-... slack-mcp
Endpoints
GET /health- Health checkGET /tools- List available toolsPOST /call- Call a tool
Available Tools
| Tool | Description |
|---|---|
slack_list_channels | List channels |
slack_get_channel_history | Get channel messages |
slack_post_message | Send a message |
slack_update_message | Edit a message |
slack_delete_message | Delete a message |
slack_add_reaction | Add emoji reaction |
slack_get_user_info | Get user details |
slack_list_users | List workspace users |
slack_search_messages | Search messages |
Example
# List channels
curl -X POST http://localhost:3929/call \
-H "Content-Type: application/json" \
-d '{"name": "slack_list_channels", "arguments": {}}'
# Post message
curl -X POST http://localhost:3929/call \
-H "Content-Type: application/json" \
-d '{"name": "slack_post_message", "arguments": {"channel": "C123", "text": "Hello!"}}'
Token Scopes Required
For Bot Token (xoxb-...):
channels:read,channels:historychat:writeusers:readreactions:writesearch:read(for search)
For User Token (xoxp-...):
- Same as above, plus any additional scopes for your use case