Skip to main content
Glama

gitlab-mcp

GitLab API用MCPサーバー。セルフホストのGitLabインスタンスおよびgitlab.comで動作します。

イシュー、マージリクエスト、コードレビュー、パイプライン、マイルストーン、リリース、検索、ファイルアクセスのためのツールを提供します。

前提条件

  • Node.js >= 18

  • npm

  • api スコープを持つGitLabパーソナルアクセストークン

Related MCP server: GitLab MCP Server

インストール

git clone <repo-url> gitlab-mcp
cd gitlab-mcp
npm install
npm run build

設定

プロジェクトのルートに config.json を作成します:

{
  "token": "glpat-your-token-here",
  "apiUrl": "https://your-gitlab-instance.com/api/v4"
}

gitlab.comを使用する場合は、"apiUrl": "https://gitlab.com/api/v4" を使用するか、このフィールドを完全に省略してください。

または、config.json を使用する代わりに環境変数を設定します:

export GITLAB_PERSONAL_ACCESS_TOKEN="glpat-your-token-here"
export GITLAB_API_URL="https://your-gitlab-instance.com/api/v4"

GitLabトークンの作成

  1. GitLab > 設定 > アクセストークン に移動します

  2. api スコープを持つトークンを作成します

  3. トークンを config.json にコピーします

Claude Codeへの追加

Claude CodeのMCP設定(~/.claude/settings.json またはプロジェクトレベルの .claude/settings.local.json)にサーバーを追加します:

{
  "mcpServers": {
    "gitlab": {
      "command": "node",
      "args": ["/absolute/path/to/gitlab-mcp/index.js"]
    }
  }
}

Claude Codeを再起動するか、/mcp を実行して接続します。

利用可能なツール

イシュー

ツール

説明

gitlab_get_issue

プロジェクトとIIDで単一のイシューを取得

gitlab_list_group_issues

フィルター(状態、ラベル、担当者、検索、マイルストーン)を使用してグループ内のイシューを一覧表示

gitlab_list_milestone_issues

マイルストーン内のイシューを一覧表示

gitlab_create_issue

新しいイシューを作成

gitlab_update_issue

イシューを更新(状態、タイトル、説明、ラベル、担当者、マイルストーン)

gitlab_add_comment

イシューにコメントを追加

マージリクエスト

ツール

説明

gitlab_list_merge_requests

フィルター(状態、作成者、レビュアー、担当者、日付、ターゲットブランチ)を使用してMRを一覧表示。プロジェクトはオプションです — プロジェクト横断検索の場合は省略してください。

gitlab_get_merge_request

プロジェクトとIIDで単一のMRを取得

gitlab_get_mr_changes

MRの差分 / 変更されたファイルを取得

gitlab_list_mr_notes

MRのコメント/ノートを一覧表示

gitlab_add_mr_note

MRに一般的なコメントを追加

gitlab_create_mr_discussion

特定のファイルと行に対してインライン差分コメントを作成

プロジェクト、マイルストーン、リリース

ツール

説明

gitlab_list_projects

グループ内のプロジェクトを一覧表示

gitlab_list_milestones

グループ内のマイルストーンを一覧表示

gitlab_list_releases

プロジェクトのリリースを一覧表示

検索とファイル

ツール

説明

gitlab_search

プロジェクト内を検索(コード、イシュー、MR、コミット、ノート)

gitlab_get_file

リポジトリからファイルの内容を取得

gitlab_list_pipelines

フィルター(ステータス、参照)を使用してCI/CDパイプラインを一覧表示

汎用エスケープハッチ

ツール

説明

gitlab_api_request

GitLab REST APIエンドポイントを直接呼び出します。専用ツールが存在しない場合に使用してください。method (GET/POST/PUT/PATCH/DELETE)、path (例: /projects/93/merge_requests/2387/notes/74875)、およびオプションの body を受け取ります。

例 — 既存のMRノートを編集:

gitlab_api_request({
  method: "PUT",
  path: "/projects/93/merge_requests/2387/notes/74875",
  body: { body: "Updated comment text" }
})

Claude Codeでの使用例

> Review MR !2397 in octopus/reunion/client

Claude will use gitlab_get_merge_request, gitlab_get_mr_changes,
and gitlab_create_mr_discussion to review and leave inline comments.

開発

# Edit index.ts, then rebuild
npm run build

# Reconnect in Claude Code
/mcp

Related MCP Connectors

Related MCP Servers