正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab Model Context Protocolクライアント

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
  • ステータス: ベータ

Model Context Protocolは、GitLab Duoの各機能がさまざまな外部データソースやツールに安全に接続するための標準化された方法を提供します。

以下の機能はMCPクライアントとして動作し、MCPサーバーから外部ツールに接続できます。:

これらの機能は、外部コンテキストと情報にアクセスして、より強力な回答を生成できます。

MCPで機能を使用するには、次の手順に従います。:

  1. グループのMCPをオンにします。
  2. 機能を接続するMCPサーバーを構成します。

クリック操作のデモについては、Duo Agent Platform - MCP integrationを参照してください。

前提要件

MCPでGitLab Duo機能を使用する前に、以下を行う必要があります。:

グループのMCPをオンにする

グループのMCPをオンまたはオフにするには、次の手順に従います。:

  1. 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
  2. 設定 > GitLab Duoを選択します。
  3. 設定の変更を選択します。
  4. Model Context ProtocolModel Context Protocol (MCP)サポートを有効にするチェックボックスをオンまたはオフにします。
  5. 変更を保存を選択します。

MCPサーバーの設定

MCPを言語サーバーと統合するには、ワークスペースの設定、ユーザー設定、またはその両方をセットアップします。GitLab言語サーバーは、設定ファイルを読み込み、マージします。

バージョンの互換性

GitLab Workflow拡張機能バージョン利用可能なMCP機能
6.28.2 - 6.35.5ワークスペースまたはユーザー設定のない基本的なMCPサポート
6.35.6以降ワークスペースとユーザー設定を含む、完全なMCPサポート

ワークスペース構成を作成

ワークスペースの設定は、このプロジェクトにのみ適用され、同じサーバーのユーザー設定をオーバーライドします。

ワークスペースの設定を行うには、次の手順に従います。:

  1. プロジェクトのワークスペースで、<workspace>/.gitlab/duo/mcp.jsonファイルを作成します。
  2. 構成形式を使用して、機能が接続するMCPサーバーに関する情報を追加します。
  3. ファイルを保存します。
  4. IDEを再起動します。

ユーザー設定を作成する

ユーザー設定は、個人用ツールおよび一般的に使用されるサーバーに適しています。これらはすべてのワークスペースに適用されますが、同じサーバーのワークスペースの設定はユーザー設定をオーバーライドします。

ユーザー設定を行うには、次の手順に従います。:

  1. VSCodiumまたはVS Codeで、Control+Shift+PキーまたはCommand+Shift+Pキーを押してコマンドパレットを開きます。
  2. コマンドGitLab MCP: Open User Settings (JSON)を実行して、ユーザー設定ファイルを作成して開きます。
  3. 構成形式を使用して、機能が接続するMCPサーバーに関する情報を追加します。
  4. ファイルを保存します。
  5. IDEを再起動します。

または、次の場所に手動でファイルを作成します。:

  • Windows: C:\Users\<username>\AppData\Roaming\GitLab\duo\mcp.json
  • その他すべてのオペレーティングシステム: ~/.gitlab/duo/mcp.json

設定形式

両方の設定ファイルは同じJSON形式を使用します。:

{
  "mcpServers": {
    "server-name": {
      "type": "stdio",
      "command": "path/to/server",
      "args": ["--arg1", "value1"],
      "env": {
        "ENV_VAR": "value"
      }
    },
    "http-server": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    },
    "sse-server": {
      "type": "sse",
      "url": "http://localhost:3000/mcp/sse"
    }
  }
}

MCPサーバー構成の例

次のコード例を参考にして、MCPサーバーの設定ファイルを作成してください。

詳細と例については、MCP example servers documentationを参照してください。その他のサーバー例としては、Smithery.aiAwesome MCP Serversがあります。

ローカルサーバー

{
  "mcpServers": {
    "enterprise-data-v2": {
      "type": "stdio",
      "command": "node",
      "args": ["src/server.js"],
      "cwd": "</path/to/your-mcp-server>"
    }
  }
}

mcp-remoteを使用したリモートサーバー

{
  "mcpServers": {
    "aws-knowledge": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://knowledge-mcp.global.api.aws"
      ]
    }
  }
}

HTTPサーバー

{
  "mcpServers": {
    "local-http-server": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

SSEサーバー

{
  "mcpServers": {
    "remote-sse-server": {
      "type": "sse",
      "url": "http://public.domain:3000/mcp/sse"
    }
  }
}

MCPでGitLab Duo機能を使用する

GitLab Duo機能が質問に回答するために外部ツールを呼び出す場合、セッション全体で承認されていない限り、そのツールをレビューする必要があります。:

  1. VS Codeを開きます。

  2. 左側のサイドバーで、GitLab Duo Agent Platform (Beta)(GitLab Duo Agent Platform (ベータ))( duo-agentic-chat )を選択します。

  3. チャットまたはフロータブを選択します。

  4. テキストボックスに、質問を入力するか、コードタスクを指定します。

  5. 質問またはコードタスクを送信します。

  6. 次の場合に、Tool Approval Required(ツール承認が必要です)ダイアログが表示されます。:

    • GitLab Duoがセッションで初めてそのツールを呼び出す場合。
    • セッション全体でそのツールを承認していません。
  7. ツールを承認または拒否します。:

    • ツールを承認すると、機能がツールに接続して回答を生成します。

      • オプション。セッション全体でツールを承認するには、承認するドロップダウンリストからApprove for Session(セッションを承認する)を選択します。

        MCPサーバーが提供するツールのみをセッションで承認できます。ターミナルまたはCLIコマンドは承認できません。

    • チャットの場合、ツールを拒否すると、Provide Rejection Reason(拒否理由の提供)ダイアログが表示されます。拒否理由を入力し、Submit Rejection(拒否を送信)を選択します。

トラブルシューティング

Error starting server filesystem: Error: spawn ... ENOENT

このエラーは、(nodeの代わりに/usr/bin/nodeのように)相対パスを使用してコマンドを指定し、そのコマンドがGitLab言語サーバーに渡されたPATH環境変数で見つからない場合に発生します。

PATHの解決の改善は、イシュー1345で追跡されています。

VS CodeでのMCPのトラブルシューティング

トラブルシューティング情報については、VS Code用GitLab Workflow拡張機能のトラブルシューティングを参照してください。