mcpField
A
Advanced GitLab MCP server

Advanced GitLab MCP server

ローカル
gitlab-mcp.sw.foundationバージョン管理8今日更新

Advanced GitLab MCP server について

Advanced GitLab MCP serverは、インスタンスのバージョンや権限に応じたツールカタログでGitLabの操作を提供します。GitLabを扱うエージェント向けで、アクセス範囲の設定、複数のトランスポート、複数インスタンスに対応します。

主な機能

  1. 01234操作を扱う64個のCQRSツール
  2. 02インスタンスの機能に応じたカタログ
  3. 03読み取り専用モードとツールグループ設定
  4. 04OAuthと複数インスタンス接続
  5. 05stdio、SSE、StreamableHTTPトランスポート
  6. 06切断状態の処理と自動再接続

活用シーン

  1. 01プロジェクト、マージリクエスト、パイプラインの参照
  2. 02GitLabの課題、リリース、CI/CDの管理
  3. 03本番環境の接続を読み取り専用に制限

MCP 対応

64個のツールを通じて、MCPクライアントにGitLab操作を提供します。利用可能なツールとパラメーターは、接続先のバージョン、ティア、トークンのスコープに応じて変わります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
npm@structured-world/gitlab-mcp12.0.3
mcpbgitlab-mcp-12.0.3.mcpb

ツール

1

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
actionenumはい実行する操作:show、list_presets、list_profiles、switch_preset、switch_profile、set_scope、reset、whoamishow | list_presets | list_profiles | switch_preset | switch_profile | set_scope | reset | whoami
presetstringいいえ有効にするプリセット名。'switch_preset' 操作で必須です。
profilestringいいえ有効にするプロファイル名。'switch_profile' 操作で必須です。
namespacestringいいえ名前空間のパス(例:'my-group' または 'group/project')。タイプは自動検出されます。'set_scope' 操作で必須です。
includeSubgroupsbooleanいいえスコープがグループの場合にサブグループを含めます(デフォルト:true)。'set_scope' 操作で必須です。

詳細

高度な GitLab MCP サーバー

npm version npm downloads License Release Coverage Coverage Report

高度な GitLab MCP サーバー — 26 種類のエンティティにわたる 234 の GitLab 操作を提供する、64 個の CQRS ツールを備えています。ツールカタログとパラメーターは、各インスタンスの GitLab バージョン、ティア、トークンスコープに応じて絞り込まれるため、エージェントには接続先のインスタンスが実際にサポートする機能のみが表示されます。

Install in Claude Desktop Install in VS Code Install in VS Code Insiders

パッケージ

これは 2 つの npm パッケージを含むモノレポです。

  • @structured-world/gitlab-mcp — MCP サーバーです。OAuth セッションをメモリおよびファイルに保存し、データベースへの依存はありません。ほとんどのユーザーにはこちらで十分です。
  • @structured-world/gitlab-mcp-db — ロードバランサー配下で複数のレプリカを実行するための、オプションの PostgreSQL/Prisma OAuth セッションバックエンドです。OAUTH_STORAGE_TYPE=postgresql で有効にできます。セットアップの詳細はPostgreSQL デプロイガイドをご覧ください。

クイックスタート

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": ["-y", "@structured-world/gitlab-mcp"],
      "env": {
        "GITLAB_TOKEN": "your_gitlab_token",
        "GITLAB_API_URL": "https://gitlab.com"
      }
    }
  }
}

要件: Node.js >= 24

