A Model Context Protocol (MCP) server implementation for integrating AI assistants with Slack workspaces.
This package provides an MCP server that enables AI assistants to interact with Slack workspaces. It allows AI models to:
- List and browse channels
- Send messages to channels
- Reply to threads
- Add reactions to messages
- Retrieve channel history
- Get thread replies
- List users and retrieve user profiles
# Install from npm
npm install shouting-mcp-slack
# Or install globally
npm install -g shouting-mcp-slack
You can find the package on npm: shouting-mcp-slack
You need to set up a Slack Bot and obtain the necessary credentials:
- Create a Slack App in the Slack API Console
- Add the following Bot Token Scopes:
channels:history
channels:read
chat:write
reactions:write
users:read
users:read.email
- Install the app to your workspace
- Copy the Bot User OAuth Token
The server requires the following environment variables:
-
SLACK_BOT_TOKEN
: Your Slack Bot User OAuth Token -
SLACK_TEAM_ID
: Your Slack Team ID
# Set environment variables
export SLACK_BOT_TOKEN=xoxb-your-token
export SLACK_TEAM_ID=your-team-id
# Run the server
mcp-server-slack
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { SlackClient } from "shouting-mcp-slack";
// Initialize the server and client
const server = new Server({...});
const slackClient = new SlackClient(process.env.SLACK_BOT_TOKEN);
// Register your custom handlers
// ...
The server provides the following Slack integration tools:
-
slack_list_channels
: List available channels -
slack_post_message
: Send a message to a channel -
slack_reply_to_thread
: Reply to a thread -
slack_add_reaction
: Add a reaction to a message -
slack_get_channel_history
: Get message history from a channel -
slack_get_thread_replies
: Get replies in a thread -
slack_get_users
: List users in the workspace -
slack_get_user_profile
: Get a user's profile
ISC