- Home
- MCP servers
- Slack User
Slack User
- javascript
11
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"lars-hagen-slack-user-mcp": {
"command": "npm",
"args": [
"run",
"--prefix",
"/path/to/slack-user-mcp",
"start"
],
"env": {
"SLACK_TOKEN": "xoxp-your-user-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}You can run the Slack User MCP Server to let Claude interact with a Slack workspace as a user. This server exposes practical tools to read channels, post and reply to messages, react to messages, and fetch user information, enabling conversational automation and workflow integrations within Slack.
How to use
With the Slack User MCP Server you operate through an MCP client. You can perform common Slack actions via the available tools: list channels, post messages to channels, reply to threads, add reactions, fetch recent channel history, retrieve thread replies, and obtain user lists or profiles. Use the client to issue calls to the server in a way that suits your workflow, such as automating channel announcements, responding in threads, or aggregating user data for analytics.
How to install
Prerequisites you need before installation are Node.js and npm. You should also be prepared to configure your Slack app with the necessary scopes and tokens.
Local Installation steps
git clone https://github.com/lars-hagen/slack-user-mcp.git
cd slack-user-mcp
npm install
npm run build
Configure Claude Desktop to run the local server. Create or update claude_desktop_config.json with the following content, replacing placeholders with your values.
{
"mcpServers": {
"slack": {
"command": "npm",
"args": [
"run",
"--prefix",
"/path/to/slack-user-mcp",
"start"
],
"env": {
"SLACK_TOKEN": "xoxp-your-user-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
Alternatively, you can start via NPX using the following configuration.
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack-user"
],
"env": {
"SLACK_TOKEN": "xoxp-your-user-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
Or run it with Docker if you prefer containerized execution.
{
"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"
}
}
}
}
Additional configuration and tools
Environment variables you need to provide for run-time access are the Slack user token and your Slack workspace team ID.
Available tools describe the Slack actions you can perform through this MCP server, including listing channels, posting messages, replying in threads, adding reactions, and retrieving history and user data.
Notes and troubleshooting
Ensure your Slack app has the required scopes and is installed in your workspace. Use a User OAuth Token that starts with xoxp- and verify the channels your app accesses. If you encounter permission issues, recheck scopes, installation status, and token values.
Build and license
The server is released under the MIT License. You are free to use, modify, and distribute the software in accordance with the license terms.
Available tools
slack_list_channels
List public channels in the workspace with optional limit and cursor for pagination.
slack_post_message
Post a new message to a Slack channel using a channel_id and text.
slack_reply_to_thread
Reply to a specific message thread in a channel by providing channel_id, thread_ts, and text.
slack_add_reaction
Add an emoji reaction to a message identified by channel_id and timestamp.
slack_get_channel_history
Fetch recent messages from a channel, with an optional limit parameter.
slack_get_thread_replies
Retrieve all replies within a specific thread given channel_id and thread_ts.
slack_get_users
Get a list of workspace users with basic profiles, supporting pagination.
slack_get_user_profile
Fetch detailed profile information for a specific user by user_id.