主な特長

  • 64 個のツールで 26 種類のエンティティに対応 — プロジェクト、マージリクエスト、パイプライン、作業項目、Wiki など
  • CQRS アーキテクチャ — クエリには browse_*、コマンドには manage_* を使用
  • 接続の回復性 — 起動時間の上限設定、指数バックオフによる自動再接続、GitLab に接続できない場合の切断モード
  • 複数インスタンス対応 — GitLab.com、セルフマネージド、セルフホスト可能なインスタンスに、インスタンスごとの OAuth とレート制限を適用して接続できます。1 つの接続に複数のアカウントを紐付けることができ、たとえば会社の GitLab と個人用の GitLab.com アカウントを登録し、チャットごとに切り替えて利用できます
  • 複数のトランスポート — stdio、SSE、StreamableHTTP
  • OAuth 2.1 — Claude Custom Connector によるユーザーごとの認証
  • 読み取り専用モード — 本番環境でも安全に運用
  • 自動検出 — git remote から GitLab の設定を検出
  • きめ細かな制御 — ツールグループの有効化/無効化、アクションの絞り込み、説明のカスタマイズ
  • Docker 対応 — ghcr.io/structured-world/gitlab-mcp:latest

ツールモデル

GitLab は数百の API 操作を公開しています。それぞれに独自の MCP ツールを割り当てるとエージェントのコンテキストが溢れ、薄い API ラッパーではその複雑さをエージェントに押し戻すことになります。このサーバーは別の方法を採用しています。64 個の CQRS ツールがそれぞれ複数の型付きアクションを備え、26 種類のエンティティにわたる 234 個の操作を公開します。

  • browse_* ツールは読み取り専用のクエリ、manage_* ツールは書き込みを行います。
  • サブリソースは新しいツールではなくアクションにまとめられます。たとえば、browse_pipelines はパイプライン、ジョブ、ログを 1 つのツールで扱います。
  • ツール一覧、アクション、パラメーターは、GitLab のバージョン、ティア、トークンのスコープ、管理者モード、機能フラグ、プロファイルに基づき、スキーマ生成時に解決されます。

例:

  • browse_pipelines — 一覧表示、取得、ジョブ、ジョブ詳細、ログ、トリガー
  • manage_pipeline — 作成、再試行、キャンセル
  • browse_environments — 一覧表示、取得、デプロイ一覧表示
  • manage_environment — 作成、更新、停止、削除、デプロイステータスの更新
  • browse_deploy_keys / manage_deploy_key — 一覧表示、取得 / 追加、有効化、更新、削除

ドキュメント

詳細なドキュメントは gitlab-mcp.sw.foundation でご覧いただけます。

セクション説明
インストールnpm、Docker、VS Code、Codex
設定環境変数、機能フラグ
マルチインスタンス複数の GitLab インスタンスへの接続
ツールリファレンスパラメーター付きの 64 個すべてのツール
OAuth の設定Claude を使ったチーム認証
TLS/HTTPSSSL を使った本番環境へのデプロイ
カスタマイズツールの説明、アクションのフィルタリング
CLI ツールツールドキュメントの閲覧とエクスポート
自動生成されるツールリファレンス

パラメーターを含むツールリファレンス全体については、以下をご覧ください。

# View locally
yarn list-tools --detail

# Generate documentation
yarn list-tools --export --toc > docs/tools/api-reference.md

自動生成されるツールドキュメントについては、API リファレンス全文をご覧ください。

Docker

# HTTP mode
docker run -e PORT=3002 -e GITLAB_TOKEN=your_token -p 3333:3002 \
  ghcr.io/structured-world/gitlab-mcp:latest

# stdio mode
docker run -i --rm -e GITLAB_TOKEN=your_token \
  ghcr.io/structured-world/gitlab-mcp:latest

接続の回復性

