slack-mcp-server

AVIMBU/slack-mcp-server

3.4

If you are the rightful owner of slack-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This is a connector to allow Claude Desktop (or any MCP client) to interact with your Slack workspace to post messages and query a list of all users.

Slack Model Context Protocol Server

This is a connector to allow Claude Desktop (or any MCP client) to interact with your Slack workspace to post messages and query a list of all users.

Local Development

In order to run this client locally, add the following configuration to your Claude Desktop MCP Server config file:

 {
  "mcpServers": {
    "mcp-slack-local": {
      "command": "node",
      "args": ["/path/to/project/dist/index.js"], <---- replace this with your project path
      "env": {
        "SLACK_BOT_USER_OAUTH_TOKEN": "test-bot-token", 
        "SLACK_TEAM_ID": "test-team-id"
      }
    },
  }
}

After this, you should be able to test this implementation in your Claude Desktop App using example prompts like:

  • "Can you list all users of my Slack team?"
  • "Can you send a welcome message to my Slack Channel with the ID <channel id>?"

Running the server locally:

node dist/index.js

With the build in another terminal

npm run watch

Slack Permission Scopes

The following permissions are already implemented:

PermissionDescriptionImplemented
app_configurations:readRead app configuration info via App Manifest APIs❌
app_configurations:writeWrite app configuration info and create apps via App Manifest APIs❌
app_mentions:readView messages that directly mention @your_slack_app in conversations that the app is in❌
assistant:writeAllow your slack app to act as an AI Assistant❌
bookmarks:readList bookmarks❌
bookmarks:writeCreate, edit, and remove bookmarks❌
calls:readView information about ongoing and past calls❌
calls:writeStart and manage calls in a workspace❌
canvases:readyour slack app will be able to access contents of canvases created inside Slack.❌
canvases:writeyour slack app will be able to create, edit and remove canvases.❌
channels:historyView messages and other content in public channels that your slack app has been added to❌
channels:joinJoin public channels in a workspace❌
channels:manageManage public channels that your slack app has been added to and create new ones❌
channels:readView basic information about public channels in a workspace❌
channels:write.invitesInvite members to public channels❌
channels:write.topicSet the description of public channels❌
chat:writePost messages in approved channels & conversationsβœ…
chat:write.customizeSend messages as @your_slack_app with a customized username and avatar❌
chat:write.publicSend messages to channels @your_slack_app isn't a member of❌
commandsAdd shortcuts and/or slash commands that people can use❌
conversations.connect:manageAllows your slack app to manage Slack Connect channels❌
conversations.connect:readReceive Slack Connect invite events sent to the channels your slack app is in❌
conversations.connect:writeCreate Slack Connect invitations for channels that your slack app has been added to, and accept invitations sent to your slack app❌
datastore:readView and see data from Slack App Datastore❌
datastore:writeWrite data to Slack App Datastore❌
dnd:readView Do Not Disturb settings for people in a workspace❌
emoji:readView custom emoji in a workspace❌
files:readView files shared in channels and conversations that your slack app has been added to❌
files:writeUpload, edit, and delete files as your slack app❌
groups:historyView messages and other content in private channels that your slack app has been added to❌
groups:readView basic information about private channels that your slack app has been added to❌
groups:writeManage private channels that your slack app has been added to and create new ones❌
groups:write.invitesInvite members to private channels❌
groups:write.topicSet the description of private channels❌
im:historyView messages and other content in direct messages that your slack app has been added to❌
im:readView basic information about direct messages that your slack app has been added to❌
im:writeStart direct messages with people❌
im:write.topicSet the description in direct messages❌
incoming-webhookCreate one-way webhooks to post messages to a specific channel❌
links.embed:writeEmbed video player URLs in messages and app surfaces❌
links:readView URLs in messages❌
links:writeShow previews of URLs in messages❌
metadata.message:readAllows your slack app to read message metadata in channels that your slack app has been added to❌
mpim:historyView messages and other content in group direct messages that your slack app has been added to❌
mpim:readView basic information about group direct messages that your slack app has been added to❌
mpim:writeStart group direct messages with people❌
mpim:write.topicSet the description in group direct messages❌
noneExecute methods without needing a scope❌
pins:readView pinned content in channels and conversations that your slack app has been added to❌
pins:writeAdd and remove pinned messages and files❌
reactions:readView emoji reactions and their associated content in channels and conversations that your slack app has been added to❌
reactions:writeAdd and edit emoji reactions❌
reminders:readView reminders created by your slack app❌
reminders:writeAdd, remove, or mark reminders as complete❌
remote_files:readView remote files added by the app in a workspace❌
remote_files:shareShare remote files on a user's behalf❌
remote_files:writeAdd, edit, and delete remote files on a user's behalf❌
search:read.filesSearch a workspace's content in files❌
search:read.imSearch a workspace's content in direct messages❌
search:read.mpimSearch a workspace's content in group direct messages❌
search:read.privateSearch a workspace's content in private channels❌
search:read.publicSearch a workspace's content in public channels❌
team.billing:readAllows your slack app to read the billing plan for workspaces your slack app has been installed to❌
team.preferences:readAllows your slack app to read the preferences for workspaces your slack app has been installed to❌
team:readView the name, email domain, and icon for workspaces your slack app is connected to❌
tokens.basicExecute methods without needing a scope❌
triggers:readRead new Platform triggers❌
triggers:writeCreate new Platform triggers❌
usergroups:readView user groups in a workspace❌
usergroups:writeCreate and manage user groups❌
users.profile:readView profile details about people in a workspace❌
users:readView people in a workspaceβœ…
users:read.emailView email addresses of people in a workspace❌
users:writeSet presence for your slack app❌
workflow.steps:executeAdd steps that people can use in Workflow Builder❌
workflows.templates:readRead a workflow template❌
workflows.templates:writeWrite a workflow template❌

Contact

If you have questions, feel free to contact us via AVIMBU.