mcpField
S
Slack ↔ WxO MCP Gateway

Slack ↔ WxO MCP Gateway

ローカル
markusvankempen.github.ioコミュニケーション015 週間前に更新

Slack ↔ WxO MCP Gateway について

Slack ↔ WxO MCP Gatewayは、SlackのメッセージをWatson Orchestrateエージェントにルーティングし、運用や他のクライアント向けにMCPツールキットを提供します。メッセージごとの起動、チャンネルとエージェントの紐付け、スレッド返信に対応します。

主な機能

  1. 01人間の各メッセージでエージェントを起動
  2. 02複数チャンネルをエージェントへルーティング
  3. 03スレッド返信とコンテキストの取得
  4. 04スレッド回答の投稿とノイズの除去
  5. 05管理UI、診断、ログ

活用シーン

  1. 01チャンネルのメッセージからWxOエージェントを起動
  2. 02サポートと運用のチャンネルを別々のエージェントに割り当て
  3. 03ゲートウェイの状態とルーティング設定を確認

MCP 対応

`/mcp`でStreamable HTTPのMCPツールキットを提供し、Slack、WxO、ルーティング、ポーリング、状態、ログ、診断を扱えます。WxOやIDEクライアントなどのMCPクライアントが接続できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"markusvankempen-slack-wxo-mcp-gateway": {
"command": "npx",
"args": [
"-y",
"@markusvankempen/slack-wxo-mcp-gateway"
],
"env": {
"SLACK_BOT_TOKEN": "<SLACK_BOT_TOKEN>",
"WXO_INSTANCE_URL": "<WXO_INSTANCE_URL>",
"WXO_API_KEY": "<WXO_API_KEY>",
"WXO_AGENT_ID": "<WXO_AGENT_ID>",
"GATEWAY_TRANSPORT": "<GATEWAY_TRANSPORT>",
"SLACK_SIGNING_SECRET": "<SLACK_SIGNING_SECRET>"
}
}
}
}
起動コマンドnpx -y @markusvankempen/slack-wxo-mcp-gateway
設定が必要な環境変数
SLACK_BOT_TOKENシークレットSlack Bot User OAuth Token (xoxb-…)
WXO_INSTANCE_URLwatsonx Orchestrate instance base URL
WXO_API_KEYシークレットwatsonx Orchestrate / MCSP API key
WXO_AGENT_IDDefault WxO agent id for bindings
GATEWAY_TRANSPORTstdio (IDE) or streamable-http (hosted). Default for npx IDE use: stdio
SLACK_SIGNING_SECRETシークレットSlack signing secret (Events mode)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@markusvankempen/slack-wxo-mcp-gateway1.0.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Slack ↔ WxO MCP Gateway

作成者: Markus van Kempen
メール: [email protected] · [email protected]
Web: https://markusvankempen.github.io/ · GitHub

npm: @markusvankempen/slack-wxo-mcp-gateway · MCP: io.github.markusvankempen/slack-wxo-mcp-gateway

この GitHub リポジトリに含まれるのは、ドキュメントとレジストリのメタデータです。 実行可能なアプリケーションのソースコードは含まれていません。
npm 経由でインストール/実行: npx -y @markusvankempen/slack-wxo-mcp-gateway · サイト:https://markusvankempen.github.io/

概要: watsonx Orchestrate の Slack に関する制限を解消する MCP ゲートウェイです。すべてのメッセージでエージェントを起動し、複数のチャンネルから複数のエージェントへルーティングし、スレッド内で整った返信を行います。また、WxO と Cursor/VS Code/Bob/Antigravity 向けにストリーミング可能な HTTP ツールキットを提供します。エージェントを置き換えることはありません。

tags: wxo-limitations · byo-slack · every-message · multi-channel · multi-agent · thread-followups · gateway-thread · no-done-noise · mcp-toolkit · streamable-http · poller · code-engine · ngrok · agentic-ai

設定は1か所: 多数の Slack チャンネルを多数の WxO エージェントにマッピングします。
ポーラー(およびオプションの Slack Events)がエージェントを起動します。
同じホストで WxO/Cursor/その他のクライアント向けの MCP ツールキット(/mcp)も公開します。

詳細:この MCP を使う理由 — WxO の制限を解消

