adelaidasofia/slack-mcp

GitHub: adelaidasofia/slack-mcp

一个面向 Claude Code 的多工作区 Slack MCP 服务器,通过草稿确认、注入清洗和审计日志保障 AI 与 Slack 交互的安全性。

Stars: 0 | Forks: 0

# slack-mcp 多工作区 Slack MCP 服务器,具备草稿+确认安全机制、vault 自动导出和三模式认证。 一个进程,N个工作区,每次写入均需经过 草稿 → 确认。开发此工具是因为现有的 Slack MCP 服务器每个实例仅支持单个工作区,且 Anthropic 的参考实现已被弃用。 ## 为什么选择此工具而非其他替代方案 | | 本项目 | Anthropic connector | korotovsky/slack-mcp-server | |---|---|---|---| | 每个服务器支持多工作区 | 是 | 否 | 否 | | 写入操作需草稿+确认 | 是 | 否 | 否 | | 读取内容自动导出至 Vault | 是 | 否 | 否 | | Prompt 注入清洗器 | 是 | 否 | 否 | | 审计日志 | 是 | 否 | 否 | | xoxc / xoxp / xoxb 认证 | 是 | n/a | 是 | | 状态 | 活跃 | 活跃(受限) | 活跃 | ## 安装 ``` git clone https://github.com/adelaidasofia/slack-mcp.git ~/.claude/slack-mcp cd ~/.claude/slack-mcp pip3 install --break-system-packages -r requirements.txt cp .env.example .env # 填写 tokens — 有关 cookie 提取的详细说明,请参阅 SETUP.md ``` 在你的项目 `.mcp.json` 中注册(或通过 `claude mcp add -s user` 注册): ``` { "mcpServers": { "slack": { "command": "python3", "args": ["-m", "slack_mcp.server"], "cwd": "/Users/YOU/.claude/slack-mcp" } } } ``` 重启 Claude Code,然后运行 `claude mcp list` 以验证 `slack` 是否出现。 ## 工具 (v0.1.1) **元数据:** `list_workspaces`, `healthcheck` **读取:** `list_channels`, `search_channels`, `read_channel`, `read_thread`, `list_users`, `search_users`, `get_user_profile`, `search_messages` **写入(草稿+确认):** `send_message` → `confirm_send`, `send_reply_quote` → `confirm_send`, `update_own_message` → `confirm_send`, `cancel_draft` **写入(低风险,立即执行):** `add_reaction`, `mark_read`, `delete_own_message` ## 认证模式 | 模式 | Token 形式 | 能力 | 适用场景 | |---|---|---|---| | `xoxc` | `xoxc-...` + `xoxd-...` cookie | 完整(搜索、内部 API) | 默认选项。最适合跨多个工作区的个人使用。 | | `xoxp` | `xoxp-...` | 永久,OAuth,免费计划下搜索受限 | 如果您不希望偶尔重新提取 cookie。 | | `xoxb` | `xoxb-...` | 仅限 Bot,无搜索功能,仅限受邀频道 | 罕见。仅在您需要 Bot 语义时使用。 | Cookie 提取每个工作区大约需要 3 分钟。详见 SETUP.md。 ## Vault 自动导出 每次 `read_channel` 调用都会将频道镜像到 `/🤖 AI Chats/Slack//.md`。此操作是幂等的(相同的频道 + 日期会干净地覆盖)。通过 `SLACK_MCP_VAULT_EXPORT=false` 禁用。 ## 配置 所有配置均通过环境变量进行(在进程启动时从 `.env` 加载): - `SLACK_WORKSPACES` — 逗号分隔的别名列表(例如 `onde,mycelium`) - `SLACK_PRIMARY_WORKSPACE` — 当工具调用省略 `workspace` 时的默认工作区 - 每个工作区:`SLACK_WORKSPACE__TYPE`, `_TOKEN`, `_COOKIE`(仅限 xoxc), `_TEAM_ID`, `_LABEL` - `SLACK_MCP_VAULT_PATH` — 自动导出镜像的 vault 根目录(默认为 `~/Documents/Vault`) - `SLACK_MCP_VAULT_EXPORT` — `true`/`false`(默认为 `true`) - `SLACK_MCP_AUDIT_LOG_PATH` — JSONL 审计日志路径 - `SLACK_MCP_DRAFT_TTL_SECONDS` — 草稿过期时间(默认为 3600) - `SLACK_MCP_SCRUB_PROMPT_INJECTION` — `true`/`false`(默认为 `true`) ## 安全模式 - **草稿 + 确认。** 每次发送(`send_message`, `send_reply_quote`, `update_own_message`)都会返回一个 `draft_id`。在调用 `confirm_send(draft_id)` 之前不会发布任何内容。草稿在 1 小时后过期。一次性确认。`update_own_message` 草稿包含修改前/后的预览,以便操作员在确认编辑前进行对比。 - **写入操作需指定工作区。** 发送操作没有全局默认值 — 每个写入工具都需要指定 `workspace`,以防止在频道名称冲突时发布到错误的工作区。 - **审计日志。** 每次工具调用都会追加一条 JSONL 记录。Token 均被隐去。 - **Prompt 注入清洗器。** 收到的消息文本会针对已知的 Prompt 注入模式(zalgo、角色伪装标头、伪造的代码块)进行净化。匹配到的内容会被包裹起来而非删除,以便操作员看到尝试过程。 - **Token 隐去。** `list_workspaces` 仅返回已隐去敏感信息的配置。Token 绝不会出现在工具响应中。 ## 相关 MCP 同一作者,相同架构模式(FastMCP,在适用的地方对写入操作采用草稿+确认,vault 自动导出,MIT): - [imessage-mcp](https://github.com/adelaidasofia/imessage-mcp) - macOS iMessage - [whatsapp-mcp](https://github.com/adelaidasofia/whatsapp-mcp) - 通过 whatsmeow 连接 WhatsApp - [google-workspace-mcp](https://github.com/adelaidasofia/google-workspace-mcp) - Gmail / Calendar / Drive / Docs / Sheets - [apollo-mcp](https://github.com/adelaidasofia/apollo-mcp) - Apollo.io CRM + 营销序列 - [substack-mcp](https://github.com/adelaidasofia/substack-mcp) - Substack 写作 + 分析 - [luma-mcp](https://github.com/adelaidasofia/luma-mcp) - lu.ma 活动 - [parse-mcp](https://github.com/adelaidasofia/parse-mcp) - markitdown / Docling / LlamaParse 路由 - [rescuetime-mcp](https://github.com/adelaidasofia/rescuetime-mcp) - RescueTime 生产力数据 - [graph-query-mcp](https://github.com/adelaidasofia/graph-query-mcp) - vault 知识图谱查询 - [investor-relations-mcp](https://github.com/adelaidasofia/investor-relations-mcp) - 种子轮融资管道追踪器 - [vault-sync-mcp](https://github.com/adelaidasofia/vault-sync-mcp) - 双向 vault 同步 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。 由 Adelaida Diaz-Roa 构建。完整安装或团队版本请访问 diazroa.com。
标签:AI安全, Anthropic, API集成, Chat Copilot, CIS基准, Claude Code, IP 地址批量处理, LLM工具, MCP Server, Python, Slack, Vault自动导出, 企业通信, 协同办公, 即时通讯, 可观测性, 多工作区, 安全写入, 审计日志, 开源, 提示注入防御, 无后门, 模拟器, 源代码安全, 草稿确认机制, 逆向工具