GitLab MCPサーバー
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
- ステータス: ベータ版
この機能についてフィードバックを提供するには、issue 561564にコメントを残してください。
GitLab Model Context Protocol(MCP)サーバーを使用すると、AIツールとアプリケーションをGitLabインスタンスに安全に接続できます。Claude Desktop、Claude Code、CursorなどのAIアシスタントやその他のMCP互換ツールは、GitLabデータを参照し、ユーザーに代わってアクションを実行できます。
GitLab MCPサーバーは、AIツールが以下のことを行うための標準化された方法を提供します:
- GitLabプロジェクト情報にアクセスします。
- イシューとマージリクエストのデータを取得します。
- GitLab APIと安全にやり取りします。
- AIアシスタントを介してGitLab固有の操作を実行します。
GitLab MCPサーバーは、OAuth 2.0 Dynamic Client Registrationをサポートしており、AIツールはGitLabインスタンスに自身を登録できます。AIツールが初めてGitLab MCPサーバーに接続すると、次を実行します:
- OAuthアプリケーションとして自身を登録します。
- GitLabデータへのアクセス認可をリクエストします。
- 安全なAPIアクセス用のアクセストークンを受信します。
クリック操作でわかるデモについては、GitLab Duo Agent Platform - GitLab MCPサーバーを参照してください。
前提条件
- GitLab Duoを有効にしてください:
- GitLab.comでは、トップレベルグループに対して。
- GitLab Self-ManagedおよびGitLab Dedicatedでは、インスタンスに対して。
- ベータ版機能および実験的機能を有効にしてください:
- GitLab.comでは、トップレベルグループに対して。
- GitLab Self-ManagedおよびGitLab Dedicatedでは、インスタンスに対して。
クライアントをGitLab MCPサーバーに接続する
GitLab MCPサーバーは2種類のトランスポートタイプをサポートしています:
- HTTPトランスポート(推奨): 追加の依存関係なしに直接接続します。
mcp-remoteを使用したstdioトランスポート: プロキシ経由で接続します (Node.jsが必要です)。
一般的なAIツールは、mcpServersキーのJSON設定形式をサポートしており、GitLab MCPサーバーの設定を構成するためのさまざまな方法を提供します。
HTTPトランスポート(推奨)
GitLab MCPサーバーをHTTPトランスポートを使用して設定するには、この形式を使用してください:
<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
{
"mcpServers": {
"GitLab": {
"type": "http",
"url": "https://<gitlab.example.com>/api/v4/mcp"
}
}
}ツール名にプレフィックスを追加するには、X-Gitlab-Mcp-Server-Tool-Name-Prefix HTTPヘッダーを設定します。プレフィックスを設定することで、他のMCPサーバーや複数のGitLabインスタンスとのツール名の競合を回避できます。
この制限を超えると、プレフィックスは最初の32文字に切り詰められます。
{
"mcpServers": {
"GitLab": {
"type": "http",
"url": "https://<gitlab.example.com>/api/v4/mcp",
"headers": {
"X-Gitlab-Mcp-Server-Tool-Name-Prefix": "gitlab_"
}
}
}
}stdioトランスポート (mcp-remote使用)
前提条件:
- Node.jsバージョン20以降をインストールします。
GitLab MCPサーバーをstdioトランスポートを使用して設定するには、この形式を使用してください:
"command":パラメータの場合、npxがグローバルではなくローカルにインストールされている場合は、npxへのフルパスを指定してください。<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
{
"mcpServers": {
"GitLab": {
"command": "npx",
"args": [
"mcp-remote",
"https://<gitlab.example.com>/api/v4/mcp"
]
}
}
}CursorをGitLab MCPサーバーに接続する
Cursorは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。CursorでGitLab MCPサーバーを設定するには:
Cursorで、設定 > Cursor Settings > Tools & MCPに移動します。
Installed MCP Serversの下で、New MCP Serverを選択します。
開いている
mcp.jsonファイル内のmcpServersキーにこの定義を追加します:<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
{ "mcpServers": { "GitLab": { "type": "http", "url": "https://<gitlab.example.com>/api/v4/mcp" } } }ファイルを保存し、ブラウザでOAuth認可ページが開くのを待ちます。
ページが開かない場合は、Cursorを閉じて再起動します。
ブラウザで、認可リクエストを確認して承認します。
これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。
これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。
Claude CodeをGitLab MCPサーバーに接続する
Claude Codeは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。Claude CodeでGitLab MCPサーバーを設定するには:
お使いのターミナルで、CLIを使用してGitLab MCPサーバーを追加します:
<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
claude mcp add --transport http GitLab https://<gitlab.example.com>/api/v4/mcpClaude Codeを開始します:
claudeGitLab MCPサーバーで認証します:
- チャットで
/mcpと入力します。 - リストからGitLabサーバーを選択します。
- ブラウザで、認可リクエストを確認して承認します。
- チャットで
オプション。接続を確認するには、もう一度
/mcpと入力します。お使いのGitLabサーバーが接続済みとして表示されるはずです。
これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。
これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。
Claude DesktopをGitLab MCPサーバーに接続する
前提条件:
- Node.jsバージョン20以降をインストールします。
- Node.jsが
PATH環境変数 (which -a node) でグローバルに利用可能であることを確認してください。
Claude DesktopでGitLab MCPサーバーを設定するには:
Claude Desktopを開きます。
設定ファイルを編集します。次のいずれかを実行します:
- Claude Desktopで、Settings > Developer > Edit Configに移動します。
- macOSで、
~/Library/Application Support/Claude/claude_desktop_config.jsonファイルを開きます。
必要に応じて編集し、GitLab MCPサーバーのこのエントリを追加します:
"command":パラメータの場合、npxがグローバルではなくローカルにインストールされている場合は、npxへのフルパスを指定してください。<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
GitLab.com。
{ "mcpServers": { "GitLab": { "command": "npx", "args": [ "-y", "mcp-remote", "https://<gitlab.example.com>/api/v4/mcp" ] } } }設定を保存して、Claude Desktopを再起動します。
最初の接続時に、Claude DesktopはOAuthのブラウザウィンドウを開きます。リクエストを確認して承認します。
Settings > Developerに移動し、新しいGitLab MCP設定を確認します。
Settings > Connectorsに移動し、接続されているGitLab MCPサーバーを調べます。
これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。
これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。
Gemini Code AssistおよびGemini CLIをGitLab MCPサーバーに接続する
Gemini Code AssistおよびGemini CLIは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。Gemini Code AssistまたはGemini CLIでGitLab MCPサーバーを設定するには:
~/.gemini/settings.jsonを編集し、GitLab MCPサーバーを追加します。<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
{ "mcpServers": { "GitLab": { "httpUrl": "https://<gitlab.example.com>/api/v4/mcp" } } }Gemini Code AssistまたはGemini CLIで、
/mcp auth GitLabコマンドを実行します。OAuth認可ページが表示されるはずです。表示されない場合は、Gemini Code AssistまたはGemini CLIを再起動してください。
ブラウザで、認可リクエストを確認して承認します。
これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。
これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。
VS CodeでGitHub CopilotをGitLab MCPサーバーに接続する
GitHub Copilotは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。VS CodeでGitHub Copilot内のGitLab MCPサーバーを設定するには:
VS Codeでコマンドパレットを開きます。
- macOSでは、Command+Shift+Pを押します。
- WindowsまたはLinuxでは、Control+Shift+Pを押します。
MCP: Add Serverと入力してEnterキーを押します。サーバータイプでHTTPを選択します。
サーバーURLに
https://<gitlab.example.com>/api/v4/mcpと入力します。<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
サーバーIDに
GitLabと入力します。設定をグローバルに、または
vscode/mcp.jsonワークスペースに保存します。OAuth認可ページが表示されるはずです。表示されない場合は、コマンドパレットを開き、MCP: List Serversで検索し、ステータスを確認するか、サーバーを再起動します。
ブラウザで、認可リクエストを確認して承認します。
これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。
これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。
Kiro IDEとCLIをGitLab MCPサーバーに接続する
Kiro IDEとCLIは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。Kiro IDEまたはCLIでGitLab MCPサーバーを設定するには:
~/.kiro/settings/mcp.jsonを編集し、GitLab MCPサーバーを追加します。<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
{ "mcpServers": { "GitLab": { "type": "http", "url": "https://<gitlab.example.com>/api/v4/mcp" } } }設定を保存します。
OAuth認可ページが表示されるはずです。そうでない場合は、Kiro CLIを開き、
/mcpコマンドを実行します。ブラウザで、認可リクエストを確認して承認します。
これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。
これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。
OpenAI CodexをGitLab MCPサーバーに接続する
OpenAI Codexは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。OpenAI CodexでGitLab MCPサーバーを設定するには:
お使いのターミナルで、CLIを使用してGitLab MCPサーバーを追加します:
<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
codex mcp add --url "https://<gitlab.example.com>/api/v4/mcp" GitLab~/.codex/config.tomlを編集し、[features]セクションでrmcp_client機能フラグを有効にします。[features] "rmcp_client" = true [mcp_servers.GitLab] url = "https://<gitlab.example.com>/api/v4/mcp"ログインフローを実行し、GitLabインスタンスで認証します。
codex mcp login GitLabブラウザで、認可リクエストを確認して承認します。
これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。
これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。
ZedをGitLab MCPサーバーに接続する
前提条件:
- Node.jsバージョン20以降をインストールします。
- Node.jsが
PATH環境変数 (which -a node) でグローバルに利用可能であることを確認してください。
ZedでGitLab MCPサーバーを設定するには:
Zedで、コマンドパレットを開きます:
- macOSでは、Command+Shift+Pを押します。
- WindowsまたはLinuxでは、Control+Shift+Pを押します。
agent: open settingsと入力してEnterキーを押します。Model Context Protocol (MCP) Serversセクションで、Add Serverを選択します。
args内のサーバーURLにはhttps://<gitlab.example.com>/api/v4/mcpを使用します。<gitlab.example.com>を以下に置き換えます:- GitLab Self-Managedでは、GitLabインスタンスのURL。
- GitLab.comでは、
gitlab.com。
{ /// The name of your MCP server "GitLab": { /// The command which runs the MCP server "command": "npx", /// The arguments to pass to the MCP server "args": ["-y","mcp-remote@latest","https://<gitlab.example.com>/api/v4/mcp"], /// The environment variables to set "env": {} } }設定を保存します。
OAuth認可ページが表示されるはずです。表示されない場合は、GitLab切替をオフにしてから再度オンにしてください。
ブラウザで、認可リクエストを確認して承認します。
これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。
これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。