Slack User
Interact with Slack workspaces as a user via the Slack API.
Slack User MCP Server
MCP Server for the Slack API, enabling Claude to interact with Slack workspaces as a user.
Tools
-
slack_list_channels- List public channels in the workspace
- Optional inputs:
limit(number, default: 100, max: 200): Maximum number of channels to returncursor(string): Pagination cursor for next page
- Returns: List of channels with their IDs and information
-
slack_post_message- Post a new message to a Slack channel
- Required inputs:
channel_id(string): The ID of the channel to post totext(string): The message text to post
- Returns: Message posting confirmation and timestamp
-
slack_reply_to_thread- Reply to a specific message thread
- Required inputs:
channel_id(string): The channel containing the threadthread_ts(string): Timestamp of the parent messagetext(string): The reply text
- Returns: Reply confirmation and timestamp
-
slack_add_reaction- Add an emoji reaction to a message
- Required inputs:
channel_id(string): The channel containing the messagetimestamp(string): Message timestamp to react toreaction(string): Emoji name without colons
- Returns: Reaction confirmation
-
slack_get_channel_history- Get recent messages from a channel
- Required inputs:
channel_id(string): The channel ID
- Optional inputs:
limit(number, default: 10): Number of messages to retrieve
- Returns: List of messages with their content and metadata
-
slack_get_thread_replies- Get all replies in a message thread
- Required inputs:
channel_id(string): The channel containing the threadthread_ts(string): Timestamp of the parent message
- Returns: List of replies with their content and metadata
-
slack_get_users- Get list of workspace users with basic profile information
- Optional inputs:
cursor(string): Pagination cursor for next pagelimit(number, default: 100, max: 200): Maximum users to return
- Returns: List of users with their basic profiles
-
slack_get_user_profile- Get detailed profile information for a specific user
- Required inputs:
user_id(string): The user's ID
- Returns: Detailed user profile information
Setup
-
Create a Slack App:
- Visit the Slack Apps page
- Click "Create New App"
- Choose "From scratch"
- Name your app and select your workspace
-
Configure User Token Scopes: Navigate to "OAuth & Permissions" and add these scopes:
channels:history- View messages and other content in public channelschannels:read- View basic channel informationchat:write- Send messages as yourselfreactions:write- Add emoji reactions to messagesusers:read- View users and their basic information
-
Install App to Workspace:
- Click "Install to Workspace" and authorize the app
- Save the "User OAuth Token" that starts with
xoxp-
-
Get your Team ID (starts with a
T) by following this guidance
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
Local Installation
First install and build the server:
git clone https://github.com/lars-hagen/slack-user-mcp.git
cd slack-user-mcp
npm install
npm run build
Then configure Claude Desktop:
{
"mcpServers": {
"slack": {
"command": "npm",
"args": [
"run",
"--prefix",
"/path/to/slack-user-mcp",
"start"
],
"env": {
"SLACK_TOKEN": "xoxp-your-user-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
NPX
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack-user"
],
"env": {
"SLACK_TOKEN": "xoxp-your-user-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
Docker
{
"mcpServers": {
"slack": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SLACK_TOKEN",
"-e",
"SLACK_TEAM_ID",
"mcp/slack-user"
],
"env": {
"SLACK_TOKEN": "xoxp-your-user-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
Installing via Smithery
To install Slack User Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @lars-hagen/slack-user-mcp2 --client claude
Troubleshooting
If you encounter permission errors, verify that:
- All required scopes are added to your Slack app
- The app is properly installed to your workspace
- The tokens and workspace ID are correctly copied to your configuration
- The app has been added to the channels it needs to access
- You're using a User OAuth Token (starts with xoxp-) not a Bot Token
Build
Docker build:
docker build -t mcp/slack-user -f src/slack/Dockerfile .
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
संबंधित सर्वर
TIDAL MCP: My Custom Picks
Personalized music recommendations and playlist management for TIDAL, powered by its API and LLM filtering.
MCP Server SSH Client
A local MCP server that securely connects to remote servers over SSH, acting as a proxy for MCP commands.
Twilio Manager MCP
Manage Twilio resources such as subaccounts, phone numbers, and regulatory bundles using the Twilio API.
Email
This server enables users to send emails through various email providers, including Gmail, Outlook, Yahoo, Sina, Sohu, 126, 163, and QQ Mail. It also supports attaching files from specified directories, making it easy to upload attachments along with the email content.
Email MCP Server
Send emails via SMTP. Requires SMTP server credentials to be configured through environment variables.
Telegram Archive MCP
Search messages, browse chats, and access archived Telegram history from a self-hosted instance
Elisym Mcp Server
AI agents that hire other AI agents — and pay in Crypto. Decentralized agent marketplace.
Bluesky
Post to the Bluesky social network using the AT Protocol.
nworks
NAVER WORKS CLI + MCP server. 26 tools for messages, calendar, drive, mail, tasks, and boards.
Reddit
Access Reddit's public API to browse frontpage posts, subreddit information, and read post comments.