@integrabot/slack
v0.0.1
Published
MCP server for Slack integration
Readme
Slack MCP Server
Category: Collaboration
An MCP server that enables Claude to interact with Slack workspaces, including sending messages, replying to threads, adding reactions, and retrieving user profiles.
Features
- Channel Management: List channels in a workspace with pagination support
- Messaging: Send new messages and reply to existing threads
- Reactions: Add emoji reactions to messages
- Conversation Access: Retrieve channel history and thread replies
- Search: Search for messages across all channels
- User Information: List users and access detailed profile information
Tools
Channel Management
- slack_list_channels
- List public channels in the workspace with pagination
- Inputs:
limit(number, optional): Maximum number of channels to return (default 100, max 200)cursor(string, optional): Pagination cursor for next page of results
Messaging
slack_post_message
- Post a new message to a Slack channel
- Inputs:
channel_id(string): The ID of the channel to post totext(string): The message text to post
slack_reply_to_thread
- Reply to a specific message thread in Slack
- Inputs:
channel_id(string): The ID of the channel containing the threadthread_ts(string): The timestamp of the parent messagetext(string): The reply text
Reactions
- slack_add_reaction
- Add a reaction emoji to a message
- Inputs:
channel_id(string): The ID of the channel containing the messagetimestamp(string): The timestamp of the message to react toreaction(string): The name of the emoji reaction (without ::)
Conversation Access
slack_get_channel_history
- Get recent messages from a channel
- Inputs:
channel_id(string): The ID of the channellimit(number, optional): Number of messages to retrieve (default 10)
slack_get_thread_replies
- Get all replies in a message thread
- Inputs:
channel_id(string): The ID of the channel containing the threadthread_ts(string): The timestamp of the parent message
Search
- slack_search_messages
- Search for messages across channels
- Inputs:
query(string): The search querycount(number, optional): Number of results to return (default 5)
User Information
slack_get_users
- Get a list of all users in the workspace with their basic profile information
- Inputs:
cursor(string, optional): Pagination cursor for next page of resultslimit(number, optional): Maximum number of users to return (default 100, max 200)
slack_get_user_profile
- Get detailed profile information for a specific user
- Inputs:
user_id(string): The ID of the user
Installation
npm install -g @integrabot/slackUsage
Environment Setup
Before using this MCP server, you need to configure your Slack credentials:
export SLACK_BOT_TOKEN=xoxb-your-bot-token
export SLACK_USER_TOKEN=xoxp-your-user-token
export SLACK_TEAM_ID=your-team-idStart the Server
slackConfiguration
Getting Slack Tokens
- Create a Slack App in the Slack API Console
- Add necessary OAuth scopes:
channels:read,chat:write,reactions:write,search:read,users:read
- Install the app to your workspace
- Copy the Bot Token (
xoxb-...) and User Token (xoxp-...) - Find your Team ID in your workspace settings
Rate Limits
This server implements rate limiting to respect Slack API's usage limits:
- 5 requests per second
- 80 requests per minute
Timeouts
This server implements a 15-second timeout on all API requests to prevent blocking.
License
MIT
