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

GitLab MCPサーバーツール

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
  • ステータス: ベータ版

この機能に関するフィードバックを提供するには、イシュー561564にコメントを残してください。

GitLab MCPサーバーは、既存のGitLabワークフローと連携して動作する一連のツールを提供します。これらのツールを使用して、GitLabと直接やり取りし、一般的なGitLabの操作を実行できます。

get_mcp_server_version

GitLab MCPサーバーの現在のバージョンを返します。

例:

What version of the GitLab MCP server am I connected to?

create_issue

GitLabプロジェクトに新しいイシューを作成します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
title文字列はいイシューのタイトル。
description文字列いいえイシューの説明。
assignee_ids整数の配列いいえ割り当てられたユーザーのIDの配列。
milestone_id整数いいえマイルストーンのID。
labels文字列の配列いいえラベル名の配列。
confidentialブール値いいえイシューを機密に設定します。デフォルトはfalseです。
epic_id整数いいえリンクされたエピックのID。

例:

Create a new issue titled "Fix login bug" in project 123 with description
"Users cannot log in with special characters in password"

get_issue

特定のGitLabイシューに関する詳細情報を取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
issue_iid整数はいイシューの内部ID。

例:

Get details for issue 42 in project 123

create_merge_request

GitLabプロジェクトにマージリクエストを作成します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
title文字列はいマージリクエストのタイトル。
source_branch文字列はいソースブランチの名前。
target_branch文字列はいターゲットブランチの名前。
target_project_id整数いいえターゲットプロジェクトのID。
assignee_ids整数の配列いいえマージリクエスト担当者のIDの配列。すべての担当者の割り当てを解除するには、0または空の値を設定します。
reviewer_ids整数の配列いいえマージリクエストレビュアーのIDの配列。すべてのレビュアーの割り当てを解除するには、0または空の値を設定します。
description文字列いいえマージリクエストの説明。
labels文字列の配列いいえラベル名の配列。すべてのラベルの割り当てを解除するには、空の文字列を設定します。
milestone_id整数いいえマイルストーンのID。

例:

Create a merge request in project gitlab-org/gitlab titled "Bug fix broken specs"
from branch "fix/specs-broken" into "master" and enable squash

get_merge_request

特定のGitLabマージリクエストに関する詳細情報を取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
merge_request_iid整数はいマージリクエストの内部ID。

例:

Get details for merge request 15 in project gitlab-org/gitlab

get_merge_request_commits

特定のGitLabマージリクエスト内のコミットのリストを取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
merge_request_iid整数はいマージリクエストの内部ID。
per_page整数いいえページあたりのコミット数。
page整数いいえ現在のページ番号。

例:

Show me all commits in merge request 42 from project 123

get_merge_request_diffs

特定のGitLabマージリクエストの差分を取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
merge_request_iid整数はいマージリクエストの内部ID。
per_page整数いいえページあたりの差分数。
page整数いいえ現在のページ番号。

例:

What files were changed in merge request 25 in the gitlab project?

get_merge_request_pipelines

特定のGitLabマージリクエストのパイプラインを取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
merge_request_iid整数はいマージリクエストの内部ID。

例:

Show me all pipelines for merge request 42 in project gitlab-org/gitlab

create_merge_request_note

GitLabのマージリクエストのディスカッションに、認証済みユーザーとしてコメントまたは返信を追加します。

