zereight/gitlab-mcp

First gitlab mcp for you, building together

GitLab MCP サーバーとは?

gitlab-mcp は、AI エージェント(Claude、Codex、Cursor、VS Code、Copilot など)が GitLab インスタンスと通信できるようにするスタンドアロンの Model-Context-Protocol(MCP)サーバーです。GitLab REST/GraphQL API を MCP インターフェースの背後にラップし、LLM が直接呼び出せる数百のすぐに使えるツール(例:create-merge-request、list-issues、run-pipeline、read-wiki)を公開します。

存在理由

  • 公式の GitLab MCP サーバーは GitLab に組み込まれており、比較的重いです。gitlab-mcp は軽量で一度インストールするだけのバイナリで、ローカル、コンテナ、またはカスタムのセルフホスト GitLab で実行できます。
  • AI エージェントのワークフローに最適化されています – ツールは ツールセット にグループ化され、2 段階の MR 差分レビュー、JMESPath 結果フィルタリング、きめ細かい権限モードをサポートします。
  • stdio、Server-Sent Events(SSE)、またはストリーミング可能な HTTP を介して、多くの MCP クライアント(Claude Code、Codex、Cursor、VS Code、Copilot、JSON ベースのクライアント)で動作します。

主な機能(README に記載)

機能 意味
275 ツール(ツールセット内 273 + execute_graphql + discover_tools) 大きなツールボックス。最小限のコアセットから始めて、実行時にさらに有効にできます。
2 段階 MR レビュー 最初に変更ファイルをリストし、次に差分をバッチで取得 – エージェントがコード変更を推論する方法に一致するパターン。
エージェントスキル組み込み 事前に書かれた「スキル」(プロンプト形式のガイダンス)が skills/gitlab-mcp/ にあり、エージェントがツールを正しく使用するのに役立ちます。
柔軟な認証 個人アクセストークン(PAT)、ローカル OAuth2 ブラウザーフロー、MCP プロキシ OAuth、またはマルチユーザー展開用のリクエストごとのリモート認証。
複数のトランスポート ローカルクライアント用の stdio、レガシークライアント用の SSE、リモート展開用の ストリーミング可能な HTTP。
クライアントフレンドリーなセットアップ Claude Code、Codex、Cursor、VS Code、Copilot、および汎用 JSON ベースの MCP クライアント向けの既製インストールコマンド。
セルフホスト対応 カスタム GitLab URL、プロキシ設定で動作し、Docker、Homebrew、npm、または Nix から実行できます。
JMESPath フィルタリング ツール JSON 結果のオプションの後処理で、基になる GitLab リクエストを変更せずにペイロードを縮小します。
権限モード readonly、modify(破壊的な削除なし)、または full – ツールおよびツールセットごとに強制されます。
結果の圧縮 過大なツール応答をプレビュー付きで切り詰め、完全なデータを取得する CLI コマンドを提供します。
マスキングサポート プライバシーに敏感なフィールドのテキスト応答マスキング。

実行方法

  1. インストール – npm(npm i -g @zereight/mcp-gitlab)、Homebrew(brew tap zereight/gitlab-mcp && brew install zereight-mcp-gitlab)、または Nix(flake を入力として追加)を使用。
  2. トークンを提供 – GITLAB_PERSONAL_ACCESS_TOKEN(または _FILE バリアント)を設定するか、zereight-mcp-gitlab auth で組み込みの OAuth デバイスフローを実行します。
  3. サーバーを起動 – zereight-mcp-gitlab を実行するだけです。デフォルトでは 0.0.0.0:3002 でリッスンします。
  4. MCP クライアントを設定 – 例:Claude Code の場合:
    claude mcp add gitlab \
      --transport stdio \
      --scope local \
      --env GITLAB_PERSONAL_ACCESS_TOKEN="$GITLAB_PERSONAL_ACCESS_TOKEN" \
      --env GITLAB_API_URL=https://gitlab.com/api/v4 \
      -- zereight-mcp-gitlab
    
    VS Code、Cursor、Copilot、および汎用 JSON ベースのクライアントにも同様のスニペットがあります。

いつ使用しますか?

  • AI 拡張開発 – LLM にブランチ作成、マージリクエストのオープン、CI の実行、イシューデータの取得をカスタム API 呼び出しなしで実行させます。
  • マルチユーザー AI アシスタント – リモート認証モードでは、各ユーザーが自分の PAT を提示でき、個々の権限を尊重する共有サーバーを可能にします。
  • セルフホスト GitLab – サーバーは任意の GitLab インスタンス(GITLAB_API_URL)を指すことができ、内部エンタープライズに適しています。
  • 実験 – ツールセットは拡張可能(discover_tools)なので、サーバーコードを変更せずに新しい GitLab 関連アクションをプロトタイプできます。

最も便利な CLI フラグのクイックリファレンス

フラグ 目的
--token <PAT> 環境変数の個人アクセストークンを上書きします。
--api-url <URL> サーバーをカスタム GitLab API エンドポイントにポイントします。
`--permission-mode <readonly modify
--toolsets <list> 名前付きツールグループを有効にします(例:core,wiki,milestones)。
--tools <tool1,tool2> デフォルトセットに個々のツールを追加します。
--use-wiki、--use-milestone、--use-pipeline 対応するツールセットを有効にするレガシーフラグ(非推奨)。
--compact-results 大きなツール応答を切り詰め、完全なペイロードを取得する CLI コマンドを提供します。
--masking-enabled プライバシーに敏感なフィールドの応答マスキングをオンにします。

詳細情報


TL;DR

gitlab-mcp は、GitLab を AI エージェントの豊富なツールボックスに変える専用の MCP サーバーです。バイナリをインストールし、トークンを渡し、起動して、LLM 搭載クライアントをポイントするだけで、シンプルで権限を認識する API を介して数百の GitLab アクション(イシュー、MR 差分、パイプライン、Wiki、リリースなど)をすぐに利用できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト