MCP Slack

io.github.crunchtools由 GitHub 账号 crunchtools 发布v0.1.2更新于 Oct 24, 2026

Secure read-only MCP server for Slack workspaces

已验证STDIO仅桌面沟通与协作

概览

AI 生成的概览

通过 MCP 客户端读取 Slack 频道、消息、用户和文件,并可安排或发送消息。

可以做什么
一个本地 MCP 服务器,让助手读取 Slack 工作区:列出频道、读取频道历史与线程回复、搜索消息,查看表情回应、星标、用户、个人资料和文件元数据。两个写入工具可按可配置的延迟安排消息或立即发送,并可取消已安排的消息。它直接通过 HTTP 访问 Slack,而不依赖 SDK。
适用场景
适合助手需要在 Slack 中查询信息时,例如近期频道动态、某个线程、某个人或某个文件,或发送一条带有短暂取消窗口的消息。它不用于编辑或删除 Slack 中已有的内容。
运行要求
以本地 Python 包(uvx 或 uv)或容器方式运行。需要两种互斥凭据之一:SLACK_USER_TOKEN(来自 Slack 应用的用户 OAuth 令牌),或 cookie 组合 SLACK_COOKIE_TOKEN 与 SLACK_COOKIE_D。可选的 SLACK_ADD_MESSAGE_DELAY 控制消息安排。需要访问 Slack 的网络连接。
安装前请注意
cookie 模式使用实时浏览器会话凭据(SLACK_COOKIE_TOKEN、SLACK_COOKIE_D),持有者可完全以该用户身份在 Slack 中操作;它们随浏览器会话过期,Slack 也可能随时使其失效。在可以安装 Slack 应用时应优先使用 SLACK_USER_TOKEN。两个写入工具会发送或取消消息,需要 chat:write 权限;消息默认延迟发送,留有取消窗口。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MCP Slack,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-slack-crunchtools

Secure MCP server for Slack workspaces. Provides Claude Code (and other MCP clients) with read access to your Slack channels, messages, users, and files, and can send a message on your behalf.

Features

  • Mostly read: 15 of the 17 tools only read and publish readOnlyHint: true. The other two send a message and cancel a scheduled one; nothing edits or deletes existing content.
  • Secure: 6-layer security model (input validation, token handling, client hardening, output sanitization, runtime protection, supply chain security).
  • User OAuth Token: Uses xoxp- tokens for user-scoped access to your workspace.
  • No SDK dependency: Uses httpx directly for minimal, auditable HTTP calls.

Quick Start

Using uvx (Recommended)

bash
claude mcp add mcp-slack-crunchtools \    --env SLACK_USER_TOKEN=xoxp-your-token \    -- uvx mcp-slack-crunchtools

Using Container

bash
claude mcp add mcp-slack-crunchtools \    --env SLACK_USER_TOKEN=xoxp-your-token \    -- podman run -i --rm -e SLACK_USER_TOKEN quay.io/crunchtools/mcp-slack

Local Development

bash
claude mcp add mcp-slack-crunchtools \    --env SLACK_USER_TOKEN=xoxp-your-token \    -- uv run mcp-slack-crunchtools

Setup

See CLAUDE.md for detailed instructions on creating a Slack app and obtaining a User OAuth Token.

Configuration

Authentication uses one of two mutually exclusive modes. The server picks cookie mode when both cookie variables are set, and token mode otherwise.

VariableRequiredDefaultDescription
SLACK_USER_TOKENtoken mode—User OAuth token (xoxp-...) from a Slack app installed in the workspace.
SLACK_COOKIE_TOKENcookie mode—Browser session token (xoxc-...). Must be paired with SLACK_COOKIE_D.
SLACK_COOKIE_Dcookie mode—Value of the d cookie (xoxd-...) from the same browser session. Sent as a Cookie: header alongside SLACK_COOKIE_TOKEN.
SLACK_ADD_MESSAGE_DELAYno3mHow far ahead outgoing messages are scheduled, giving you a window to cancel one. Duration string: 30s, 5m, 2h, or a bare integer for seconds. Set to 0, 0s, none, or false to disable scheduling and post immediately.

Which auth mode to use

Cookie mode is the working path for this deployment. Token mode requires a Slack app to be created and approved in the workspace; where that approval is not available, cookie mode is the only way to authenticate at all.

Cookie mode borrows an existing browser session rather than holding a credential issued to an application. That has consequences worth stating plainly:

  • Both values are live session credentials. Anything holding them can act as you in Slack, with your full access. Treat them exactly as you would your password.
  • They expire when the browser session does, so cookie mode needs periodic re-extraction. A sudden wave of auth failures usually means the session rotated, not that the server broke.
  • Slack does not issue these for programmatic use and can invalidate them at any time. Cookie mode is a workaround for the absence of an approved app, not a supported integration path.

Prefer SLACK_USER_TOKEN whenever a Slack app can actually be installed.

Tools

ToolDescription
slack_auth_testTest connection and get token owner info
slack_list_channelsList workspace channels
slack_get_channel_infoGet channel details
slack_get_channel_historyRead channel messages
slack_get_thread_repliesRead thread replies
slack_list_channel_membersList channel members
slack_search_messagesSearch messages
slack_get_reactionsGet message reactions
slack_list_reactionsList user's reactions
slack_list_starsList starred items
slack_get_user_infoGet user details
slack_list_usersList workspace members
slack_get_user_profileGet user profile
slack_list_filesList files (metadata only)
slack_get_file_infoGet file metadata
slack_send_messageSchedule a message SLACK_ADD_MESSAGE_DELAY ahead, or post it immediately when the delay is 0 (write)
slack_cancel_scheduled_messageCancel a scheduled message before it sends (write)

The two write tools need the chat:write scope in token mode.

Security

See SECURITY.md for the full security design document.

License

AGPL-3.0-or-later

来源:README.md,提交 7e2131d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分