gl-cli について
gl-cli は zereight-mcp-gitlab を使って GitLab を操作するコマンドライン手段で、MCP クライアントなしでコマンドを実行したいユーザー向けです。マージリクエストの確認に加え、認証情報の設定や書き込み制御も扱います。
主な機能
- 01マージリクエストの確認
- 02差分と変更ファイルの表示
- 03ディスカッションとパイプラインの確認
- 04承認状況とMR状態の確認
- 05認証情報と読み取り専用モードの設定
活用シーン
- 01MCP クライアントなしでMRをレビュー
- 02大きな差分の確認前に変更パスを調査
- 03MRのパイプラインと承認状況を確認
MCP 対応
このプロジェクトはMCP サーバーであると同時にGitLab CLIでもあります。このスキルでは、MCP クライアントを介さずコマンドを直接実行する方法を説明しています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zereight/ gitlab-mcp --skill gl-cliインストール後、Claude Code で/gl-cliを入力して読み込まれたか確認します。
詳細
gl-cli
zereight-mcp-gitlab(別名 mcp-gitlab)は、MCP サーバーであると同時に GitLab CLI でもあります。コマンドを実行すると、結果を出力して終了します。MCP クライアントは関与しません。
完全なガイド:docs/getting-started/cli-without-mcp.md。
1. まず認証情報を確認する
何よりも先にこれを実行し、結果を確認してください。
zereight-mcp-gitlab user whoami
- ユーザーが表示された場合:認証情報は有効です。手順 3 に進んでください。
Missing GitLab credentials(終了コード 2)の場合:手順 2 に進んでください。401の場合:トークンの有効期限が切れているか、スコープが不足しています。手順 2 をやり直してください。command not foundの場合:npm install -g @zereight/mcp-gitlabを実行してください。
2. 認証する(どちらの方法にするかユーザーに確認する)
トークンを捏造、推測、または表示してはいけません。ユーザーの秘密情報が必要なため、コマンドを自分で実行するようユーザーに依頼してください。
A. Personal Access Token(最速。スコープは read_api、書き込みには api)
read -rs GITLAB_PERSONAL_ACCESS_TOKEN && export GITLAB_PERSONAL_ACCESS_TOKEN
export GITLAB_API_URL=https://gitlab.example.com/api/v4 # omit for gitlab.com
GITLAB_PERSONAL_ACCESS_TOKEN_FILE でトークンファイルを指定することもできます。プロセスは起動時に一度だけファイルを読み込み、前後の空白を削除します。GITLAB_PERSONAL_ACCESS_TOKEN がすでに空でない場合は、ファイルは無視され、警告が標準エラーに出力されます。
B. OAuth デバイスフロー(GitLab OAuth アプリケーション ID が必要)
export GITLAB_OAUTH_CLIENT_ID=YOUR_APP_ID
zereight-mcp-gitlab auth # open the printed URL, enter the code
export GITLAB_USE_OAUTH=true # needed on every later CLI call
トークンを --token で渡さないでください。引数は ps で表示されます。
3. マージリクエストを読む
| 目的 | コマンド |
|---|---|
| オープン状態の MR を一覧表示 | mr list --project-id <path|id> --state opened |
| MR の概要 | mr view --project-id <p> --mr-iid <n> |
| 変更されたファイルパスのみ | mr files --project-id <p> --mr-iid <n> |
| 差分全体 | mr diff --project-id <p> --mr-iid <n> |
| レビュースレッド | mr discussions --project-id <p> --mr-iid <n> |
| MR のパイプライン | mr pipelines --project-id <p> --mr-iid <n> |
| 承認状態 | mr approvals --project-id <p> --mr-iid <n> |
| その他 | tool <tool_name> --project-id <p> --args-json '{...}' |
すべてのコマンドの先頭に zereight-mcp-gitlab を付けてください。結果を解析する場合は --output json を追加してください。大きな MR では、まず mr files を使い、必要なファイルだけを diff で確認してください。
必須入力の解決
実際の呼び出しで、この表の <project> や 42 のようなプレースホルダーを使ってはいけません。
プロジェクトまたは MR 番号が不明な場合は、ユーザーに確認するか、mr list または git remote -v で調べてください。
安全性
- デフォルトでは読み取り専用にします:
export GITLAB_PERMISSION_MODE=readonly。書き込み(mr approve、mr merge、mr note、mr update、mr create)は終了コード 2 で拒否されます。 - 破壊的なコマンドには
--yesが必要です。ユーザーが現在のメッセージでその操作を明確に確認した後にのみ追加してください。 - ユーザーがその操作を明示していない限り、
mr mergeまたはmr approveを実行しないでください。
ここでは扱わない内容
MCP ツールカタログとワークフローについては、gitlab-mcp スキルを使用してください。このスキルは CLI のみを対象としています。