使用说明
🔐 Slack令牌提取器
提取Slack MCP令牌的自动化工具(xoxc 和 xoxd)使用Chrome DevTools协议。令牌会自动保存到 .env 便于与MCP服务器一起使用。
🎯 特性
- 一键提取 通过书签
- 自动谷歌SSO登录 检测和处理
- Chrome 开发者工具协议 用于HttpOnly cookie访问
- 保存到.env (git自动忽略)
- 浏览器保持打开状态 因此令牌仍然有效
📋 先决条件
- Node.js(v16或更高版本)
- 谷歌浏览器
- 使用Google SSO的Slack工作区
🚀 快速开始
看 QUICKSTART.md 获取分步说明。
太长,读不下去了
# Terminal 1: Start Chrome with debugging
npm run chrome
# Terminal 2: Start server
npm run server
# Browser: Open bookmarklet page, drag button to bookmarks
open public/bookmarklet.html
# Click bookmarklet anytime to extract tokens
📂 项目结构
slack-mcp/
├── public/
│ └── bookmarklet.html # Bookmarklet setup page
├── scripts/
│ ├── extract-tokens.js # Main extraction script
│ ├── start-chrome.sh # Chrome launcher with debugging
│ └── token-server.js # HTTP server for bookmarklet
├── .env # Configuration & tokens (gitignored)
├── .env.example # Template
├── .gitignore # Protects sensitive files
├── package.json # Dependencies
├── QUICKSTART.md # Step-by-step guide
└── README.md # This file
🔒 安全
Git忽略文件
.env-您的工作区URL和提取的令牌Chrome-Debug/-Chrome配置文件数据
最佳实践
- 永不承诺
.env文件 - Chrome运行时令牌有效
- 关闭Chrome以使令牌无效
- 定期旋转令牌
📖 运作原理
挑战
Slack的 d cookie(xoxd令牌)是 仅限Http,这意味着JavaScript无法访问它。传统的书签工具失败了。
解决方案
- Chrome 开发者工具协议 -启动Chrome
--remote-debugging-port=9222 - 木偶连接 -连接到正在运行的Chrome实例
- CDP会议 -使用
Network.getAllCookies绕过HttpOnly限制 - 自动化流程:
- 在新选项卡中打开Slack
- 检测并点击“使用谷歌登录”
- 等待谷歌重定向(如果已经登录,则自动登录)
- 通过CDP提取两个令牌
- 保存到
.env
📝 输出格式
.env 文件包含:
SLACK_MCP_XOXC_TOKEN=xoxc-...
SLACK_MCP_XOXD_TOKEN=xoxd-...
SLACK_TEAM_ID=T12345
SLACK_TOKENS_UPDATED=2025-01-20T...
奖金:该脚本还会自动更新您在以下位置的Claude Desktop配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json
代币在 slack MCP服务器配置会自动更新!
🔧 配置
工作区设置
-
复制
.env.example到.env:cp .env.example .env -
编辑
.env并设置您的工作区URL:SLACK_WORKSPACE_URL=https://your-workspace.slack.com
备注:这是唯一需要的配置。令牌会自动提取和保存。
🐛 故障排除
错误:“无法连接到Chrome”
Chrome必须在启用调试的情况下运行:
npm run chrome
错误:“提取已在进行中”
另一个提取正在进行中。等待它完成或重新启动服务器。
令牌未出现在.env中
- 检查终端是否有错误
- 验证Chrome调试是否正在运行:
curl http://localhost:9222/json/version - 确保您已完成谷歌登录
未找到“使用Google登录”
脚本将等待手动登录。只需在浏览器选项卡中登录Slack,它就会自动继续。
📦 脚本
npm run chrome-通过远程调试启动Chromenpm run server-启动书签小程序的HTTP服务器npm run extract-直接运行提取(不需要书签)
🤝 使用MCP
提取后,令牌处于 .env。将它们与Slack MCP服务器一起使用:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "<your-xoxc-token>",
"SLACK_TEAM_ID": "<your-team-id>"
}
}
}
}
或来源 .env 文件直接。
⚠️ 免责声明
此工具供您个人在Slack工作区中使用。令牌是敏感凭证:
- 确保代币安全
- 不要共享代币
- 如果令牌受到威胁,请进行轮换
- 仅用于授权目的
📄 许可证
MIT许可证-使用风险自负
专为自动化Slack MCP工作流程而构建