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

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サーバーに接続すると、次を実行します:

  1. OAuthアプリケーションとして自身を登録します。
  2. GitLabデータへのアクセス認可をリクエストします。
  3. 安全なAPIアクセス用のアクセストークンを受信します。

クリック操作でわかるデモについては、GitLab Duo Agent Platform - GitLab MCPサーバーを参照してください。

前提条件

クライアントをGitLab MCPサーバーに接続する

GitLab MCPサーバーは2種類のトランスポートタイプをサポートしています:

  • HTTPトランスポート(推奨): 追加の依存関係なしに直接接続します。
  • mcp-remoteを使用したstdioトランスポート: プロキシ経由で接続します (Node.jsが必要です)。

一般的なAIツールは、mcpServersキーのJSON設定形式をサポートしており、GitLab MCPサーバーの設定を構成するためのさまざまな方法を提供します。

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サーバーを設定するには:

  1. Cursorで、設定 > Cursor Settings > Tools & MCPに移動します。

  2. Installed MCP Serversの下で、New MCP Serverを選択します。

  3. 開いている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"
        }
      }
    }
  4. ファイルを保存し、ブラウザでOAuth認可ページが開くのを待ちます。

    ページが開かない場合は、Cursorを閉じて再起動します。

  5. ブラウザで、認可リクエストを確認して承認します。

これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。

これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。

Claude CodeをGitLab MCPサーバーに接続する

Claude Codeは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。Claude CodeでGitLab MCPサーバーを設定するには:

  1. お使いのターミナルで、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/mcp
  2. Claude Codeを開始します:

    claude
  3. GitLab MCPサーバーで認証します:

    • チャットで/mcpと入力します。
    • リストからGitLabサーバーを選択します。
    • ブラウザで、認可リクエストを確認して承認します。
  4. オプション。接続を確認するには、もう一度/mcpと入力します。お使いのGitLabサーバーが接続済みとして表示されるはずです。

これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。

これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。

Claude DesktopをGitLab MCPサーバーに接続する

前提条件:

  • Node.jsバージョン20以降をインストールします。
  • Node.jsがPATH環境変数 (which -a node) でグローバルに利用可能であることを確認してください。

Claude DesktopでGitLab MCPサーバーを設定するには:

  1. Claude Desktopを開きます。

  2. 設定ファイルを編集します。次のいずれかを実行します:

    • Claude Desktopで、Settings > Developer > Edit Configに移動します。
    • macOSで、~/Library/Application Support/Claude/claude_desktop_config.jsonファイルを開きます。
  3. 必要に応じて編集し、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"
          ]
        }
      }
    }
  4. 設定を保存して、Claude Desktopを再起動します。

  5. 最初の接続時に、Claude DesktopはOAuthのブラウザウィンドウを開きます。リクエストを確認して承認します。

  6. Settings > Developerに移動し、新しいGitLab MCP設定を確認します。

  7. 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サーバーを設定するには:

  1. ~/.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"
        }
      }
    }
  2. Gemini Code AssistまたはGemini CLIで、/mcp auth GitLabコマンドを実行します。

    OAuth認可ページが表示されるはずです。表示されない場合は、Gemini Code AssistまたはGemini CLIを再起動してください。

  3. ブラウザで、認可リクエストを確認して承認します。

これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。

これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。

VS CodeでGitHub CopilotをGitLab MCPサーバーに接続する

GitHub Copilotは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。VS CodeでGitHub Copilot内のGitLab MCPサーバーを設定するには:

  1. VS Codeでコマンドパレットを開きます。

    • macOSでは、Command+Shift+Pを押します。
    • WindowsまたはLinuxでは、Control+Shift+Pを押します。
  2. MCP: Add Serverと入力してEnterキーを押します。

  3. サーバータイプでHTTPを選択します。

  4. サーバーURLにhttps://<gitlab.example.com>/api/v4/mcpと入力します。

    • <gitlab.example.com>を以下に置き換えます:
      • GitLab Self-Managedでは、GitLabインスタンスのURL。
      • GitLab.comでは、gitlab.com
  5. サーバーIDにGitLabと入力します。

  6. 設定をグローバルに、またはvscode/mcp.jsonワークスペースに保存します。

    OAuth認可ページが表示されるはずです。表示されない場合は、コマンドパレットを開き、MCP: List Serversで検索し、ステータスを確認するか、サーバーを再起動します。

  7. ブラウザで、認可リクエストを確認して承認します。

これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。

これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。

Kiro IDEとCLIをGitLab MCPサーバーに接続する

Kiro IDEとCLIは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。Kiro IDEまたはCLIでGitLab MCPサーバーを設定するには:

  1. ~/.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"
        }
      }
    }
  2. 設定を保存します。

    OAuth認可ページが表示されるはずです。そうでない場合は、Kiro CLIを開き、/mcpコマンドを実行します。

  3. ブラウザで、認可リクエストを確認して承認します。

これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。

これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。

OpenAI CodexをGitLab MCPサーバーに接続する

OpenAI Codexは、追加の依存関係なしに直接接続するためにHTTPトランスポートを使用します。OpenAI CodexでGitLab MCPサーバーを設定するには:

  1. お使いのターミナルで、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
  2. ~/.codex/config.tomlを編集し、[features]セクションでrmcp_client機能フラグを有効にします。

    [features]
    "rmcp_client" = true
    
    [mcp_servers.GitLab]
    url = "https://<gitlab.example.com>/api/v4/mcp"
  3. ログインフローを実行し、GitLabインスタンスで認証します。

    codex mcp login GitLab
  4. ブラウザで、認可リクエストを確認して承認します。

これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。

これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。

ZedをGitLab MCPサーバーに接続する

前提条件:

  • Node.jsバージョン20以降をインストールします。
  • Node.jsがPATH環境変数 (which -a node) でグローバルに利用可能であることを確認してください。

ZedでGitLab MCPサーバーを設定するには:

  1. Zedで、コマンドパレットを開きます:

    • macOSでは、Command+Shift+Pを押します。
    • WindowsまたはLinuxでは、Control+Shift+Pを押します。
  2. agent: open settingsと入力してEnterキーを押します。

  3. Model Context Protocol (MCP) Serversセクションで、Add Serverを選択します。

  4. 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": {}
      }
    }
  5. 設定を保存します。

    OAuth認可ページが表示されるはずです。表示されない場合は、GitLab切替をオフにしてから再度オンにしてください。

  6. ブラウザで、認可リクエストを確認して承認します。

これで、新しいチャットを開始し、利用可能なツールに応じて質問できるようになります。

これらのツールを使用する際は、プロンプトインジェクションに対する防御はユーザーの責任です。最大限の注意を払うか、信頼できるGitLabオブジェクトでのみMCPツールを使用してください。