パラメータタイプ必須説明
url文字列いいえGitLabのマージリクエストのURL。project_idおよびmerge_request_iidが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはURLエンコードされたパス。urlが指定されていない場合は必須。
merge_request_iid整数いいえマージリクエストの内部ID。urlが指定されていない場合は必須。
body文字列はいノートの内容。クイックアクションをトリガーするのを避けるため、行を/で始めることはできません(例: /merge)。
discussion_id文字列いいえ返信先となるディスカッションのグローバルID(形式はgid://gitlab/Discussion/<id>)。指定されていない場合、新しいトップレベルのノートが作成されます。

例:

Reply "Thanks, fixed in the latest push" to merge request 42 in project gitlab-org/gitlab

get_merge_request_notes

特定のGitLabマージリクエストのノート(コメントおよびシステムノート)を取得する。

パラメータタイプ必須説明
url文字列いいえGitLabのマージリクエストのURL。project_idおよびmerge_request_iidが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはURLエンコードされたパス。urlが指定されていない場合は必須。
merge_request_iid整数いいえマージリクエストの内部ID。urlが指定されていない場合は必須。
after文字列いいえ順方向ページネーションのカーソル。
before文字列いいえ逆方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すノート数。
last整数いいえ逆方向ページネーションで返すノート数。

返される各ノートにはそのディスカッションIDが含まれるため、関連するノートはスレッドにグループ化できます。

例:

Show me all comments on merge request 5 in project gitlab-org/gitlab

get_pipeline_jobs

特定のGitLab CI/CDパイプラインのジョブを取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
pipeline_id整数はいパイプラインのID。
per_page整数いいえページあたりのジョブ数。
page整数いいえ現在のページ番号。

例:

Show me all jobs in pipeline 12345 for project gitlab-org/gitlab

get_job_log

特定のCI/CDジョブのトレース(ログ出力)を取得する。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
job_id整数はいジョブのID。

例:

Show me the log output for job 88 in project gitlab-org/gitlab

manage_pipeline

GitLabプロジェクトでCI/CDパイプラインを管理します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはURLエンコードされたパス。
listブール値いいえtrueの場合、プロジェクト内のすべてのパイプラインを一覧表示します。
ref文字列いいえブランチまたはタグ名。設定されている場合、ブランチまたはタグ上に新しいパイプラインを作成します。リストのフィルタリングではオプションです。
pipeline_id整数いいえパイプラインのID。このパラメータのみが設定されている場合、パイプラインと関連するすべてのデータを削除します。
retryブール値いいえtruepipeline_idが設定されている場合、失敗またはキャンセルされたパイプラインジョブを再試行します。
cancelブール値いいえtruepipeline_idが設定されている場合、実行中のパイプライン内のすべてのジョブをキャンセルします。
name文字列いいえパイプラインの名前。このパラメータとpipeline_idが設定されている場合、パイプラインのメタデータを更新します。
variables配列いいえ配列形式のパイプライン変数([{key, value, variable_type}])。
inputsハッシュいいえキー/バリューペアとしてのパイプライン入力パラメータ。
page整数いいえ現在のページ番号。デフォルトは1です。
per_page整数いいえ1ページあたりの項目数。デフォルトは20です。

例:

  • パイプラインの一覧:

    List all pipelines for project gitlab-org/gitlab
  • パイプラインを作成:

    Create a pipeline on the main branch for project gitlab-org/gitlab
  • パイプラインを更新:

    Rename pipeline 12345 to "My deploy pipeline" in project gitlab-org/gitlab
  • パイプラインを再試行:

    Retry failed jobs in pipeline 12345 for project gitlab-org/gitlab
  • パイプラインをキャンセル:

    Cancel pipeline 12345 in project gitlab-org/gitlab
  • パイプラインを削除:

    Delete pipeline 12345 in project gitlab-org/gitlab

create_workitem_note

GitLab作業アイテムに新しいノート(コメント)を作成します。

パラメータタイプ必須説明
body文字列はいノートの内容。
url文字列いいえ作業アイテムのURL。group_idまたはproject_idwork_item_iidが指定されていない場合は必須。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
work_item_iid整数いいえ作業アイテムの内部ID。urlが指定されていない場合は必須。
internalブール値いいえメモを内部向けとしてマークします(プロジェクトのレポーター、デベロッパー、メンテナー、またはオーナーロールを持つユーザーのみに表示)。デフォルトはfalseです。
discussion_id文字列いいえ返信先となるディスカッションのグローバルID(形式はgid://gitlab/Discussion/<id>)。

例:

Add a comment "This looks good to me" to work item 42 in project gitlab-org/gitlab

get_workitem_notes

特定のGitLab作業アイテムのすべてのノート(コメント)を取得します。

パラメータタイプ必須説明
url文字列いいえ作業アイテムのURL。group_idまたはproject_idwork_item_iidが指定されていない場合は必須。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
work_item_iid整数いいえ作業アイテムの内部ID。urlが指定されていない場合は必須。
after文字列いいえ順方向ページネーションのカーソル。
before文字列いいえ逆方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すノート数。
last整数いいえ逆方向ページネーションで返すノート数。

例:

Show me all comments on work item 42 in project gitlab-org/gitlab

作業アイテムを、関係タイプを持つ1つまたは複数の他の作業アイテムにリンクします。

パラメータタイプ必須説明
work_items_ids文字列の配列はいリンクする作業アイテムのグローバルID(gid://gitlab/WorkItem/<id>の形式)。最大10アイテム。
url文字列いいえソース作業アイテムのURL。group_idまたはproject_idwork_item_iidが指定されていない場合は必須。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
work_item_iid整数いいえソース作業アイテムの内部ID。urlが指定されていない場合は必須。
link_type文字列いいえ関係のタイプ。relates_toblocksblocked_byのいずれかです。デフォルトはrelates_toです。blocksおよびblocked_byタイプには、PremiumまたはUltimateが必要です。

例:

Mark work item 42 in project gitlab-org/gitlab as blocked by work item 40

get_saved_view_work_items

ネームスペースから保存されたビューと、その作業アイテムのリストを取得する。このツールは、保存されたビューのフィルターとソート順を、返された作業アイテムに適用します。

パラメータタイプ必須説明
saved_view_id文字列はい保存されたビューのグローバルID(gid://gitlab/WorkItems::SavedViews::SavedView/<id>の形式)。
url文字列いいえネームスペース(プロジェクトまたはグループ)のURL。group_idまたはproject_idが指定されていない場合は必須です。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
after文字列いいえ順方向ページネーションのカーソル。
first整数いいえ返される作業アイテムの数。最大100。

例:

Show me the work items in this saved view: <URL>

検索APIを使用して、GitLabインスタンス全体で用語を検索します。このツールは、グローバル、グループ、プロジェクトの検索に使用できます。利用可能なスコープは、検索タイプによって異なります。

パラメータタイプ必須説明
scope文字列はい検索スコープ(issuesmerge_requestsprojectsなど)。
search文字列はい検索語句。
group_id文字列いいえ検索するグループのIDまたはURLエンコードされたパス。
project_id文字列いいえ検索するプロジェクトのIDまたはURLエンコードされたパス。
state文字列いいえ検索結果のステータス(issuesmerge_requestsの場合)。
confidentialブール値いいえissuesの場合)機密性で結果をフィルタリングします。デフォルトはfalseです。
fields文字列の配列いいえ検索するフィールドの配列(issuesmerge_requestsの場合)。
order_by文字列いいえ結果の並び替えに使用する属性。デフォルトは、基本的な検索の場合はcreated_at、高度な検索の場合はrelevance(関連度)です。
sort文字列いいえ結果の並び替え方向。デフォルトはdescです。
per_page整数いいえページあたりの結果数。デフォルトは20です。
page整数いいえ現在のページ番号。デフォルトは1です。

例:

Search issues for "flaky test" across GitLab

search_labels

GitLabプロジェクトまたはグループ内のラベルを検索します。

パラメータタイプ必須説明
full_path文字列はいプロジェクトまたはグループのフルパス(例: group/project)。
is_projectブール値はいプロジェクト(true)またはグループ(false)で検索するかどうか。
search文字列いいえラベルをタイトルでフィルタリングするための検索語句。

グループラベルを検索すると、祖先グループおよび子孫グループからのラベルが結果に含まれます。

例:

Show me all labels in project gitlab-org/gitlab
  • アドオン: GitLab Duo Core、Pro、またはEnterprise
  • 提供形態: GitLab.com、GitLab Self-Managed

この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。

GitLabプロジェクト内の関連するコードスニペットを検索します。セットアップおよびイネーブルメントを含む詳細については、セマンティックコード検索を参照してください。

パラメータタイプ必須説明
semantic_query文字列はいコードの検索クエリ。
project_id文字列はいプロジェクトのIDまたはパス。
directory_path文字列いいえディレクトリのパス(app/services/など)。
knn整数いいえ類似のコードスニペットを検出するために使用される最近傍の数。デフォルトは64です。
limit整数いいえ返す結果の最大数。デフォルトは20です。

最良の結果を得るには、一般的なキーワードや特定の関数名または変数名を使用するのではなく、関心のある機能または動作について記述してください。

例:

How are authorizations managed in this project?

attach_scan_profile

指定されたセキュリティスキャンプロファイルを、指定されたプロジェクト、または指定されたグループ配下のすべてのプロジェクトにアタッチします。

パラメータタイプ必須説明
security_scan_profile_id文字列はいセキュリティスキャンプロファイルのグローバルID(例: gid://gitlab/Security::ScanProfile/1)。
project_ids文字列の配列いいえプロジェクトのグローバルIDの配列(例: [gid://gitlab/Project/1])。group_idsが指定されていない限り、これは必須です。
group_ids文字列の配列いいえグループのグローバルIDの配列(例: [gid://gitlab/Group/1])。project_idsが指定されていない限り、これは必須です。

例:

Attach `gid://gitlab/Security::ScanProfile/1` to all projects under `gid://gitlab/Group/1`.