Server profile

Slack MCP Server

Connect an assistant to Slack channels, threads, DMs, and user information. The server supports filtered history and search, multiple transports, and optional posting or reactions disabled by default.

Server facts

Slack MCP Server

Project

License
MIT

Tech

Runtime / language
goGo
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
1,867
Last commit
Data as of

Tags

  • Message Search
  • Slack
  • Threads
  • Workspace Automation

Overview

Slack MCP Server exposes workspace conversations and related directory information to AI assistants. It retrieves channel history and thread replies, including direct and group messages, with pagination based on time windows or message counts. Searches can narrow results by channel, participant, sender, date, or thread membership. Channel names and user lookups are supported alongside identifiers, and cached user details can accompany messages for context. The README also describes unread-message retrieval with priority ordering, mention filtering, and mark-as-read support.

Authentication can use OAuth tokens or browser-session tokens, with different behavior depending on the token type. For example, message search is unavailable with bot tokens, and user search uses either a local cache or Slack's edge API. Write actions are not uniformly enabled: posting messages and adding reactions are disabled by default and can be enabled with channel restrictions. The tool catalog also includes creating and updating user groups, with the relevant OAuth scopes stated. Stdio, SSE, and HTTP transports are supported, as are outgoing proxy settings. However, the supplied README excerpt concentrates on capabilities and tool parameters rather than installation. It contains no runnable server launch command, so an exact startup recipe cannot be supplied from this input. That setup gap is separate from the documented breadth of its workspace toolset.

Install & configure

Requirements

  • Access to a Slack workspace
  • OAuth or browser-session credentials as described in the README
  • An MCP-compatible client

No install command stated in the README — see repo.

A runnable launch command and complete installation procedure are not stated in the provided README excerpt. Stdio, SSE, and HTTP are documented. Posting and reactions require explicit opt-in.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
conversations_historyRetrieve channel or DM history with time-based or count-based pagination.
conversations_repliesRead a conversation thread using its channel and thread timestamp.
conversations_add_messagePost text or Markdown after enabling the tool, optionally for selected channels only.
conversations_search_messagesFind messages using channel, user, date, and thread filters; unavailable with bot tokens.
channels_listEnumerate selected channel types with optional popularity sorting.
reactions_addAdd an emoji reaction when the reaction tool is explicitly enabled.
reactions_removeRemove an emoji reaction under the same opt-in permissions as adding reactions.
users_searchFind users by names or email using a token-dependent lookup method.
usergroups_listList workspace user groups, optionally including members or disabled groups.
usergroups_createCreate a user group with optional handle, description, and default channels.
usergroups_updateChange an existing user group's metadata or default channels.
usergroups_users_updateReplace the membership list of a user group.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Review a channel or DM over a selected time window.
  • Find messages by sender, channel, date, or thread.
  • Read complete thread context before preparing a response.
  • Manage Slack user groups when the required OAuth scopes are granted.

Strengths

  • Supports channels, threads, DMs, and group DMs.
  • Provides flexible history pagination and detailed search filters.
  • Posting and reactions are opt-in and can be restricted to selected channels.

Limitations

  • Message search is unavailable with bot tokens.
  • User lookup behavior differs between OAuth and browser-session credentials.
  • A runnable installation command is not stated in the provided README.

Frequently asked questions

Yes. The README describes both one-to-one DMs and group DMs alongside channel and thread access.

No. Message posting is disabled by default and must be explicitly enabled, optionally for particular channel IDs.

No. The README says bot tokens cannot use the Slack message search API.

The README lists stdio, SSE, and HTTP, along with support for outgoing proxy configuration.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers