slack-workspace-mcp-server
v0.0.1
Published
MCP server for Slack workspace integration
Maintainers
Readme
Slack MCP Server
A Model Context Protocol (MCP) server for integrating with Slack workspaces. This server provides tools for reading and writing messages, managing threads, and reacting to messages in Slack.
Features
- List Channels - View all accessible public and private channels
- Read Channel - Get channel info and recent messages
- Read Threads - Get full threaded conversations
- Post Messages - Send new messages to channels
- Reply to Threads - Continue threaded conversations
- Update Messages - Edit previously posted messages
- React to Messages - Add emoji reactions to messages
Installation
npm install slack-workspace-mcp-serverOr run directly with npx:
npx slack-workspace-mcp-serverConfiguration
Required Environment Variables
| Variable | Description | Example |
| ----------------- | -------------------------- | -------------- |
| SLACK_BOT_TOKEN | Slack Bot User OAuth Token | xoxb-1234... |
Optional Environment Variables
| Variable | Description | Default |
| -------------------- | ----------------------------------- | ----------- |
| ENABLED_TOOLGROUPS | Comma-separated list of tool groups | All enabled |
Getting a Bot Token
- Go to api.slack.com/apps
- Create a new app or select an existing one
- Navigate to OAuth & Permissions
- Add the following Bot Token Scopes:
channels:read- View basic channel informationchannels:history- View messages in public channelsgroups:read- View private channelsgroups:history- View messages in private channelschat:write- Send messagesreactions:write- Add reactions
- Install the app to your workspace
- Copy the Bot User OAuth Token (starts with
xoxb-)
MCP Client Configuration
For Claude Desktop, add to your configuration:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["slack-workspace-mcp-server"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token-here"
}
}
}
}Available Tools
Read-Only Tools
| Tool | Description |
| -------------------- | ------------------------------------- |
| slack_get_channels | List all accessible channels |
| slack_get_channel | Get channel info with recent messages |
| slack_get_thread | Get a thread with all replies |
Write Tools
| Tool | Description |
| ------------------------ | ---------------------------------- |
| slack_post_message | Post a new message to a channel |
| slack_reply_to_thread | Reply to an existing thread |
| slack_update_message | Update a previously posted message |
| slack_react_to_message | Add an emoji reaction to a message |
Tool Groups
You can control which tools are available using the ENABLED_TOOLGROUPS environment variable:
readonly- Only read operations (get channels, messages, threads)write- All operations including posting and reactions
Example: ENABLED_TOOLGROUPS=readonly to disable all write operations.
Development
# Install dependencies
npm run install-all
# Run in development mode
npm run dev
# Run tests
npm test # Functional tests
npm run test:integration # Integration tests
npm run test:manual # Manual tests (requires real credentials)
# Build
npm run buildLicense
MIT
