ClaudeCodeMod

All shelves / MCP servers

Slack Model Context Protocol Server

AVIMBU/slack-mcp-server · 25 stars · TypeScript

MCP server A Model Context Protocol Server for Interacting with Slack

Install

The repo has no one-line install. Follow its README.

Open the repo

Files

README.md

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.

Facts

Kind
MCP server
Repo
AVIMBU/slack-mcp-server
Group
Uncategorized
Stars
25
Language
TypeScript
Last push
2025-03-19
Forks
9

More on this shelf

  1. 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
  2. 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
  3. 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
  4. 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
  5. 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
  6. 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k