Labsco
MCP SERVER

Slack User

by lars-hagen

Read and post in Slack as yourself — channels, history, threads, reactions and profiles — through a user token rather than a bot.

Team Chat Platforms
Summary
Slack read and written under your own identity, with the reach that implies in both directions.

The difference from a bot integration is the whole point: messages appear from you, and the token sees the public channels you see rather than only those a bot was invited into. That also draws the boundary — the scopes it asks for cover public channels, posting, reacting and reading profiles, so private channels and DMs are outside what it requests. A user OAuth token is a long-lived credential worth treating like a password, which the project says in as many words.

What it is

A Slack server that acts with your own user token: list public channels, read channel history and thread replies, post a message or a threaded reply, react with an emoji, and look up workspace members.

What you get
  • slack_list_channels returns the workspace's public channels with their IDs, paginated by cursor
  • slack_get_channel_history returns recent messages with their metadata, and slack_get_thread_replies returns a whole thread from its parent timestamp
  • slack_post_message posts into a channel, and slack_reply_to_thread replies inside an existing thread rather than starting a new one
  • slack_add_reaction adds an emoji reaction to a message identified by its timestamp
  • slack_get_users lists workspace members with basic profiles, and slack_get_user_profile returns the full detail for one of them
  • Everything is sent as you rather than as a bot, because the credential is a user token
Requirements

A Slack app of your own, created from scratch and installed to the workspace, carrying the user token scopes channels:history, channels:read, chat:write, reactions:write and users:read. The resulting User OAuth Token — the one starting xoxp- — goes into SLACK_TOKEN. An organisation-level token additionally needs the team ID; an ordinary workspace token does not. Built from the repository and launched over stdio.

Setup effort

One command plus a key — npx -y @smithery/cli install @lars-hagen/slack-user-mcp --client claude, then supply credentials