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.