サーバーはGitLabの接続問題を適切に処理します。

  • 起動時間の上限 — GitLabが利用可能かどうかにかかわらず、サーバーはGITLAB_INIT_TIMEOUT_MS(既定値は5s)以内に起動します
  • 切断モード — GitLabに接続できない場合(disconnected/failed状態)、診断用のwhoami、switch_preset、set_scopeなどのローカル操作を含むmanage_contextツールのみが公開されます。再接続中(connecting状態)は、短時間の停止中にMCPクライアントがツールカタログを失わないよう、ツールの全リストを引き続き利用できます。ツールの利用可否の変更は、tools/list_changedを通じてMCPクライアントに通知されます
  • 自動再接続 — 指数バックオフによる再接続(5s → 60s、ジッターは±10%)
  • エラー分類 — 一時的なエラー(ネットワーク、5xx、タイムアウト)が発生すると、自動再接続が行われます。起動時の認証/設定エラーではfailed状態に移行し、自動再接続は行われません。セッション中のトークン失効は、定期的なヘルスチェックと同時に実行される認証済みのHEAD /api/v4/userチェックによって検出されます(静的トークンモードのみ。OAuthモードでは省略されます)。このチェックで401または403が返された場合、インスタンスは直ちにfailed状態に移行します。
  • インスタンスのヘルスモニター — 監視対象の各インスタンスURLには、独自のXStateステートマシンがあります。追跡対象外のOAuth URLは、現時点では到達可能として扱われます。
変数既定値説明
GITLAB_INIT_TIMEOUT_MS5000起動時にGitLabを待機する最大時間
GITLAB_RECONNECT_BASE_DELAY_MS5000初回の再接続待ち時間(試行ごとに倍増)
GITLAB_RECONNECT_MAX_DELAY_MS60000再接続待ち時間の最大値
GITLAB_HEALTH_CHECK_INTERVAL_MS60000接続中のヘルスチェック間隔
GITLAB_FAILURE_THRESHOLD3切断に至るまでの一時的な連続失敗回数
GITLAB_TOOL_TIMEOUT_MS120000ツール/ブートストラップの実行がタイムアウトするまでの最大時間
GITLAB_RESPONSE_WRITE_TIMEOUT_MS10000ゾンビ接続を破棄する前に、SSE以外のレスポンスをフラッシュする最大時間(無効にするには0を指定。SSEではハートビートを使用)
GITLAB_INSTANCE_CACHE_MAX100メモリに保持するURLごとのインスタンス状態の最大数(OAuthマルチテナント。上限を超えるとLRU方式で削除)
GITLAB_INSTANCE_TTL_MS3600000アイドル状態のURLごとのインスタンス状態のTTL(ms)。次回挿入時に削除されます(OAuthマルチテナント)

機能フラグ

フラグ既定値有効になるツール
USE_LABELStrueラベル管理
USE_MRStrueマージリクエスト
USE_FILEStrueファイル操作
USE_VARIABLEStrueCI/CD変数
USE_WORKITEMStrueイシュー、エピック、タスク
USE_WEBHOOKStrueWebhook管理
USE_SNIPPETStrueコードスニペット
USE_INTEGRATIONStrue50以上のインテグレーション
USE_GITLAB_WIKItrueWikiページ
USE_MILESTONEtrueマイルストーン
USE_PIPELINEtrueパイプラインとCI/CD
USE_RELEASEStrueリリース管理
USE_REFStrueブランチとタグの管理
USE_MEMBERStrueチームメンバー
USE_SEARCHtrueプロジェクト横断検索
USE_ITERATIONStrueイテレーション計画(スプリント)
USE_CI_TOKENStrueCIアクセス認証情報:ジョブトークンのスコープとデプロイキー
USE_ENVIRONMENTStrue環境とデプロイ
USE_RUNNERStrueCIランナー管理
USE_REGISTRYtrueコンテナレジストリのリポジトリとタグ
USE_ACCESS_TOKENStrueプロジェクト/グループ/個人アクセストークンの管理
USE_AUDIT_EVENTStrue監査イベント(Premium以上)
USE_VULNERABILITIEStrue脆弱性管理(Ultimate)

貢献

開発環境のセットアップ、テスト、PRのガイドラインについては、CONTRIBUTING.mdを参照してください。

プロジェクトを支援する

USDT TRC-20寄付用QRコード

USDT(TRC-20):TFDsezHa1cBkoeZT5q2T49Wp66K8t2DmdA

## License

Apache License 2.0 — see LICENSE for details.

Based on zereight/gitlab-mcp (MIT). See LICENSE.MIT.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。