LABSCO SUMMARY
Narrow on purpose — it writes and it lists users, and the repository is explicit that everything else is unimplemented.
The scope table is unusually honest: two rows are marked implemented, chat:write and users:read, and the rest of Slack's permission surface is marked not. That makes this a good fit for one job — an agent that needs to announce something into a channel — and the wrong fit if you expect to read history, search, or work threads. The narrow scope is also the security story: a token granted only these two permissions cannot read your conversations.
What it is
A small TypeScript connector that lets an MCP client write into your Slack workspace and read the member list.
What you get
- Messages posted to a channel by its ID, through the chat:write scope
- The workspace's user list, through the users:read scope
- A scope table in the repository marking exactly which two Slack permissions are implemented and which are not
Requirements
A Slack app with a bot token, supplied as SLACK_BOT_USER_OAUTH_TOKEN together with SLACK_TEAM_ID. The bot needs chat:write and users:read granted, and the built entry point launched by absolute path from your client config.
Setup effort
Build from source
USE CASES
01
Announcing a result into a channel
Post the message to the channel ID when a job finishes, without giving the bot access to read anything.
02
Welcoming someone into a channel
Send the message from the assistant as part of a wider onboarding conversation.
03
Working out who is in the workspace
List the team's users to resolve a name before addressing a message.
BEFORE YOU INSTALL
What to know first
Requires
- Node.js and npm (the server runs from your own build of the clone)
- SLACK_BOT_USER_OAUTH_TOKEN in your environment
- SLACK_TEAM_ID in your environment
INSTALLATION
Connect your client
MCP Clients
Claude Desktop
CLAUDE DESKTOP · TERMINAL
git clone https://github.com/AVIMBU/slack-mcp-server.git
cd slack-mcp-server
npm install
npm run buildThen add this to your Claude Desktop config:
CLAUDE DESKTOP · JSON
{
"mcpServers": {
"mcp-slack-local": {
"command": "node",
"args": [
"<YOUR_PATH_TO_PROJECT>/dist/index.js"
],
"env": {
"SLACK_BOT_USER_OAUTH_TOKEN": "<YOUR_SLACK_BOT_USER_OAUTH_TOKEN>",
"SLACK_TEAM_ID": "<YOUR_SLACK_TEAM_ID>"
}
}
}
}<YOUR_PATH_TO_PROJECT> is the full path of your slack-mcp-server clone. <YOUR_SLACK_BOT_USER_OAUTH_TOKEN> and <YOUR_SLACK_TEAM_ID> are your Slack app's Bot User OAuth Token and your workspace's team ID.