Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, a について
複数のワークスペースで Slack を操作する MCP サーバーで、3 種類の認証方式に対応します。重要な書き込みには下書きと確認を適用し、読み取ったチャンネルをナレッジベースへ出力できます。
主な機能
- 01Slack ワークスペース間の操作切り替え
- 02チャンネル、スレッド、ユーザー、メッセージの読み取り
- 03送信と編集の下書き・確認
- 04読み取ったチャンネルのナレッジベースへの出力
- 05呼び出しの記録とトークンの秘匿
- 06既知のプロンプトインジェクションパターンの除去
活用シーン
- 01設定済みワークスペースのメッセージ検索
- 02チャンネルを確認して内容をナレッジベースに保存
- 03確認用のメッセージや編集内容を準備
- 04誤ったワークスペースへの投稿を防止
MCP 対応
Slack の読み取り・書き込みツールを MCP クライアントに提供します。メッセージ送信、引用返信、編集には別途確認呼び出しが必要で、書き込みツールではワークスペースの指定が必須です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
slack-mcp
下書きと確認による安全対策、ボルトへの自動エクスポート、3 種類の認証方式を備えた、複数ワークスペース対応の Slack MCP サーバーです。
1 つのプロセスで N 個のワークスペースに対応し、すべての書き込みは下書き → 確認を経由します。既存の Slack MCP サーバーはインスタンスごとに単一ワークスペースしか扱えず、Anthropic のリファレンス実装も非推奨になったため、開発しました。
他の選択肢ではなく、これを使う理由
| これ | Anthropic コネクター | korotovsky/slack-mcp-server | |
|---|---|---|---|
| サーバーごとに複数ワークスペースに対応 | はい | いいえ | いいえ |
| 書き込み時の下書きと確認 | はい | いいえ | いいえ |
| 読み取り内容のボルトへの自動エクスポート | はい | いいえ | いいえ |
| プロンプトインジェクション除去機能 | はい | いいえ | いいえ |
| 監査ログ | はい | いいえ | いいえ |
| xoxc / xoxp / xoxb 認証 | はい | 該当なし | はい |
| ステータス | アクティブ | アクティブ(機能限定) | アクティブ |
インストール
Claude Code を開き、次を貼り付けます。
/plugin marketplace add adelaidasofia/slack-mcp
/plugin install slack-mcp@slack-mcp
次に、.env にトークンを設定します(Cookie の抽出手順については SETUP.md を参照してください)。
旧バージョンのインストール方法
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
# fill in tokens — see SETUP.md for cookie extraction walkthrough
プロジェクトの .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
認証方式
| 方式 | トークンの形式 | 機能 | 使用する場面 |
|---|---|---|---|
xoxc | xoxc-... + xoxd-... Cookie | フル機能(検索、内部 API) | デフォルト。複数のワークスペースで個人利用する場合に最適です。 |
xoxp | xoxp-... | 永続的、OAuth、無料プランでは検索に制限あり | Cookie を時折再抽出したくない場合に使います。 |
xoxb | xoxb-... | ボット専用、検索不可、招待されたチャンネルのみ | まれなケースです。ボットとしての動作が必要な場合にのみ使います。 |
Cookie の抽出は、ワークスペースごとに約 3 分かかります。SETUP.md を参照してください。
ボルトへの自動エクスポート
read_channel を呼び出すたびに、チャンネルが <vault>/🤖 AI Chats/Slack/<workspace>/<channel>.md にミラーリングされます。冪等であり(同じチャンネルと日付の場合は上書きされます)、SLACK_MCP_VAULT_EXPORT=false で無効にできます。
設定
すべての設定は環境変数で行います(プロセスの起動時に .env から読み込まれます)。
SLACK_WORKSPACES— エイリアスのカンマ区切りリスト(例:onde,mycelium)SLACK_PRIMARY_WORKSPACE— ツール呼び出しでworkspaceが省略された場合のデフォルトのワークスペース- ワークスペースごと:
SLACK_WORKSPACE_<ALIAS>_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時間後に期限切れになります。確認は1回限りです。update_own_messageの下書きには変更前後のプレビューが含まれるため、オペレーターは編集を確認する前に差分を確認できます。 - 書き込み時はワークスペースが必須。 送信にグローバルなデフォルトはありません。チャンネル名が重複する場合に別のワークスペースへ誤投稿するのを防ぐため、すべての書き込みツールで
workspaceが必須です。 - 監査ログ。 すべてのツール呼び出しで JSONL レコードが追記されます。トークンは秘匿されます。
- プロンプトインジェクション除去機能。 受信メッセージのテキストは、既知のプロンプトインジェクションパターン(zalgo、ロールを偽装するヘッダー、偽のフェンス)を対象にサニタイズされます。検出箇所は削除されずに囲まれるため、オペレーターは試みの内容を確認できます。
- トークンの秘匿。
list_workspacesが返すのは秘匿済みのプロフィールのみです。ツールの応答にトークンが含まれることはありません。
関連する MCP
同じ作者、同じアーキテクチャパターン(FastMCP、該当する書き込み操作では下書き+確認、Vault の自動エクスポート、MIT):
- imessage-mcp — macOS iMessage
- whatsapp-mcp — whatsmeow 経由の WhatsApp
- google-workspace-mcp — Gmail/Calendar/Drive/Docs/Sheets
- apollo-mcp — Apollo.io の CRM とシーケンス
- substack-mcp — Substack の執筆と分析
- luma-mcp — lu.ma のイベント
- parse-mcp — markitdown/Docling/LlamaParse ルーター
- rescuetime-mcp — RescueTime の生産性データ
- graph-query-mcp — Vault ナレッジグラフのクエリ
- investor-relations-mcp — シード資金調達パイプラインのトラッカー
- vault-sync-mcp — 双方向の Vault 同期
テレメトリー
このプラグインは、特定のマシン上で Claude Code セッションに初めて読み込まれたときに、匿名のインストール通知を1回だけ myceliumai.co に送信します。
送信される情報:
- プラグイン名(例:
slack-mcp) - プラグインのバージョン(例:
0.1.0)
送信されない情報:
- ユーザー識別子、氏名、メールアドレス、トークン、API キーは送信されません
- ファイルパス、メッセージ内容、その他作業に関する情報は送信されません
- 重複排除処理後に IP アドレスが保存されることはありません
理由: メンテナーが実際にインストールされているプラグインを把握し、利用されているプラグインに注力できるようにします。
オプトアウト: Claude Code の起動前に環境変数 MYCELIUM_NO_PING=1 を設定してください。フックはネットワーク呼び出しを完全にスキップします。通知がすでに送信されたインストールでは ~/.mycelium/onboarded-<plugin> に識別用ファイルが作成されます。状態をリセットしたい場合は削除してください。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。