Skip to main content
Glama

Slack MCP Server

by AVIMBU
README.md7.68 kB
# 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: | Permission | Description | Implemented | |------------|-------------|-------------| | app_configurations:read | Read app configuration info via App Manifest APIs | ❌ | | app_configurations:write | Write app configuration info and create apps via App Manifest APIs | ❌ | | app_mentions:read | View messages that directly mention @your_slack_app in conversations that the app is in | ❌ | | assistant:write | Allow your slack app to act as an AI Assistant | ❌ | | bookmarks:read | List bookmarks | ❌ | | bookmarks:write | Create, edit, and remove bookmarks | ❌ | | calls:read | View information about ongoing and past calls | ❌ | | calls:write | Start and manage calls in a workspace | ❌ | | canvases:read | your slack app will be able to access contents of canvases created inside Slack. | ❌ | | canvases:write | your slack app will be able to create, edit and remove canvases. | ❌ | | channels:history | View messages and other content in public channels that your slack app has been added to | ❌ | | channels:join | Join public channels in a workspace | ❌ | | channels:manage | Manage public channels that your slack app has been added to and create new ones | ❌ | | channels:read | View basic information about public channels in a workspace | ❌ | | channels:write.invites | Invite members to public channels | ❌ | | channels:write.topic | Set the description of public channels | ❌ | | chat:write | Post messages in approved channels & conversations | ✅ | | chat:write.customize | Send messages as @your_slack_app with a customized username and avatar | ❌ | | chat:write.public | Send messages to channels @your_slack_app isn't a member of | ❌ | | commands | Add shortcuts and/or slash commands that people can use | ❌ | | conversations.connect:manage | Allows your slack app to manage Slack Connect channels | ❌ | | conversations.connect:read | Receive Slack Connect invite events sent to the channels your slack app is in | ❌ | | conversations.connect:write | Create Slack Connect invitations for channels that your slack app has been added to, and accept invitations sent to your slack app | ❌ | | datastore:read | View and see data from Slack App Datastore | ❌ | | datastore:write | Write data to Slack App Datastore | ❌ | | dnd:read | View Do Not Disturb settings for people in a workspace | ❌ | | emoji:read | View custom emoji in a workspace | ❌ | | files:read | View files shared in channels and conversations that your slack app has been added to | ❌ | | files:write | Upload, edit, and delete files as your slack app | ❌ | | groups:history | View messages and other content in private channels that your slack app has been added to | ❌ | | groups:read | View basic information about private channels that your slack app has been added to | ❌ | | groups:write | Manage private channels that your slack app has been added to and create new ones | ❌ | | groups:write.invites | Invite members to private channels | ❌ | | groups:write.topic | Set the description of private channels | ❌ | | im:history | View messages and other content in direct messages that your slack app has been added to | ❌ | | im:read | View basic information about direct messages that your slack app has been added to | ❌ | | im:write | Start direct messages with people | ❌ | | im:write.topic | Set the description in direct messages | ❌ | | incoming-webhook | Create one-way webhooks to post messages to a specific channel | ❌ | | links.embed:write | Embed video player URLs in messages and app surfaces | ❌ | | links:read | View URLs in messages | ❌ | | links:write | Show previews of URLs in messages | ❌ | | metadata.message:read | Allows your slack app to read message metadata in channels that your slack app has been added to | ❌ | | mpim:history | View messages and other content in group direct messages that your slack app has been added to | ❌ | | mpim:read | View basic information about group direct messages that your slack app has been added to | ❌ | | mpim:write | Start group direct messages with people | ❌ | | mpim:write.topic | Set the description in group direct messages | ❌ | | none | Execute methods without needing a scope | ❌ | | pins:read | View pinned content in channels and conversations that your slack app has been added to | ❌ | | pins:write | Add and remove pinned messages and files | ❌ | | reactions:read | View emoji reactions and their associated content in channels and conversations that your slack app has been added to | ❌ | | reactions:write | Add and edit emoji reactions | ❌ | | reminders:read | View reminders created by your slack app | ❌ | | reminders:write | Add, remove, or mark reminders as complete | ❌ | | remote_files:read | View remote files added by the app in a workspace | ❌ | | remote_files:share | Share remote files on a user's behalf | ❌ | | remote_files:write | Add, edit, and delete remote files on a user's behalf | ❌ | | search:read.files | Search a workspace's content in files | ❌ | | search:read.im | Search a workspace's content in direct messages | ❌ | | search:read.mpim | Search a workspace's content in group direct messages | ❌ | | search:read.private | Search a workspace's content in private channels | ❌ | | search:read.public | Search a workspace's content in public channels | ❌ | | team.billing:read | Allows your slack app to read the billing plan for workspaces your slack app has been installed to | ❌ | | team.preferences:read | Allows your slack app to read the preferences for workspaces your slack app has been installed to | ❌ | | team:read | View the name, email domain, and icon for workspaces your slack app is connected to | ❌ | | tokens.basic | Execute methods without needing a scope | ❌ | | triggers:read | Read new Platform triggers | ❌ | | triggers:write | Create new Platform triggers | ❌ | | usergroups:read | View user groups in a workspace | ❌ | | usergroups:write | Create and manage user groups | ❌ | | users.profile:read | View profile details about people in a workspace | ❌ | | users:read | View people in a workspace | ✅ | | users:read.email | View email addresses of people in a workspace | ❌ | | users:write | Set presence for your slack app | ❌ | | workflow.steps:execute | Add steps that people can use in Workflow Builder | ❌ | | workflows.templates:read | Read a workflow template | ❌ | | workflows.templates:write | Write a workflow template | ❌ | ## Contact If you have questions, feel free to contact us via [AVIMBU](https://avimbu.com).

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AVIMBU/slack-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server