/ ディレクトリ / プレイグラウンド / toolhive
● コミュニティ stacklok ⚡ 即起動

toolhive

作者 stacklok · stacklok/toolhive

MCP サーバーを分離されたコンテナで実行し、ワンクリックインストール、キュレーションされたレジストリ、SSO、および Kubernetes サポートを提供します。

ToolHive (Stacklok) は MCP サーバーを実行するためのエンタープライズグレードのプラットフォームです。ゲートウェイ + レジストリ + コンテナランタイム + ポータル。最小限の権限によるコンテナ化された MCP、SSO、監査ログ、およびキュレーションされたカタログが必要なチームおよび組織のデプロイメントを対象としています。

なぜ使うのか

主な機能

ライブデモ

実際の動作

toolhive.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "toolhive": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/stacklok/toolhive"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "toolhive": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/stacklok/toolhive"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "toolhive": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/stacklok/toolhive"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "toolhive": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/stacklok/toolhive"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "toolhive",
      "command": "TODO",
      "args": [
        "See README: https://github.com/stacklok/toolhive"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "toolhive": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/stacklok/toolhive"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add toolhive -- TODO 'See README: https://github.com/stacklok/toolhive'

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: toolhive

ランダムな `npx -y` スクリプトを信頼せずにコミュニティ MCP をインストールする方法

👤 セキュリティを意識したエンジニア ⏱ ~10 min beginner

使うタイミング: GitHub MCP をローカルで実行したいが、ファイルシステムへの無制限のアクセスを許可したくない場合。

前提条件
  • Docker Desktop — docker.com
  • ToolHive デスクトップアプリ — stacklok.com/download
フロー
  1. ToolHive を開いてレジストリを検索
    ToolHive レジストリから 'github' をインストール。✓ コピーしました
    → コンテナがプルされ、GITHUB_TOKEN の設定プロンプトが表示される
  2. クライアントを自動設定
    'Claude Desktop に接続' をクリック。✓ コピーしました
    → Claude Desktop 設定が更新され、再起動が必要
  3. 分離を確認
    コンテナが設定した環境変数のみを持ち、ホストファイルシステムのマウントがないことを確認。✓ コピーしました
    → ToolHive UI でコンテナ設定を検査

結果: マシンへの最小限の権限アクセスを備えたサンドボックス化された MCP。

注意点
  • ファイルシステム MCP にはマウントが必要です。デフォルトのマウントなしは制限が厳しすぎます。 — フルホームではなく、スコープ付きマウント(例: ~/Projects のみ)を追加します。

プラットフォームチームのために Kubernetes に MCP をデプロイする方法

👤 プラットフォームエンジニア ⏱ ~60 min advanced

使うタイミング: 組織全体で標準化された MCP の可用性が必要な場合。

前提条件
  • Kubernetes クラスター + クラスター管理者 — 既存の EKS/GKE/AKS または開発用の kind
  • ToolHive Operator CRD がインストール済み — kubectl apply -f the Stacklok-provided manifests
フロー
  1. MCPServer リソースを宣言
    kubectl apply -f mcp-github.yaml — スコープ付きシークレットで GitHub MCP を宣言的に登録。✓ コピーしました
    → Pod が実行中;ポータルに表示される
  2. ポータル経由でユーザーに公開
    エンジニアが SSO でポータルにログインし、クライアントにワンクリックインストール。✓ コピーしました
    → ユーザーごとの設定が自動生成される

結果: 中央カタログ + ユーザーごとのインストール;監査可能。

注意点
  • Stdio MCP はネットワーク公開 Kubernetes にはあまり適していません。 — k8s には Streamable HTTP MCP を優先し、stdio 用にはゲートウェイを使用します。

すべての MCP ツール呼び出しの監査記録を作成する方法

👤 コンプライアンス、セキュリティチーム ⏱ ~30 min intermediate

使うタイミング: 組織が SOC2 または内部ポリシーのために「誰が何のツールをいつ呼び出したか」が必要な場合。

フロー
  1. OpenTelemetry エクスポートを有効化
    ToolHive 設定で OTLP エンドポイントをコレクターに設定。✓ コピーしました
    → バックエンドにトレースが表示される
  2. ユーザーでタグ付け
    SSO 経由でユーザーごとのアイデンティティ伝播を有効化。✓ コピーしました
    → 各トレースにアクター ID がある

結果: ユーザーごと、ツールごとの監査ログ。

組み合わせ

他のMCPと組み合わせて10倍の力を

toolhive + mcphub

分離には ToolHive を、マルチサーバールーティングには MCPHub を使用

各 MCP を独自の ToolHive コンテナで実行し、MCPHub グループを介して公開。✓ コピーしました
toolhive + unla

ToolHive で実行される MCP と Unla の REST-to-MCP 変換を組み合わせる

Unla で変換した内部 API を ToolHive に登録して、SSO でコンテナ化して実行。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
(platform) registry-install mcp_name 検証済み MCP をインストール 無料
(platform) gateway-proxy Transport + auth policy ポリシーで MCP をフロント化 無料
(platform) runtime-isolate Container spec サンドボックス化された実行 無料 + インフラコスト

コストと制限

運用コスト

APIクォータ
プラットフォームレイヤーではなし
呼び出しあたりのトークン
最小限のオーバーヘッド
金額
デスクトップ + CLI + オープンソースオペレーターは無料です。サポート/コンプライアンスのためのエンタープライズプランがあります。
ヒント
無料層から始めて、専用 SLA または高度な SSO/RBAC が必要な場合のみアップグレードしてください。

セキュリティ

権限、シークレット、影響範囲

最小スコープ: MCP ごと: 最小限の権限の環境変数とマウント チームデプロイメント用の SSO
認証情報の保管: ToolHive に組み込まれた暗号化されたシークレット管理
データ送信先: ダウンストリーム MCP によって決定され、設定されている場合は ToolHive がテレメトリを追加
絶対に付与しない: 各 MCP に必要な範囲を超えてファイルシステムマウントを自動付与しない

トラブルシューティング

よくあるエラーと対処法

コンテナが起動してからすぐに終了

MCP の必要な環境変数が設定されていることを確認(例: GITHUB_TOKEN)。ToolHive UI でログを表示。

インストール後 Claude Desktop がサーバーを見つけられない

Claude Desktop を再起動してください。設定の変更は起動時にのみ読み込まれます。

K8s Operator CRD インストール失敗

クラスター管理者と サポート対象の k8s バージョン(>= 1.27)を確認。

確認: kubectl version
OTLP トレースが見つからない

コレクターエンドポイントが OTLP/HTTP または OTLP/gRPC を受け入れる必要があり、プロトコルの一致を確認。

代替案

toolhive 他との比較

代替案代わりに使う場面トレードオフ
MCPHubコンテナ分離よりもマルチサーバー集約が必要な場合コンテナランタイムに焦点を当てていない
Docker MCP ToolkitDocker の統合ツールを優先する場合キュレーションされたレジストリが少ない

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る