
Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, a
io.github.adelaidasofia由 GitHub 帳號 adelaidasofia 發布v0.1.1更新於 Oct 24, 2026
Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, and triple-mode…
概覽
在本機執行的 Slack MCP 伺服器,讓助理跨多個工作區讀取與搜尋訊息,並以草稿加確認流程送出訊息。
- 可以做什麼
- 列出已設定的 Slack 工作區並執行健康檢查,回應中的權杖會被遮蔽,每次呼叫都寫入稽核記錄。跨工作區讀取與搜尋頻道、討論串、使用者與訊息。為訊息、回覆與編輯建立草稿,確認後才發布,也可取消。立即新增表情回應、標記已讀、刪除助理自己送出的訊息。把讀取過的頻道鏡像成本機 Markdown 筆記,存入 vault 資料夾。
- 適用情境
- 適合同時使用多個 Slack 工作區、希望助理搜尋與整理對話,或先草擬對外訊息再由你確認送出的情境。
- 執行需求
- 以本機 Python 程序執行(也可透過 Claude Code 外掛安裝),需要 .env 檔案。每個工作區需要 Slack 權杖:xoxc 加 cookie、xoxp 或 xoxb,其中 SLACK_XOXC_TOKEN 被宣告為必填密鑰。工作區別名與 vault 路徑透過環境變數設定。Cookie 需手動擷取,每個工作區約數分鐘。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, a,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
slack-mcp
[License] [GitHub stars] [Last commit] [Open issues] [PyPI version] [PyPI downloads] [Built by Mycelium AI]
Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, and triple-mode auth.
One process, N workspaces, every write goes through draft → confirm. Built because the existing Slack MCP servers are single-workspace per instance and the Anthropic reference impl was deprecated.
Why use this over the alternatives
Install
Open Claude Code, paste:
Then fill in tokens in .env (see SETUP.md for cookie extraction walkthrough).
Legacy install
Register in your project .mcp.json (or via claude mcp add -s user):
Restart Claude Code, then run claude mcp list to verify slack shows up.
Tools (v0.1.1)
Meta: list_workspaces, healthcheck
Read: list_channels, search_channels, read_channel, read_thread, list_users, search_users, get_user_profile, search_messages
Write (draft+confirm): send_message → confirm_send, send_reply_quote → confirm_send, update_own_message → confirm_send, cancel_draft
Write (low-consequence, immediate): add_reaction, mark_read, delete_own_message
Auth modes
Cookie extraction takes ~3 minutes per workspace. See SETUP.md.
Vault auto-export
Every read_channel call mirrors the channel to <vault>/🤖 AI Chats/Slack/<workspace>/<channel>.md. Idempotent (same channel + day overwrites cleanly). Disable via SLACK_MCP_VAULT_EXPORT=false.
Configuration
All config via env vars (loaded from .env at process start):
SLACK_WORKSPACES— comma-separated list of aliases (e.g.onde,mycelium)SLACK_PRIMARY_WORKSPACE— default workspace when tool calls omitworkspace- Per-workspace:
SLACK_WORKSPACE_<ALIAS>_TYPE,_TOKEN,_COOKIE(xoxc only),_TEAM_ID,_LABEL SLACK_MCP_VAULT_PATH— vault root for the auto-export mirror (default~/Documents/Vault)SLACK_MCP_VAULT_EXPORT—true/false(defaulttrue)SLACK_MCP_AUDIT_LOG_PATH— JSONL audit log pathSLACK_MCP_DRAFT_TTL_SECONDS— draft expiration (default 3600)SLACK_MCP_SCRUB_PROMPT_INJECTION—true/false(defaulttrue)
Safety patterns
- Draft + confirm. Every send (
send_message,send_reply_quote,update_own_message) returns adraft_id. Nothing posts untilconfirm_send(draft_id)is called. Drafts expire after 1 hour. One-time confirm.update_own_messagedrafts include a before/after preview so the operator can diff before confirming the edit. - Workspace required on writes. No global default for sends — every write tool requires
workspaceto prevent wrong-workspace posts when channel names collide. - Audit log. Every tool call appends a JSONL record. Tokens are redacted.
- Prompt-injection scrubber. Incoming message text is sanitized for known prompt-injection patterns (zalgo, role-spoof headers, fake fences). Hits are wrapped not deleted so the operator sees the attempt.
- Token redaction.
list_workspacesreturns redacted profiles only. Tokens never appear in tool responses.
Related MCPs
Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):
- imessage-mcp - macOS iMessage
- whatsapp-mcp - WhatsApp via whatsmeow
- google-workspace-mcp - Gmail / Calendar / Drive / Docs / Sheets
- apollo-mcp - Apollo.io CRM + sequences
- substack-mcp - Substack writing + analytics
- luma-mcp - lu.ma events
- parse-mcp - markitdown / Docling / LlamaParse router
- rescuetime-mcp - RescueTime productivity data
- graph-query-mcp - vault knowledge graph queries
- investor-relations-mcp - seed-raise pipeline tracker
- vault-sync-mcp - bidirectional vault sync
Telemetry
This plugin sends a single anonymous install signal to myceliumai.co the first time it loads in a Claude Code session on a given machine.
What is sent:
- Plugin name (e.g.
slack-mcp) - Plugin version (e.g.
0.1.0)
What is NOT sent:
- No user identifiers, names, emails, tokens, or API keys
- No file paths, message content, or anything from your work
- No IP address is stored after dedup processing
Why: Helps the maintainer know which plugins people actually install, so attention goes to the ones that get used.
Opt out: Set the environment variable MYCELIUM_NO_PING=1 before launching Claude Code. The hook will skip the network call entirely. Already-pinged installs leave a sentinel at ~/.mycelium/onboarded-<plugin> — delete it if you want to reset state.
License
MIT — see LICENSE.
來源:README.md,提交 e9c5a02
工具
0版本歷史
1- v0.1.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分