アーキテクチャの概要
flowchart LR
  subgraph Slack
    C1["#support"]
    C2["#orders"]
    C3["#ops"]
  end

  subgraph Gateway["Slack ↔ WxO MCP Gateway"]
    Bind["config.yaml bindings"]
    Poll["Poller / Events"]
    MCP["/mcp streamable-http"]
    UI["Admin UI /"]
  end

  subgraph WxO["watsonx Orchestrate"]
    A1["Agent A"]
    A2["Agent B"]
    A3["Agent C"]
  end

  subgraph Clients["MCP clients"]
    IDE["Cursor / VS Code / Bob / …"]
    TK["WxO toolkits"]
  end

  C1 & C2 & C3 --> Poll
  Poll --> Bind
  Bind --> A1 & A2 & A3
  A1 & A2 & A3 -.->|gateway_thread reply| Poll
  IDE & TK --> MCP
  UI --> Bind

このアプローチを選ぶ理由(WxO の制限を解消)

WxO/Slack の制限タグゲートウェイによる解消方法
byo_slack は @メンション/DM のみevery-messageポーラー/Events が人間からのすべてのメッセージでエージェントを起動
多数のチャンネルから多数のエージェントを実行するのが難しいmulti-channel multi-agent1つのバインディングテーブルと管理 UI
スレッドでの返信を取りこぼしやすいthread-followupsスレッドの返信とコンテキストを読み取り
Slack に不要な最終メッセージ(done など)が表示されるgateway-thread no-done-noiseゲートウェイが回答を投稿し、不要なメッセージを除外
エージェントが実際の DNS を使うリモートツールを必要とするmcp-toolkit streamable-httpOrchestrate ツールキット向けに /mcp をホスト
運用担当者がポーラーの複製から抜け出せないops-self-serveMCP ツール、診断、ログ
Slack の運用が Slack/WxO UI 内に限られるide-parityCursor、VS Code、Bob、Antigravity、Claude でも同じツールを使用可能

WxO は引き続き頭脳(LLM、スキル、フロー)を担います。このゲートウェイはSlack、ルーティング、MCP のエッジです。
独自のエージェントフレームワークを利用できます:docs/frameworks/(LangGraph、LlamaIndex、OpenAI Agents)。


npm/MCP の識別情報

npm@markusvankempen/slack-wxo-mcp-gateway
MCP 名io.github.markusvankempen/slack-wxo-mcp-gateway
トピックmcp · mcp-server · slack · watsonx · watsonx-orchestrate · ibm · wxo · byo-slack · multi-channel · code-engine · streamable-http · cursor · agentic-ai

npm で見つけやすくするためのキーワード一覧は、package.json にあります。


公開と実行のモード(A~D)

1 つのパッケージ/1 つのイメージ — モードを選択してください(docs/PUBLISH-MODES.md を参照)。

flowchart TB
  PKG["npm @markusvankempen/slack-wxo-mcp-gateway<br/>+ optional container image"]
  PKG --> A["A Local HTTP<br/>:3100 UI + /mcp + poller"]
  PKG --> B["B Podman / Docker<br/>:8080"]
  PKG --> C["C Code Engine<br/>HTTPS always-on"]
  PKG --> D["D IDE stdio<br/>Cursor / VS Code / Bob"]
  A --> N["ngrok demo tunnel"]
  A & B & C --> R["Remote /mcp clients"]
  D --> L["Local MCP session"]
モードコマンド用途
A ローカル HTTP./scripts/run.sh --mode httpノート PC 上で UI、/mcp、ポーラーを実行
B Podman/Docker./scripts/run.sh --mode podman同じアプリをコンテナー内で実行
C Code Engine./scripts/run.sh --mode ce常時稼働の HTTPS
D IDE MCP./scripts/run.sh --mode ideCursor / VS Code の stdio スニペット(--exec も使用可能)
Ngrok デモ./scripts/run.sh --mode ngrokA + トンネル + WxO ツールキット
./scripts/run.sh --mode ide      # print Cursor + VS Code mcp.json
./scripts/run.sh --mode http     # local host :3100
./scripts/run.sh --mode podman   # container :8080
./scripts/run.sh --mode ce       # IBM Code Engine

詳細ガイド:docs/local-ngrok/ · docs/code-engine/ · docs/ide/
インデックス:docs/README.md · セットアップ:SETUP.md

コピーして貼り付けられる IDE JSON:examples/mcp/

エージェントフレームワーク(LangGraph · LlamaIndex · OpenAI Agents)

フレームワークはこの MCP に接続してください。ゲートウェイに埋め込まないでください。

