Slack AI助手工具

一个基于FastMCP构建的Slack MCP服务器,为AI助手提供读取、搜索和与Slack工作区交互的工具。

  • by jeffmm
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jeffmm/slack-fast-mcp

使用说明

松弛快速mcp

Slack MCP服务器内置 FastMCP 这为人工智能助手提供了阅读、搜索和与Slack工作区交互的工具。Python 3.13+,完全异步。

特性

阅读工具 (始终可用):

  • conversations_history --从频道或DM获取消息
  • conversations_replies --获取消息线索
  • conversations_search_messages --使用筛选器搜索邮件(需要用户令牌)
  • channels_list --列出频道
  • users_search --按姓名、电子邮件或显示名称搜索用户
  • attachment_get_data --下载文件附件(最大5MB)

编写工具 (默认情况下禁用,通过环境变量选择加入):

  • conversations_add_message --向频道或DM发布消息
  • reactions_add / reactions_remove -添加或删除表情符号反应

资源:

  • slack://{workspace}/users --用户目录
  • slack://{workspace}/channels --频道目录

认证

支持三种身份验证方法,按优先级顺序排列:

1.用户令牌(推荐)

需要具有用户令牌范围的Slack应用程序。支持包括邮件搜索在内的所有功能。

export SLACK_MCP_XOXP_TOKEN=xoxp-...

2.机器人令牌

需要一个具有机器人令牌作用域的Slack应用程序。无法搜索邮件。

export SLACK_MCP_XOXB_TOKEN=xoxb-...

3.浏览器cookie身份验证(无需安装应用程序)

使用现有的Slack浏览器会话。无需Slack应用程序安装或工作区管理员批准——当您的工作区限制应用程序安装时非常有用。

export SLACK_MCP_XOXC_TOKEN=xoxc-...
export SLACK_MCP_XOXD_TOKEN=xoxd-...

这两个值必须一起设置。要提取它们:

  1. 在浏览器中打开Slack工作区并登录
  2. 打开DevTools(F12)
  3. Xoxc代币。 --将其粘贴到浏览器控制台中:
    JSON.parse(localStorage.localConfig_v2).teams[document.location.pathname.match(/^\/client\/([A-Z0-9]+)/)[1]].token
    
  4. xoxd令牌 --转到应用程序>Cookie> https://app.slack.com,复制名为的cookie的值 d

注意事项:

  • 令牌与您的浏览器会话绑定,并在您注销或Slack轮换会话时过期。您需要定期重新提取它们。
  • 所有API调用都显示为您的用户帐户,而不是机器人程序。
  • 这使用带有会话cookie的标准Slack API端点-它不使用未记录的内部API。

安装

uv sync --all-extras

用法

export SLACK_MCP_XOXP_TOKEN=xoxp-...  # or xoxb/xoxc+xoxd (see above)
uv run python -m slack_fast_mcp

克劳德桌面/克劳德代码

添加到MCP配置中:

{
  "mcpServers": {
    "slack": {
      "command": "uv",
      "args": ["run", "--project", "/path/to/slack-fast-mcp", "python", "-m", "slack_fast_mcp"],
      "env": {
        "SLACK_MCP_XOXP_TOKEN": "xoxp-..."
      }
    }
  }
}

配置

所有配置都是通过环境变量进行的。

令牌(必需--其中之一)

变量 描述
SLACK_MCP_XOXP_TOKEN 用户OAuth令牌(优先级1)
SLACK_MCP_XOXB_TOKEN Bot OAuth令牌(优先级2)
SLACK_MCP_XOXC_TOKEN 浏览器会话令牌(优先级3,需要 XOXD 也)
SLACK_MCP_XOXD_TOKEN 浏览器 d cookie值(优先级3,需要 XOXC 也)

写入工具门控(可选)

默认情况下,写入工具处于禁用状态。使用这些环境变量启用它们。每个人都接受:

  • "true" 或 "1" --启用所有频道
  • 逗号分隔的通道ID——允许列表(例如。 C001,C002)
  • !-前缀通道ID——块列表(例如。 !C003,!C004)
变量 控件
SLACK_MCP_ADD_MESSAGE_TOOL conversations_add_message
SLACK_MCP_REACTION_TOOL reactions_add / reactions_remove
SLACK_MCP_ATTACHMENT_TOOL attachment_get_data

其他选项

变量 默认值 描述
SLACK_MCP_LOG_LEVEL info 日志级别(debug, info, warning, error)
SLACK_MCP_CACHE_TTL 3600 缓存TTL(秒)或持续时间字符串(1h, 30m, 3600s)
SLACK_MCP_ADD_MESSAGE_MARK false 发送消息时将频道标记为已读
SLACK_MCP_ADD_MESSAGE_UNFURLING "" 控制链接在发送的消息中展开
SLACK_MCP_USERS_CACHE auto 持久用户缓存文件的路径
SLACK_MCP_CHANNELS_CACHE auto 持久通道缓存文件的路径

发展

make build       # Install dependencies
make test        # Run unit tests
make format      # Format code (ruff)
make lint        # Lint code (ruff)