使用说明
松弛快速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-...
这两个值必须一起设置。要提取它们:
- 在浏览器中打开Slack工作区并登录
- 打开DevTools(F12)
- Xoxc代币。 --将其粘贴到浏览器控制台中:
JSON.parse(localStorage.localConfig_v2).teams[document.location.pathname.match(/^\/client\/([A-Z0-9]+)/)[1]].token - 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)