Slack MCP Server

Integrations

  • Provides the ability to interact with a Slack workspace by posting messages to channels and retrieving a list of all workspace 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.

-
security - not tested
F
license - not found
-
quality - not tested

A connector enabling Claude Desktop or any MCP client to interact with Slack workspaces to post messages and query user lists.

  1. Local Development
    1. Slack Permission Scopes
      1. Contact
        ID: x20zczf7og