GitLab Model Context Protocolクライアント
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
- ステータス: ベータ
Model Context Protocolは、GitLab Duoの各機能がさまざまな外部データソースやツールに安全に接続するための標準化された方法を提供します。
以下の機能はMCPクライアントとして動作し、MCPサーバーから外部ツールに接続できます。:
これらの機能は、外部コンテキストと情報にアクセスして、より強力な回答を生成できます。
MCPで機能を使用するには、次の手順に従います。:
- グループのMCPをオンにします。
- 機能を接続するMCPサーバーを構成します。
クリック操作のデモについては、Duo Agent Platform - MCP integrationを参照してください。
前提要件
MCPでGitLab Duo機能を使用する前に、以下を行う必要があります。:
- VSCodiumまたはVisual Studio Code(VS Code)をインストールします。
- Open VSX RegistryまたはVisual Studio MarketplaceからGitLab Workflow拡張機能を設定します。
- MCPサポートには、バージョン6.28.2以降が必要です。
- ワークスペースおよびユーザー設定機能には、バージョン6.35.6以降が必要です。
- GitLab Duo Agent Platformの前提条件を満たしていること。
グループのMCPをオンにする
グループのMCPをオンまたはオフにするには、次の手順に従います。:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
- 設定 > GitLab Duoを選択します。
- 設定の変更を選択します。
- Model Context ProtocolのModel Context Protocol (MCP)サポートを有効にするチェックボックスをオンまたはオフにします。
- 変更を保存を選択します。
MCPサーバーの設定
MCPを言語サーバーと統合するには、ワークスペースの設定、ユーザー設定、またはその両方をセットアップします。GitLab言語サーバーは、設定ファイルを読み込み、マージします。
バージョンの互換性
| GitLab Workflow拡張機能バージョン | 利用可能なMCP機能 |
|---|---|
| 6.28.2 - 6.35.5 | ワークスペースまたはユーザー設定のない基本的なMCPサポート |
| 6.35.6以降 | ワークスペースとユーザー設定を含む、完全なMCPサポート |
ワークスペース構成を作成
ワークスペースの設定は、このプロジェクトにのみ適用され、同じサーバーのユーザー設定をオーバーライドします。
ワークスペースの設定を行うには、次の手順に従います。:
- プロジェクトのワークスペースで、
<workspace>/.gitlab/duo/mcp.jsonファイルを作成します。 - 構成形式を使用して、機能が接続するMCPサーバーに関する情報を追加します。
- ファイルを保存します。
- IDEを再起動します。
ユーザー設定を作成する
ユーザー設定は、個人用ツールおよび一般的に使用されるサーバーに適しています。これらはすべてのワークスペースに適用されますが、同じサーバーのワークスペースの設定はユーザー設定をオーバーライドします。
ユーザー設定を行うには、次の手順に従います。:
- VSCodiumまたはVS Codeで、Control+Shift+PキーまたはCommand+Shift+Pキーを押してコマンドパレットを開きます。
- コマンド
GitLab MCP: Open User Settings (JSON)を実行して、ユーザー設定ファイルを作成して開きます。 - 構成形式を使用して、機能が接続するMCPサーバーに関する情報を追加します。
- ファイルを保存します。
- 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.aiとAwesome 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機能が質問に回答するために外部ツールを呼び出す場合、セッション全体で承認されていない限り、そのツールをレビューする必要があります。:
VS Codeを開きます。
左側のサイドバーで、GitLab Duo Agent Platform (Beta)(GitLab Duo Agent Platform (ベータ))( )を選択します。
チャットまたはフロータブを選択します。
テキストボックスに、質問を入力するか、コードタスクを指定します。
質問またはコードタスクを送信します。
次の場合に、Tool Approval Required(ツール承認が必要です)ダイアログが表示されます。:
- GitLab Duoがセッションで初めてそのツールを呼び出す場合。
- セッション全体でそのツールを承認していません。
ツールを承認または拒否します。:
ツールを承認すると、機能がツールに接続して回答を生成します。
オプション。セッション全体でツールを承認するには、承認するドロップダウンリストから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拡張機能のトラブルシューティングを参照してください。