設定MCP

BobでMCPを使用する

Model Context Protocol(モデル・コンテキスト・プロトコル、MCP)は、外部ツールやサービスとの接続を通じてBobの機能を拡張します。このガイドでは、BobでMCPサーバーを設定、管理、使用する方法を説明します。

概念的な情報については、MCPを理解するを参照してください。

設定レベル

MCPサーバーは2つのレベルで設定できます:

  • グローバル: ~/.bob/mcp.jsonに保存され、すべてのワークスペースに適用されます
  • プロジェクト: プロジェクト・ルートの.bob/mcp.jsonに保存され、バージョン管理を通じてチーム共有が可能です

サーバー名が競合する場合、プロジェクト・レベルの設定がグローバル設定よりも優先されます。

設定ファイルの編集

設定メニューからMCP設定ファイルを編集できます:

  1. Bobパネルのアイコンをクリックします。
  2. MCPタブを選択します。
  3. 適切なボタンをクリックします:
    • グローバルMCPを編集: グローバル~/.bob/mcp.jsonファイルを開きます
    • プロジェクトMCPを編集: プロジェクト固有の.bob/mcp.jsonファイルを開きます(存在しない場合はBobが作成します)

両方のファイルは、名前付きサーバー設定を含むmcpServersオブジェクトを持つJSON形式を使用します。

サーバーの検索とインストール

IBM Bobには事前インストールされたMCPサーバーは含まれていません。サーバーを見つけるには:

  • 独自に作成: MCP SDKを使用してカスタム・サーバーを作成します(MCP GitHubリポジトリーを参照)
  • コミュニティー・サーバー: MCPエコシステムでコミュニティーが提供するMCPサーバーを探索します

MCPサーバーの有効化または無効化

MCPサーバーを無効にすると、Bobはシステム・プロンプトからすべてのMCP関連のロジックと定義を削除し、トークン使用量を削減します。BobはMCPサーバーに接続できず、use_mcp_toolおよびaccess_mcp_resourceツールは使用できません。この設定はデフォルトで有効になっています。

MCPサーバーを有効または無効にするには:

  1. Bobパネルのアイコンをクリックします。
  2. MCPタブを選択します。
  3. MCPサーバーを使用を有効または無効にします。

MCPサーバー作成の有効化または無効化

MCPサーバー作成を無効にすると、BobがMCPサーバーを書くために使用するシステム・プロンプトの指示が削除されます。Bobは既存のMCPサーバーを操作するためのコンテキストを保持し、トークン使用量を削減します。この設定はデフォルトで有効になっています。

MCPサーバー作成を有効または無効にするには:

  1. Bobパネルのアイコンをクリックします。
  2. MCPタブを選択します。
  3. MCPサーバー作成を有効にするを有効または無効にします。

個別のMCPツールを有効または無効にする

MCPサーバー内の特定のツールを有効または無効にして、Bobがアクセスできる機能を制御できます。これにより、MCP機能をきめ細かく制御でき、未使用のツール定義を除外することでコンテキスト・ウィンドウの使用量を削減できます。

個別のツールを管理するには:

  1. Bobパネルのアイコンをクリックします。
  2. MCPタブを選択します。
  3. リストでMCPサーバーを見つけます。
  4. サーバーを展開して、利用可能なツールを表示します。
  5. 必要に応じて個別のツールを有効または無効にします。

未使用のツールを無効にすると、ツール定義によって消費されるコンテキストの量が削減され、コードと会話履歴のためのスペースが増えます。

トランスポート・タイプ

MCPはサーバー通信用のさまざまなトランスポート・タイプをサポートしています。サーバーがどこで実行され、どのようにデプロイするかに基づいてトランスポートを選択してください。すべてのトランスポート・タイプの詳細については、MCPサーバー・トランスポートを参照してください。

静的トークンの代わりにOAuth 2.1ユーザー認証が必要なサーバーについては、MCP OAuth認証を参照してください。

静的トークンの代わりにOAuth 2.1ユーザー認証を必要とするサーバーについては、MCP OAuth認証を参照してください。

STDIOトランスポート

ローカル・コンピューター上で実行されるローカル・サーバーにはSTDIOトランスポートを使用します。

利点:

  • 低レイテンシ(ネットワーク・オーバーヘッドなし)
  • より良いセキュリティー(ネットワーク露出なし)
  • より簡単なセットアップ(HTTPサーバー不要)

設定パラメータ:

パラメータ必須説明
commandはい実行する実行可能ファイル(例:nodepythonnpx
argsいいえコマンドに渡す引数の配列
cwdいいえサーバー・プロセスの作業ディレクトリー
envいいえサーバー・プロセスの環境変数
alwaysAllowいいえ自動承認するツール名の配列
disabledいいえこのサーバーを無効にするにはtrueに設定

例:

{
  "mcpServers": {
    "local-server": {
      "command": "node",
      "args": ["server.js"],
      "cwd": "/path/to/project/root",
      "env": {
        "API_KEY": "your_api_key"
      },
      "alwaysAllow": ["tool1", "tool2"],
      "disabled": false
    }
  }
}

詳細については、STDIOトランスポートを参照してください。

Streamable HTTPトランスポート

HTTP/HTTPS経由でアクセスされるリモート・サーバーにはStreamable HTTPトランスポートを使用します。これは新しいリモート・サーバー実装の最新標準です。

利点:

  • 異なるマシンでホスト可能
  • 複数のクライアント接続をサポート
  • 集中デプロイメントを可能にする
  • シンプルなrequest-responseとストリーミングの両方をサポート

設定パラメータ:

パラメータ必須説明
urlはいMCPエンドポイントの完全なURL
headersいいえカスタムHTTPヘッダー(例:認証トークン)
alwaysAllowいいえ自動承認するツール名の配列
disabledいいえこのサーバーを無効にするにはtrueに設定

例:

{
  "mcpServers": {
    "remote-server": {
      "type": "streamable-http",
      "url": "https://your-server-url.com/mcp",
      "headers": {
        "Authorization": "Bearer your-token"
      },
      "alwaysAllow": ["tool3"],
      "disabled": false
    }
  }
}

詳細については、Streamable HTTPトランスポートを参照してください。

SSEトランスポート(レガシー)

HTTP/HTTPS経由でアクセスされるリモート・サーバーにはSSEトランスポートを使用します。新しいリモート・サーバーには、代わりにStreamable HTTPトランスポートを使用してください。

利点:

  • 異なるマシンでホスト可能
  • 複数のクライアント接続をサポート
  • 集中デプロイメントを可能にする

設定パラメータ:

パラメータ必須説明
urlはいリモートMCPサーバーの完全なURLエンドポイント
headersいいえカスタムHTTPヘッダー(例:認証トークン)
alwaysAllowいいえ自動承認するツール名の配列
disabledいいえこのサーバーを無効にするにはtrueに設定

例:

{
  "mcpServers": {
    "remote-server": {
      "url": "https://your-server-url.com/mcp",
      "headers": {
        "Authorization": "Bearer your-token"
      },
      "alwaysAllow": ["tool3"],
      "disabled": false
    }
  }
}

BobでMCPサーバーを作成する

必要な特定の機能のためにカスタムMCPサーバーを作成するようBobに依頼できます。

前提条件: MCPサーバー作成を有効にする設定を有効にします。

サーバーを作成するには:

  1. Bobにツールまたは機能をリクエストします。例:

    • "現在のビットコイン価格を取得するMCPツールを作成して"
    • "GitHub Gist APIと対話するMCPサーバーを構築して"
  2. Bobは:

    • デフォルトのMCPディレクトリーにサーバー・プロジェクト(通常はTypeScript)を作成します
    • 必要なAPI呼び出しでリクエストされたツールを実装します
    • 必要に応じてAPIキーまたは認証情報を尋ねます
    • 設定ファイルにサーバー設定を追加します
    • 新しいサーバーに自動的に接続します

ツール・メカニクスの詳細については、Bobのツールを理解するを参照してください。

個別サーバーの管理

サーバー設定にアクセスするには:

  1. Bobパネルのアイコンをクリックします。
  2. MCPタブを選択します。
  3. リストでサーバーを見つけます。

利用可能なアクション:

  • 削除: をクリックして削除を確認します
  • 再起動: をクリックしてサーバーを再起動します
  • 有効化/無効化: 電源トグルを使用してサーバーをオンまたはオフにします
  • ネットワーク・タイムアウト: 応答タイムアウトを設定します(30秒から5分、デフォルトは1分)
  • ツールの管理: サーバーを展開して個別のツールを有効または無効にします

ツールの自動承認

MCPツールの自動承認はデフォルトで無効になっており、ツールごとに機能します:

  1. アクションの自動承認でグローバル・オプション「MCPサーバーを使用」を有効にします。
  2. MCP設定でツールを見つけます。
  3. ツール名の横にある常に許可を有効にします。

グローバル設定が優先されます - 無効の場合、MCPツールは自動承認されません。

MCPツールを効果的に使用する

MCPサーバーを設定すると、Bobは利用可能なツールを自動的に検出します。効果的な使用は明確なツール定義に依存します。

ワークフロー

  1. Bobチャット・インターフェースにリクエストを入力します
  2. Bobはリクエストと利用可能なMCPツールを分析します
  3. Bobはツールの使用を提案します;承認します(自動承認されていない場合)

効果的なツール説明の作成

Bobがツールを正しく選択して使用する能力は、説明の質に依存します。MCPツールを定義する際は、これらのガイドラインに従ってください:

ツール名

主な機能を示す説明的で一意の名前を使用します。

ツール説明

以下を含む包括的な要約を提供します:

  • ツールが何をするか
  • その目的と使用例
  • 前提条件または重要なコンテキスト
  • 期待される結果

パラメータ説明

各パラメータについて以下を指定します:

  • 目的と期待されるデータ型
  • フォーマット要件または制約
  • 有効な値の例
  • オプションか必須か

悪い説明:

データを取得します

良い説明:

ユーザーIDを使用してAPIからユーザー・プロファイル・データを取得します。
ユーザー名、メール、アカウント作成日を含むJSONを返します。
環境に有効な認証トークンが必要です。

追加のガイダンス

カスタム・ルールを使用して、チームの優先アプローチ、複雑なワークフロー、またはツールの優先順位を定義します。

MCPセキュリティーに関する考慮事項

重要なセキュリティー情報

MCPサーバーの使用には、デプロイ前に慎重に評価する必要があるセキュリティー上の考慮事項があります。

データ・プライバシー・リスク

外部MCPサーバー:

  • データを外部プロバイダーまたはサードパーティー・サービスに送信する可能性があります
  • 機密コード、認証情報、または独自情報を公開する可能性があります
  • 制御できない方法でデータを保存または記録する可能性があります

推奨事項:

  • 使用前にMCPサーバーのデータ処理ポリシーを確認してください
  • 機密または独自のコードで外部MCPサーバーを使用しないでください
  • 機密プロジェクトにはローカルMCPサーバーを優先してください

ローカル・セキュリティー・リスク

ローカルMCPサーバー:

  • Bobと同じ権限で実行されます
  • ファイル・システム、環境変数、システム・リソースにアクセスできます
  • マシン上で任意のコードを実行できます
  • ファイルを変更または削除する可能性があります

推奨事項:

  • 信頼できるソースからのMCPサーバーのみをインストールしてください
  • 可能な場合は、インストール前にMCPサーバーのソース・コードを確認してください
  • 各サーバーが必要とする権限と機能を理解してください
  • 広範なファイル・システム・アクセスを要求するサーバーには注意してください

組織のコンプライアンス

ビジネスおよびエンタープライズの考慮事項:

  • MCPサーバーの使用が組織のセキュリティー・ポリシーと一致していることを確認してください
  • データ処理が規制要件(GDPR、HIPAAなど)に準拠していることを確認してください
  • MCPサーバーが制限されたネットワーク内での使用が承認されているかどうかを確認してください
  • 環境内で使用が許可されているMCPサーバーを文書化してください

ベスト・プラクティス:

  • 承認されたMCPサーバーのインベントリーを維持してください
  • 新しいMCPサーバーのレビュー・プロセスを確立してください
  • MCPサーバーの使用と権限を定期的に監査してください
  • MCPを使用するチーム・メンバーにセキュリティー・トレーニングを提供してください

MCPサーバーの検証

MCPサーバーをインストールする前に:

  1. ソースを調査: パブリッシャーの評判と実績を確認してください
  2. ドキュメントを確認: サーバーが何をし、何にアクセスするかを理解してください
  3. 権限を確認: サーバーが必要とするシステム・リソースを評価してください
  4. コードを読む: オープン・ソースの場合は、セキュリティー問題の実装を確認してください
  5. 分離してテスト: 最初に非本番環境でサーバーを試してください
  6. 動作を監視: 予期しないネットワーク・アクティビティーまたはファイル・アクセスを監視してください

疑問がある場合は、特に企業または規制された環境では、MCPサーバーをインストールする前にセキュリティー・チームまたはIT部門に相談してください。

このトピックはいかがですか?