ガイド内容
docs/frameworks/インデックス+チェックリスト
docs/frameworks/langgraph.mdLangGraph / LangChain
docs/frameworks/llamaindex.mdLlamaIndex
docs/frameworks/openai-agents.mdOpenAI Agents SDK
インストール(npm / npx)— このリポジトリからではありません
# Hosted HTTP + admin UI (default)
npx -y @markusvankempen/slack-wxo-mcp-gateway

# IDE / stdio MCP
npx -y @markusvankempen/slack-wxo-mcp-gateway --stdio

Node 18+ と Python 3.10+ が必要です。環境変数テンプレート: .env.example。ガイド:local-ngrok · code-engine。


全体像

マルチチャネルルーティング:

flowchart LR
  S1["#support"] --> G["Gateway bindings"]
  S2["#orders"] --> G
  S3["#ops"] --> G
  G --> WA["WxO agent A"]
  G --> WB["WxO agent B"]
  G --> WC["WxO agent C"]

メッセージの経路(reply_mode: gateway_thread):

sequenceDiagram
  participant U as Slack user
  participant Ch as Channel / thread
  participant GW as Gateway poller
  participant Wx as WxO Runs API
  participant Bot as Slack bot reply

  U->>Ch: Human message
  GW->>Ch: Read new messages / replies
  GW->>Wx: Start bound agent run
  Wx-->>GW: Agent answer text
  GW->>Bot: chat.postMessage in thread
  Bot-->>Ch: Clean reply (no done noise)

同じホストで、/mcp の MCP と / の 管理 UI も提供します。


設定(config.yaml)

フィールド説明
slack_channel_id例:C0BHWEZ7NLC
wxo.agent_id対象の Orchestrate エージェント
modepoll | events | both
reply_modegateway_thread = Runs API の後、ゲートウェイが Slack スレッドに投稿します。agent_tools = エージェントを起動するだけです
poll_sec / lookback_secポーラーの間隔

シークレット:${ENV_VAR} を使用します(.env から読み込まれます)。


エンドポイント

パス役割
/管理 UI
/mcpMCP ストリーム可能 HTTP
/slack/eventsSlack Event Subscriptions
/health稼働状態
/api/logsログのリングバッファー
/api/toolsMCP ツールカタログ
/api/diagnosticsSlack と WxO のチェック
/api/pollポーリングを 1 サイクル実行
/api/configマスク済み JSON/未加工 YAML
管理ダッシュボードの認証
GATEWAY_ADMIN_USER=admin
GATEWAY_ADMIN_PASSWORD=choose-a-strong-password

/ と /api/* を保護します。公開対象: /health、/mcp、/slack/events。

IBM Code Engine
./deploy_code_engine.sh
./test_code_engine.sh

ツールキットを登録します:

orchestrate toolkits add -k mcp -n slack_wxo_gateway \
  --url "https://YOUR-HOST/mcp" \
  --transport streamable_http \
  --tools "*"
MCP ツール(14 個)

設定: list_bindings、upsert_binding
Slack: list_slack_channels、list_recent_messages、list_thread_replies、get_message_context、post_thread_reply、set_typing_indicator
WxO: list_wxo_agents、invoke_wxo_agent
運用: poll_once、get_gateway_status、get_recent_logs、run_diagnostics_tool

ボットのスコープ:channels:read、groups:read、reactions:write(追加後、Slack アプリを再インストールしてください)。

エージェント:

エージェント役割
agent.yaml → slack_gateway_test_agentツールキット全体のスモークテスト
agents/slack_gateway_ops_agent.yamlDay-2 運用/ルーティング
agents/slack_gateway_answer_agent.yamlチャネルでの回答(gateway_thread)

セットアップ(Slack + WxO): SETUP.md — 管理 UI → Setup からも利用できます
ユースケース+テスト計画: USE_CASES.md
公開(npm / GitHub): PUBLISH.md


返信モード

gateway_thread(デフォルト) — ポーラー/Events → Runs API → ゲートウェイがスレッド内で chat.postMessage を実行します。回答専用エージェント(done なし)を使用してください。

agent_tools — ゲートウェイはエージェントを起動するだけです。エージェントは独自の Slack ツールを使用します。


Cursor / VS Code / Bob / Antigravity / Claude

See docs/ide/ for each client. Quick remote bridge:

{
  "mcpServers": {
    "slack-wxo-gateway": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://YOUR-HOST/mcp"]
    }
  }
}

Package identity:


License

Apache-2.0 — © Markus van Kempen
https://markusvankempen.github.io/ · https://github.com/markusvankempen

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。