Skip to content

VJSPでMCPを使用する

モデルコンテキストプロトコル(MCP)は、外部ツールやサービスに接続することで、VJSPの機能を拡張します。このガイドでは、VJSPでMCPを使用するために必要なすべての情報を網羅しています。

MCP サーバーの設定

MCPサーバーの設定は、以下の2つのレベルで管理できます:

  1. グローバル設定mcp_settings.json ファイルに保存され、IDEの設定からアクセス可能です(下記参照)。この設定は、プロジェクトレベルの設定で上書きされない限り、すべてのワークスペースに適用されます。
  2. プロジェクトレベルの設定:プロジェクトのルートにある .vjsp/mcp.json ファイルで定義されます。これにより、プロジェクト固有のサーバーを設定でき、このファイルをバージョン管理システムにコミットすることでチームと設定を共有できます。このファイルが存在する場合、VJSPは自動的に検出し、読み込みます。

優先順位:サーバー名がグローバル設定とプロジェクト設定の両方に存在する場合、プロジェクトレベルの設定が優先されます

MCP 設定ファイルの編集

VJSPのMCP設定画面から、グローバルおよびプロジェクトレベルのMCP設定ファイルを直接編集できます:

  1. VJSPペインの上部ナビゲーションバーにある ⚙️ アイコンをクリックして Settings を開きます。

  2. 左側の MCP Servers タブをクリックします。

  1. Installed サーバーを選択します。
  2. 対応するボタンをクリックします:
    • Edit Global MCP:グローバルの mcp_settings.json ファイルを開きます。
    • Edit Project MCP:プロジェクト固有の .vjsp/mcp.json ファイルを開きます。このファイルが存在しない場合、VJSPが自動的に作成します。

どちらのファイルもJSON形式で、名前付きサーバー設定を含む mcpServers オブジェクトを持ちます:

json
{
  "mcpServers": {
    "server1": {
      "command": "python",
      "args": ["/path/to/server.py"],
      "env": {
        "API_KEY": "your_api_key"
      },
      "alwaysAllow": ["tool1", "tool2"],
      "disabled": false
    }
  }
}

VJSPにおけるMCPサーバー設定の例(STDIOトランスポート)

トランスポートタイプの理解

MCPは、サーバー通信のために以下の2種類のトランスポートタイプをサポートしています:

STDIO トランスポート

ローカルマシン上で実行されるサーバーに使用されます:

  • 標準入出力ストリーム経由で通信
  • 遅延が少ない(ネットワークオーバーヘッドがない)
  • セキュリティが高い(ネットワークに公開されない)
  • 設定が簡単(HTTPサーバー不要)
  • ローカルマシン上で子プロセスとして実行

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

STDIO設定の例:

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

SSE トランスポート

HTTP/HTTPS経由でアクセス可能なリモートサーバーに使用されます:

  • Server-Sent Events(SSE)プロトコルを使用して通信
  • 別のマシン上でホスト可能
  • 複数のクライアント接続をサポート
  • ネットワークアクセスが必要
  • 集中型のデプロイおよび管理が可能

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

SSE設定の例:

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

サーバーの削除

  1. 削除したいMCPサーバーの横にあるアイコンをクリックします。
  2. 確認ダイアログで Delete ボタンをクリックします。

サーバーの再起動

再起動したいMCPサーバーの横にあるアイコンをクリックします。

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

MCPサーバーの横にあるスイッチを切り替えて、有効化または無効化します。

ネットワークタイムアウト

MCPサーバーツールを呼び出した後、レスポンスを待つ最大時間を設定します:

個別のMCPサーバー設定ボックスの下部にある Network Timeout ドロップダウンをクリックし、所要時間を調整します。デフォルトは1分ですが、30秒~5分の範囲で設定可能です。

ツールの自動承認

MCPツールの自動承認は、ツールごとに設定され、デフォルトでは無効になっています。自動承認を設定するには:

  1. まず、Auto-Approval Actions でグローバルの "Use MCP Servers" 自動承認オプションを有効にしてください。
  2. MCPサーバー設定で、自動承認したい特定のツールを見つけます。
  3. ツール名の横にある Always Allow チェックボックスをオンにします。

有効化されると、VJSPはこの特定のツールを自動的に承認し、ユーザーに確認を求めません。ただし、グローバルの "Use MCP Servers" 設定が優先されることに注意してください。この設定が無効の場合、どのMCPツールも自動承認されません。

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

VJSPには、あらかじめインストール済みのMCPサーバーは含まれていません。別途検索・インストールする必要があります。

  • VJSPに問い合わせる:VJSPにMCPサーバーの検索や作成を依頼できます("Enable MCP Server Creation" が有効な場合)。
  • 自分で構築する:SDKを使用して、独自のツールでVJSPを拡張するカスタムMCPサーバーを作成できます。

ワークフローでの MCP ツールの使用

MCPサーバーを設定すると、VJSPは利用可能なツールとリソースを自動的に検出します。それらを使用するには:

  1. VJSPチャットインターフェースにリクエストを入力します。
  2. VJSPは、そのタスクを達成するためにMCPツールが役立つことを認識します。
  3. プロンプトが表示されたらツールの使用を承認するか(または、自動承認が設定されていればそれに依存します)。

例:「Analyze my API performance」と入力すると、APIエンドポイントをテストするMCPツールがトリガーされる可能性があります。

MCP サーバーのトラブルシューティング

よくある問題と解決策:

  • サーバーが応答しない:サーバープロセスが実行中であることを確認し、ネットワーク接続を検証してください。
  • 権限エラーmcp_settings.json(グローバル設定の場合)または .vjsp/mcp.json(プロジェクト設定の場合)に正しいAPIキーおよび認証情報が設定されていることを確認してください。
  • ツールが利用不可:サーバーがそのツールを正しく実装しており、設定で無効になっていないことを確認してください。
  • パフォーマンスが遅い:特定のMCPサーバーのネットワークタイムアウト値を調整してみてください。

プラットフォーム別の MCP 設定例

Windows 設定例

WindowsでMCPサーバーを設定する際は、Windowsコマンドプロンプト(cmd)を使用してコマンドを実行する必要があります。以下は、WindowsでのPuppeteer MCPサーバーの設定例です:

json
{
  "mcpServers": {
    "puppeteer": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

このWindows固有の設定では:

  • cmd コマンドを使用してWindowsコマンドプロンプトにアクセス
  • /c を使用して、コマンドを実行後に終了するよう指示
  • npx を使用して、パッケージを永続的にインストールせずに実行
  • -y フラグにより、インストール中のプロンプトに対して自動的に「はい」と回答
  • @modelcontextprotocol/server-puppeteer パッケージを実行し、ブラウザ自動化機能を提供

macOSまたはLinuxの場合は、異なる設定を使用します:

json
{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

このアプローチは、Windows上の他のMCPサーバーにも同様に適用できます。サーバータイプに応じてパッケージ名を変更するだけで対応可能です。