MCP Server
MCP Server for Slack
A Model Context Protocol server implementation that enables AI assistants to interact with Slack workspaces, allowing them to browse channels, send messages, reply to threads, add reactions, and retrieve user information.
1
GitHub Stars
8/23/2025
Last Updated
No Configuration
Please check the documentation below.
README Documentation
MCP Server for Slack
A Model Context Protocol (MCP) server implementation for integrating AI assistants with Slack workspaces.
Overview
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
Installation
# 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
Prerequisites
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
Configuration
The server requires the following environment variables:
SLACK_BOT_TOKEN
: Your Slack Bot User OAuth TokenSLACK_TEAM_ID
: Your Slack Team ID
Usage
Running as a CLI Tool
# Set environment variables
export SLACK_BOT_TOKEN=xoxb-your-token
export SLACK_TEAM_ID=your-team-id
# Run the server
mcp-server-slack
Using in Your Code
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
// ...
Available Tools
The server provides the following Slack integration tools:
slack_list_channels
: List available channelsslack_post_message
: Send a message to a channelslack_reply_to_thread
: Reply to a threadslack_add_reaction
: Add a reaction to a messageslack_get_channel_history
: Get message history from a channelslack_get_thread_replies
: Get replies in a threadslack_get_users
: List users in the workspaceslack_get_user_profile
: Get a user's profile
License
ISC
Author
Repository
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source