Slack Model Context Protocol Server

Slack Model Context Protocol Server

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

AVIMBU

Developer Tools
Visit Server

README

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python