Administration
Instance-level administration of a GitLab instance: application settings and appearance, the license, broadcast messages, instance feature flags, system hooks, Sidekiq metrics, plan limits, usage data and Service Ping, database migration marks, OAuth applications, application statistics and metadata, custom attributes, and topics. Imports live here too: bulk imports between GitLab instances, and imports from GitHub, Bitbucket Cloud, Bitbucket Server and GitHub gists.
A few project-level features are also actions of this group: CI/CD secure files, error tracking settings and client keys, alert metric images, Terraform states, cluster agents and their tokens, and purging a group’s dependency proxy cache. Most actions need an administrator, and GitLab refuses anyone else with its own error.
Sample questions
Section titled “Sample questions”- “Show the instance’s application settings”
- “List the active broadcast messages”
- “Which Sidekiq queues are backing up?”
- “Import the GitHub repository acme/api into group platform”
How to call it
Section titled “How to call it”- Dynamic, the default surface: call
gitlab_execute_actionwithactionset to the action’s ID, such asadmin.alert_metric_image_delete, and its parameters inparams.gitlab_find_actionfinds an ID from a description of the task. - Meta (
GITLAB_MCP_TOOL_SURFACE=meta): callgitlab_adminwithactionset to the action’s name, such asalert_metric_image_delete, and its parameters inparams. - Individual (
GITLAB_MCP_TOOL_SURFACE=individual): call the action’s own tool, such asgitlab_delete_alert_metric_image, with its parameters as the arguments.
Availability
Section titled “Availability”Every tier serves the whole group, on self-managed instances and on GitLab.com alike.
Listed only for a token that carries admin_mode: the server removes the group from every surface for a token whose scopes it knows and that lacks it.
Read-only actions: 41 of 92, the ones a deployment in read-only mode keeps.
Actions
Section titled “Actions”The description of each action, and of each of its parameters, is the text the server serves for it on the default surface, quoted as served. A destructive action runs only once confirmed, unless GITLAB_MCP_YOLO_MODE (or AUTOPILOT) skips that step: the dynamic surface needs confirm: true on gitlab_execute_action, and the other two take a confirm parameter or the client’s prompt (Destructive actions).
| Action | Individual |
|---|---|
admin.alert_metric_image_delete | gitlab_delete_alert_metric_image |
admin.alert_metric_image_list | gitlab_list_alert_metric_images |
admin.alert_metric_image_update | gitlab_update_alert_metric_image |
admin.alert_metric_image_upload | gitlab_upload_alert_metric_image |
admin.app_statistics_get | gitlab_get_application_statistics |
admin.appearance_get | gitlab_get_appearance |
admin.appearance_update | gitlab_update_appearance |
admin.application_create | gitlab_create_application |
admin.application_delete | gitlab_delete_application |
admin.application_list | gitlab_list_applications |
admin.application_renew_secret | gitlab_renew_application_secret |
admin.broadcast_message_create | gitlab_create_broadcast_message |
admin.broadcast_message_delete | gitlab_delete_broadcast_message |
admin.broadcast_message_get | gitlab_get_broadcast_message |
admin.broadcast_message_list | gitlab_list_broadcast_messages |
admin.broadcast_message_update | gitlab_update_broadcast_message |
admin.bulk_import_cancel | gitlab_cancel_bulk_import |
admin.bulk_import_entity_failures | gitlab_list_bulk_import_entity_failures |
admin.bulk_import_entity_get | gitlab_get_bulk_import_entity |
admin.bulk_import_entity_list | gitlab_list_bulk_import_entities |
admin.bulk_import_get | gitlab_get_bulk_import |
admin.bulk_import_list | gitlab_list_bulk_imports |
admin.bulk_import_start | gitlab_start_bulk_import |
admin.cluster_agent_delete | gitlab_delete_cluster_agent |
admin.cluster_agent_get | gitlab_get_cluster_agent |
admin.cluster_agent_list | gitlab_list_cluster_agents |
admin.cluster_agent_register | gitlab_register_cluster_agent |
admin.cluster_agent_token_create | gitlab_create_cluster_agent_token |
admin.cluster_agent_token_get | gitlab_get_cluster_agent_token |
admin.cluster_agent_token_list | gitlab_list_cluster_agent_tokens |
admin.cluster_agent_token_revoke | gitlab_revoke_cluster_agent_token |
admin.custom_attr_delete | gitlab_delete_custom_attribute |
admin.custom_attr_get | gitlab_get_custom_attribute |
admin.custom_attr_list | gitlab_list_custom_attributes |
admin.custom_attr_set | gitlab_set_custom_attribute |
admin.db_migration_mark | gitlab_mark_migration |
admin.dependency_proxy_delete | gitlab_purge_dependency_proxy |
admin.error_tracking_create | gitlab_create_error_tracking_client_key |
admin.error_tracking_delete | gitlab_delete_error_tracking_client_key |
admin.error_tracking_get_settings | gitlab_get_error_tracking_settings |
admin.error_tracking_list | gitlab_list_error_tracking_client_keys |
admin.error_tracking_update_settings | gitlab_enable_disable_error_tracking |
admin.feature_delete | gitlab_delete_feature_flag |
admin.feature_list | gitlab_list_features |
admin.feature_list_definitions | gitlab_list_feature_definitions |
admin.feature_set | gitlab_set_feature_flag |
admin.import_bitbucket | gitlab_import_from_bitbucket_cloud |
admin.import_bitbucket_server | gitlab_import_from_bitbucket_server |
admin.import_cancel_github | gitlab_cancel_github_import |
admin.import_gists | gitlab_import_github_gists |
admin.import_github | gitlab_import_from_github |
admin.license_add | gitlab_add_license |
admin.license_delete | gitlab_delete_license |
admin.license_get | gitlab_get_license |
admin.metadata_get | gitlab_get_metadata |
admin.plan_limits_change | gitlab_change_plan_limits |
admin.plan_limits_get | gitlab_get_plan_limits |
admin.secure_file_create | gitlab_create_secure_file |
admin.secure_file_delete | gitlab_remove_secure_file |
admin.secure_file_get | gitlab_show_secure_file |
admin.secure_file_list | gitlab_list_secure_files |
admin.settings_get | gitlab_get_settings |
admin.settings_update | gitlab_update_settings |
admin.sidekiq_compound_metrics | gitlab_get_sidekiq_compound_metrics |
admin.sidekiq_job_stats | gitlab_get_sidekiq_job_stats |
admin.sidekiq_process_metrics | gitlab_get_sidekiq_process_metrics |
admin.sidekiq_queue_metrics | gitlab_get_sidekiq_queue_metrics |
admin.system_hook_add | gitlab_add_system_hook |
admin.system_hook_delete | gitlab_delete_system_hook |
admin.system_hook_delete_url_variable | gitlab_delete_system_hook_url_variable |
admin.system_hook_edit | gitlab_edit_system_hook |
admin.system_hook_get | gitlab_get_system_hook |
admin.system_hook_list | gitlab_list_system_hooks |
admin.system_hook_set_url_variable | gitlab_set_system_hook_url_variable |
admin.system_hook_test | gitlab_test_system_hook |
admin.terraform_state_delete | gitlab_delete_terraform_state |
admin.terraform_state_get | gitlab_get_terraform_state |
admin.terraform_state_list | gitlab_list_terraform_states |
admin.terraform_state_lock | gitlab_lock_terraform_state |
admin.terraform_state_unlock | gitlab_unlock_terraform_state |
admin.terraform_version_delete | gitlab_delete_terraform_state_version |
admin.topic_create | gitlab_create_topic |
admin.topic_delete | gitlab_delete_topic |
admin.topic_get | gitlab_get_topic |
admin.topic_list | gitlab_list_topics |
admin.topic_update | gitlab_update_topic |
admin.usage_data_metric_definitions | gitlab_get_metric_definitions |
admin.usage_data_non_sql_metrics | gitlab_get_non_sql_metrics |
admin.usage_data_queries | gitlab_get_usage_queries |
admin.usage_data_service_ping | gitlab_get_service_ping |
admin.usage_data_track_event | gitlab_track_event |
admin.usage_data_track_events | gitlab_track_events |
admin.alert_metric_image_delete
Section titled “admin.alert_metric_image_delete”Delete an alert metric image. Returns: a success status. See also:
admin.alert_metric_image_list,admin.alert_metric_image_upload.
- Meta-tool:
gitlab_admin, actionalert_metric_image_delete - Individual tool:
gitlab_delete_alert_metric_image - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
alert_iid | integer | yes | Alert IID |
image_id | integer | yes | Metric image ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.alert_metric_image_list
Section titled “admin.alert_metric_image_list”List alert metric images. Returns: an array of metric images with id, filename, url, and url_text. See also:
admin.alert_metric_image_upload,admin.alert_metric_image_update.
- Meta-tool:
gitlab_admin, actionalert_metric_image_list - Individual tool:
gitlab_list_alert_metric_images - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
alert_iid | integer | yes | Alert IID |
project_id | string/integer | yes | Project ID or URL-encoded path |
order_by | string | no | Column to order keyset-paginated results by (e.g. created_at, id) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction (asc or desc) |
admin.alert_metric_image_update
Section titled “admin.alert_metric_image_update”Update an alert metric image. Returns: the updated metric image. See also:
admin.alert_metric_image_list,admin.alert_metric_image_delete.
- Meta-tool:
gitlab_admin, actionalert_metric_image_update - Individual tool:
gitlab_update_alert_metric_image - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
alert_iid | integer | yes | Alert IID |
image_id | integer | yes | Metric image ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
url | string | no | URL to link the metric image to |
url_text | string | no | Text for the URL link |
admin.alert_metric_image_upload
Section titled “admin.alert_metric_image_upload”Upload an alert metric image. Returns: the uploaded metric image with id, filename, and url. See also:
admin.alert_metric_image_list,admin.alert_metric_image_update.
- Meta-tool:
gitlab_admin, actionalert_metric_image_upload - Individual tool:
gitlab_upload_alert_metric_image - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
alert_iid | integer | yes | Alert IID |
filename | string | yes | Image filename |
project_id | string/integer | yes | Project ID or URL-encoded path |
content_base64 | string | no | Base64-encoded image content. Only one of file_path or content_base64 should be provided. |
file_path | string | no | Absolute path to a local image file on the MCP server filesystem. Alternative to content_base64. Only one of file_path or content_base64 should be provided. |
url | string | no | URL to link the metric image to |
url_text | string | no | Text for the URL link |
admin.app_statistics_get
Section titled “admin.app_statistics_get”Get GitLab application statistics for the current instance. Returns: aggregate counts for users, groups, projects, issues, merge requests, and related records. See also:
admin.metadata_get,server.status.
- Meta-tool:
gitlab_admin, actionapp_statistics_get - Individual tool:
gitlab_get_application_statistics - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.appearance_get
Section titled “admin.appearance_get”Get the current GitLab application appearance and branding settings. Returns: the instance appearance object including title, messages, logos, and PWA labels. See also:
admin.appearance_update,admin.settings_get,admin.metadata_get.
- Meta-tool:
gitlab_admin, actionappearance_get - Individual tool:
gitlab_get_appearance - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.appearance_update
Section titled “admin.appearance_update”Update GitLab application appearance and branding settings. Returns: the updated appearance object after GitLab applies the change. See also:
admin.appearance_get,admin.settings_get,admin.metadata_get.
- Meta-tool:
gitlab_admin, actionappearance_update - Individual tool:
gitlab_update_appearance - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
description | string | no | Instance description on sign-in page |
email_header_and_footer_enabled | boolean | no | Enable header and footer in emails |
favicon | string | no | Path to the favicon image asset |
footer_message | string | no | Message in footer bar |
header_logo | string | no | Path to the header logo image asset |
header_message | string | no | Message in header bar |
logo | string | no | Path to the instance logo image asset |
member_guidelines | string | no | Markdown guidelines for adding members |
message_background_color | string | no | Background color for header/footer messages (hex) |
message_font_color | string | no | Font color for header/footer messages (hex) |
new_project_guidelines | string | no | Markdown guidelines for new projects |
profile_image_guidelines | string | no | Markdown guidelines for profile images |
pwa_description | string | no | PWA description |
pwa_icon | string | no | Path to the PWA icon image asset |
pwa_name | string | no | Progressive Web App name |
pwa_short_name | string | no | PWA short name |
site_name | string | no | Site name GitLab appends after the page title in the browser tab |
title | string | no | Application title displayed in the header |
url | string | no | Redirect URL for the system header/footer logo image |
admin.application_create
Section titled “admin.application_create”Create an instance OAuth application. Returns: the application with application_id and secret (shown once). See also:
admin.application_list,admin.application_delete.
- Meta-tool:
gitlab_admin, actionapplication_create - Individual tool:
gitlab_create_application - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Application name |
redirect_uri | string | yes | OAuth2 redirect URI |
scopes | string | yes | Space-separated list of scopes |
confidential | boolean | no | Whether application is confidential |
admin.application_delete
Section titled “admin.application_delete”Delete an instance OAuth application. Returns: a success status. See also:
admin.application_list,admin.application_create.
- Meta-tool:
gitlab_admin, actionapplication_delete - Individual tool:
gitlab_delete_application - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | Application ID to delete |
admin.application_list
Section titled “admin.application_list”List instance OAuth applications. Returns: an array of applications with id, application_id, name, redirect URIs, and scopes. See also:
admin.application_create,admin.application_delete.
- Meta-tool:
gitlab_admin, actionapplication_list - Individual tool:
gitlab_list_applications - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
order_by | string | no | For keyset pagination: name of the column by which to order results |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | For keyset pagination: sort order (asc or desc) |
admin.application_renew_secret
Section titled “admin.application_renew_secret”Renew an instance OAuth application secret. Returns: the application with its freshly generated secret (shown once). See also:
admin.application_list,admin.application_create.
- Meta-tool:
gitlab_admin, actionapplication_renew_secret - Individual tool:
gitlab_renew_application_secret - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | Application ID whose secret should be renewed |
admin.broadcast_message_create
Section titled “admin.broadcast_message_create”Create a broadcast message. Returns: the created message with id, theme, target, and schedule. See also:
admin.broadcast_message_update,admin.broadcast_message_list.
- Meta-tool:
gitlab_admin, actionbroadcast_message_create - Individual tool:
gitlab_create_broadcast_message - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
message | string | yes | Message text. Supports Markdown. |
broadcast_type | string (banner, notification) | no | Type: banner or notification |
color | string | no | Background color as a hex code such as #E75E40. GitLab deprecates it in favor of theme and still accepts it |
dismissable | boolean | no | Whether message can be dismissed |
ends_at | string | no | End time in ISO 8601 format |
font | string | no | Font for the message |
starts_at | string | no | Start time in ISO 8601 format |
target_access_levels | integer[] | no | Access levels to target (10=Guest,15=Planner (Premium/Ultimate),20=Reporter,25=Security Manager (Premium/Ultimate),30=Developer,40=Maintainer,50=Owner) |
target_path | string | no | Target path to show message on |
theme | string (indigo, light-indigo, blue, light-blue, green, light-green, red, light-red, dark, light) | no | Color theme, banners only: indigo (default), light-indigo, blue, light-blue, green, light-green, red, light-red, dark, or light. |
admin.broadcast_message_delete
Section titled “admin.broadcast_message_delete”Delete a broadcast message. Returns: a success status. See also:
admin.broadcast_message_get,admin.broadcast_message_create.
- Meta-tool:
gitlab_admin, actionbroadcast_message_delete - Individual tool:
gitlab_delete_broadcast_message - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | Broadcast message ID |
admin.broadcast_message_get
Section titled “admin.broadcast_message_get”Get a broadcast message by id. Returns: the message with text, theme, target, and schedule. See also:
admin.broadcast_message_list,admin.broadcast_message_update.
- Meta-tool:
gitlab_admin, actionbroadcast_message_get - Individual tool:
gitlab_get_broadcast_message - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | Broadcast message ID |
admin.broadcast_message_list
Section titled “admin.broadcast_message_list”List instance broadcast messages. Returns: an array of broadcast messages with id, message, theme, target, starts_at, and ends_at. See also:
admin.broadcast_message_get,admin.broadcast_message_create.
- Meta-tool:
gitlab_admin, actionbroadcast_message_list - Individual tool:
gitlab_list_broadcast_messages - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
order_by | string | no | Column to order results by for keyset pagination (e.g. id, created_at, updated_at) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction (asc, desc) |
admin.broadcast_message_update
Section titled “admin.broadcast_message_update”Update a broadcast message. Returns: the updated message. See also:
admin.broadcast_message_get,admin.broadcast_message_delete.
- Meta-tool:
gitlab_admin, actionbroadcast_message_update - Individual tool:
gitlab_update_broadcast_message - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | Broadcast message ID |
broadcast_type | string (banner, notification) | no | Type: banner or notification |
color | string | no | Background color as a hex code such as #E75E40. GitLab deprecates it in favor of theme and still accepts it |
dismissable | boolean | no | Whether message can be dismissed |
ends_at | string | no | End time in ISO 8601 format |
font | string | no | Font for the message |
message | string | no | Message text. Supports Markdown. |
starts_at | string | no | Start time in ISO 8601 format |
target_access_levels | integer[] | no | Access levels to target (10=Guest,15=Planner (Premium/Ultimate),20=Reporter,25=Security Manager (Premium/Ultimate),30=Developer,40=Maintainer,50=Owner) |
target_path | string | no | Target path to show message on |
theme | string (indigo, light-indigo, blue, light-blue, green, light-green, red, light-red, dark, light) | no | Color theme, banners only: indigo (default), light-indigo, blue, light-blue, green, light-green, red, light-red, dark, or light. |
admin.bulk_import_cancel
Section titled “admin.bulk_import_cancel”Cancel a bulk import. Returns: the bulk import with its updated (canceled) status. See also:
admin.bulk_import_get,admin.bulk_import_list.
- Meta-tool:
gitlab_admin, actionbulk_import_cancel - Individual tool:
gitlab_cancel_bulk_import - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | Bulk import ID |
admin.bulk_import_entity_failures
Section titled “admin.bulk_import_entity_failures”List bulk import entity failures. Returns: an array of failure records with relation, exception, and correlation id. See also:
admin.bulk_import_entity_get,admin.bulk_import_entity_list.
- Meta-tool:
gitlab_admin, actionbulk_import_entity_failures - Individual tool:
gitlab_list_bulk_import_entity_failures - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
bulk_import_id | integer | yes | Bulk import ID |
entity_id | integer | yes | Entity ID within the bulk import |
admin.bulk_import_entity_get
Section titled “admin.bulk_import_entity_get”Get a bulk import entity. Returns: the entity with source path, destination path, entity_type, and status. See also:
admin.bulk_import_entity_list,admin.bulk_import_entity_failures.
- Meta-tool:
gitlab_admin, actionbulk_import_entity_get - Individual tool:
gitlab_get_bulk_import_entity - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
bulk_import_id | integer | yes | Bulk import ID |
entity_id | integer | yes | Entity ID within the bulk import |
admin.bulk_import_entity_list
Section titled “admin.bulk_import_entity_list”List bulk import entities. Returns: an array of migrated entities with id, source_full_path, entity_type, and status. See also:
admin.bulk_import_entity_get,admin.bulk_import_entity_failures.
- Meta-tool:
gitlab_admin, actionbulk_import_entity_list - Individual tool:
gitlab_list_bulk_import_entities - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
bulk_import_id | integer | no | Bulk import ID. If omitted, returns entities across all imports. |
order_by | string | no | Column to order results by (e.g. created_at) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction (asc, desc) |
status | string (created, started, finished, timeout, failed, canceled) | no | Filter by entity status: created, started, finished, timeout, failed, canceled |
admin.bulk_import_get
Section titled “admin.bulk_import_get”Get a bulk import by id. Returns: the bulk import with status, source URL, and timestamps. See also:
admin.bulk_import_list,admin.bulk_import_entity_list.
- Meta-tool:
gitlab_admin, actionbulk_import_get - Individual tool:
gitlab_get_bulk_import - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | Bulk import ID |
admin.bulk_import_list
Section titled “admin.bulk_import_list”List bulk imports. Returns: an array of bulk imports with id, status, source_type, and timestamps. See also:
admin.bulk_import_start,admin.bulk_import_get.
- Meta-tool:
gitlab_admin, actionbulk_import_list - Individual tool:
gitlab_list_bulk_imports - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
order_by | string | no | Column to order results by (e.g. created_at) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction (asc, desc) |
status | string (created, started, finished, timeout, failed, canceled) | no | Filter by status: created, started, finished, timeout, failed, canceled |
admin.bulk_import_start
Section titled “admin.bulk_import_start”Start a bulk import (direct transfer). Returns: the created bulk import with id and status. See also:
admin.bulk_import_list,admin.bulk_import_get.
- Meta-tool:
gitlab_admin, actionbulk_import_start - Individual tool:
gitlab_start_bulk_import - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
configuration | object | yes | Source instance connection details (url, access_token) |
entities | object[] | yes | List of entities to migrate |
admin.cluster_agent_delete
Section titled “admin.cluster_agent_delete”Delete a cluster agent. Returns: a success status. See also:
admin.cluster_agent_get,admin.cluster_agent_register.
- Meta-tool:
gitlab_admin, actioncluster_agent_delete - Individual tool:
gitlab_delete_cluster_agent - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
agent_id | integer | yes | Agent ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.cluster_agent_get
Section titled “admin.cluster_agent_get”Get a cluster agent. Returns: the agent with id, name, config project, and created_at. See also:
admin.cluster_agent_list,admin.cluster_agent_token_list.
- Meta-tool:
gitlab_admin, actioncluster_agent_get - Individual tool:
gitlab_get_cluster_agent - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
agent_id | integer | yes | Agent ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.cluster_agent_list
Section titled “admin.cluster_agent_list”List project cluster agents. Returns: an array of agents with id, name, and created_at. See also:
admin.cluster_agent_get,admin.cluster_agent_register.
- Meta-tool:
gitlab_admin, actioncluster_agent_list - Individual tool:
gitlab_list_cluster_agents - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
project_id | string/integer | yes | Project ID or URL-encoded path |
order_by | string | no | Column to order keyset-paginated results by (e.g. id). Only used with pagination=‘keyset’. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction for keyset pagination: asc or desc. |
admin.cluster_agent_register
Section titled “admin.cluster_agent_register”Register a cluster agent. Returns: the created agent with id and name. See also:
admin.cluster_agent_list,admin.cluster_agent_token_create.
- Meta-tool:
gitlab_admin, actioncluster_agent_register - Individual tool:
gitlab_register_cluster_agent - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Agent name |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.cluster_agent_token_create
Section titled “admin.cluster_agent_token_create”Create a cluster agent token. Returns: the created token including the secret value (shown once). See also:
admin.cluster_agent_token_list,admin.cluster_agent_token_revoke.
- Meta-tool:
gitlab_admin, actioncluster_agent_token_create - Individual tool:
gitlab_create_cluster_agent_token - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
agent_id | integer | yes | Agent ID |
name | string | yes | Token name |
project_id | string/integer | yes | Project ID or URL-encoded path |
description | string | no | Token description |
admin.cluster_agent_token_get
Section titled “admin.cluster_agent_token_get”Get a cluster agent token. Returns: the token with id, name, status, and last_used_at. See also:
admin.cluster_agent_token_list,admin.cluster_agent_token_create.
- Meta-tool:
gitlab_admin, actioncluster_agent_token_get - Individual tool:
gitlab_get_cluster_agent_token - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
agent_id | integer | yes | Agent ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
token_id | integer | yes | Token ID |
admin.cluster_agent_token_list
Section titled “admin.cluster_agent_token_list”List cluster agent tokens. Returns: an array of agent tokens with id, name, and status. See also:
admin.cluster_agent_token_get,admin.cluster_agent_token_create.
- Meta-tool:
gitlab_admin, actioncluster_agent_token_list - Individual tool:
gitlab_list_cluster_agent_tokens - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
agent_id | integer | yes | Agent ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
order_by | string | no | Column to order keyset-paginated results by (e.g. id). Only used with pagination=‘keyset’. |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction for keyset pagination: asc or desc. |
admin.cluster_agent_token_revoke
Section titled “admin.cluster_agent_token_revoke”Revoke a cluster agent token. Returns: a success status. See also:
admin.cluster_agent_token_get,admin.cluster_agent_token_create.
- Meta-tool:
gitlab_admin, actioncluster_agent_token_revoke - Individual tool:
gitlab_revoke_cluster_agent_token - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
agent_id | integer | yes | Agent ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
token_id | integer | yes | Token ID |
admin.custom_attr_delete
Section titled “admin.custom_attr_delete”Delete a custom attribute. Returns: a success status. See also:
admin.custom_attr_get,admin.custom_attr_set.
- Meta-tool:
gitlab_admin, actioncustom_attr_delete - Individual tool:
gitlab_delete_custom_attribute - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
key | string | yes | Attribute key to delete |
resource_id | integer | yes | ID of the resource |
resource_type | string (user, group, project) | yes | Resource type: user, group, or project |
admin.custom_attr_get
Section titled “admin.custom_attr_get”Get a custom attribute by key. Returns: the attribute with key and value. See also:
admin.custom_attr_list,admin.custom_attr_set.
- Meta-tool:
gitlab_admin, actioncustom_attr_get - Individual tool:
gitlab_get_custom_attribute - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
key | string | yes | Attribute key |
resource_id | integer | yes | ID of the resource |
resource_type | string (user, group, project) | yes | Resource type: user, group, or project |
admin.custom_attr_list
Section titled “admin.custom_attr_list”List custom attributes for a resource. Returns: an array of key/value custom attributes. See also:
admin.custom_attr_get,admin.custom_attr_set.
- Meta-tool:
gitlab_admin, actioncustom_attr_list - Individual tool:
gitlab_list_custom_attributes - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
resource_id | integer | yes | ID of the resource |
resource_type | string (user, group, project) | yes | Resource type: user, group, or project |
admin.custom_attr_set
Section titled “admin.custom_attr_set”Set a custom attribute. Returns: the stored attribute with key and value. See also:
admin.custom_attr_get,admin.custom_attr_delete.
- Meta-tool:
gitlab_admin, actioncustom_attr_set - Individual tool:
gitlab_set_custom_attribute - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
key | string | yes | Attribute key |
resource_id | integer | yes | ID of the resource |
resource_type | string (user, group, project) | yes | Resource type: user, group, or project |
value | string | yes | Attribute value |
admin.db_migration_mark
Section titled “admin.db_migration_mark”Mark a database migration as complete. Returns: a success status. See also:
admin.settings_get,admin.metadata_get.
- Meta-tool:
gitlab_admin, actiondb_migration_mark - Individual tool:
gitlab_mark_migration - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
version | integer | yes | Migration version number to mark as successful |
database | string | no | Database the migration belongs to. Defaults to main. |
admin.dependency_proxy_delete
Section titled “admin.dependency_proxy_delete”Purge a group’s dependency proxy cache. Returns: a success status. See also:
group.get,admin.settings_get.
- Meta-tool:
gitlab_admin, actiondependency_proxy_delete - Individual tool:
gitlab_purge_dependency_proxy - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
group_id | string/integer | yes | Group ID or URL-encoded path |
admin.error_tracking_create
Section titled “admin.error_tracking_create”Create an error-tracking client key. Returns: the created client key with public_key and sentry_dsn. See also:
admin.error_tracking_list,admin.error_tracking_get_settings.
- Meta-tool:
gitlab_admin, actionerror_tracking_create - Individual tool:
gitlab_create_error_tracking_client_key - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.error_tracking_delete
Section titled “admin.error_tracking_delete”Delete an error-tracking client key. Returns: a success status. See also:
admin.error_tracking_list,admin.error_tracking_create.
- Meta-tool:
gitlab_admin, actionerror_tracking_delete - Individual tool:
gitlab_delete_error_tracking_client_key - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
key_id | integer | yes | Client key ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.error_tracking_get_settings
Section titled “admin.error_tracking_get_settings”Get error-tracking settings. Returns: the settings with active flag and integrated mode. See also:
admin.error_tracking_update_settings,admin.error_tracking_list.
- Meta-tool:
gitlab_admin, actionerror_tracking_get_settings - Individual tool:
gitlab_get_error_tracking_settings - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.error_tracking_list
Section titled “admin.error_tracking_list”List error-tracking client keys. Returns: an array of client keys with id, public_key, and sentry_dsn. See also:
admin.error_tracking_create,admin.error_tracking_get_settings.
- Meta-tool:
gitlab_admin, actionerror_tracking_list - Individual tool:
gitlab_list_error_tracking_client_keys - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
project_id | string/integer | yes | Project ID or URL-encoded path |
order_by | string | no | For keyset pagination, the column to order results by |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order for keyset pagination: ‘asc’ or ‘desc’ |
admin.error_tracking_update_settings
Section titled “admin.error_tracking_update_settings”Enable or disable error tracking. Returns: the updated error-tracking settings. See also:
admin.error_tracking_get_settings,admin.error_tracking_list.
- Meta-tool:
gitlab_admin, actionerror_tracking_update_settings - Individual tool:
gitlab_enable_disable_error_tracking - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
project_id | string/integer | yes | Project ID or URL-encoded path |
active | boolean | no | Enable or disable error tracking |
integrated | boolean | no | Use integrated error tracking |
admin.feature_delete
Section titled “admin.feature_delete”Delete a feature flag. Returns: a success status. See also:
admin.feature_set,admin.feature_list.
- Meta-tool:
gitlab_admin, actionfeature_delete - Individual tool:
gitlab_delete_feature_flag - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Feature flag name to delete |
admin.feature_list
Section titled “admin.feature_list”List instance feature flags. Returns: an array of features with name, state, and gates (boolean, actors, groups, percentages). See also:
admin.feature_list_definitions,admin.feature_set.
- Meta-tool:
gitlab_admin, actionfeature_list - Individual tool:
gitlab_list_features - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.feature_list_definitions
Section titled “admin.feature_list_definitions”List feature flag definitions. Returns: an array of definitions with name, type, default_enabled, group, and milestone. See also:
admin.feature_list,admin.feature_set.
- Meta-tool:
gitlab_admin, actionfeature_list_definitions - Individual tool:
gitlab_list_feature_definitions - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.feature_set
Section titled “admin.feature_set”Set a feature flag gate. Returns: the updated feature with its name, state, and gate values. See also:
admin.feature_list,admin.feature_delete.
- Meta-tool:
gitlab_admin, actionfeature_set - Individual tool:
gitlab_set_feature_flag - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Feature flag name |
value | boolean/integer/string | yes | Value to set (true, false, integer percentage, or string) |
feature_group | string | no | Feature group name |
force | boolean | no | Force the change even if the flag is read-only |
group | string | no | GitLab group path |
key | string (percentage_of_actors, percentage_of_time) | no | Gate key (percentage_of_actors or percentage_of_time) |
namespace | string | no | GitLab namespace path |
project | string | no | Project path such as gitlab-org/gitlab-foss. Separate several paths with commas. |
repository | string | no | GitLab repository path |
user | string | no | GitLab username |
admin.import_bitbucket
Section titled “admin.import_bitbucket”Import a repository from Bitbucket Cloud. Returns: the created project for the imported repository. See also:
admin.import_bitbucket_server,admin.import_github.
- Meta-tool:
gitlab_admin, actionimport_bitbucket - Individual tool:
gitlab_import_from_bitbucket_cloud - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
bitbucket_username | string | yes | Bitbucket Cloud username |
repo_path | string | yes | Bitbucket repository path (e.g. owner/repo) |
target_namespace | string | yes | Target namespace for the imported project |
bitbucket_api_token | string | no | Bitbucket Cloud API token (replaces app passwords). Treat as secret: do not log or store it, and redact it in telemetry/errors. Requires bitbucket_email |
bitbucket_app_password | string | no | Bitbucket Cloud app password (legacy auth). Treat as secret: do not log or store it, and redact it in telemetry/errors. Provide this OR bitbucket_api_token + bitbucket_email |
bitbucket_email | string | no | Atlassian account email associated with the API token (required when using bitbucket_api_token) |
new_name | string | no | New name for the imported project |
admin.import_bitbucket_server
Section titled “admin.import_bitbucket_server”Import a repository from Bitbucket Server. Returns: the created project for the imported repository. See also:
admin.import_bitbucket,admin.import_github.
- Meta-tool:
gitlab_admin, actionimport_bitbucket_server - Individual tool:
gitlab_import_from_bitbucket_server - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
bitbucket_server_project | string | yes | Bitbucket Server project key |
bitbucket_server_repo | string | yes | Bitbucket Server repository slug |
bitbucket_server_url | string | yes | Bitbucket Server URL |
bitbucket_server_username | string | yes | Bitbucket Server username |
personal_access_token | string | yes | Bitbucket Server personal access token. Treat as secret: do not log or store it, and redact it in telemetry/errors |
new_name | string | no | New name for the imported project |
new_namespace | string | no | Target namespace for the imported project |
timeout_strategy | string (optimistic, pessimistic) | no | Timeout strategy (optimistic or pessimistic) |
admin.import_cancel_github
Section titled “admin.import_cancel_github”Cancel a GitHub import. Returns: the project with its updated import status. See also:
admin.import_github,admin.import_gists.
- Meta-tool:
gitlab_admin, actionimport_cancel_github - Individual tool:
gitlab_cancel_github_import - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
project_id | integer | yes | The GitLab project ID of the import to cancel |
admin.import_gists
Section titled “admin.import_gists”Import GitHub gists into snippets. Returns: a success status. The import runs asynchronously. See also:
admin.import_github,admin.import_cancel_github.
- Meta-tool:
gitlab_admin, actionimport_gists - Individual tool:
gitlab_import_github_gists - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
personal_access_token | string | yes | GitHub personal access token. Treat as secret: do not log or store it, and redact it in telemetry/errors |
admin.import_github
Section titled “admin.import_github”Import a repository from GitHub. Returns: the created project for the imported repository with its import status. See also:
admin.import_cancel_github,admin.import_gists.
- Meta-tool:
gitlab_admin, actionimport_github - Individual tool:
gitlab_import_from_github - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
personal_access_token | string | yes | GitHub personal access token. Treat as secret: do not log or store it, and redact it in telemetry/errors |
repo_id | integer | yes | GitHub repository ID |
target_namespace | string | yes | Target namespace for the imported project |
github_hostname | string | no | GitHub hostname for GitHub Enterprise |
new_name | string | no | New name for the imported project |
optional_stages | object | no | Optional import stages to enable (each defaults to disabled when omitted) |
timeout_strategy | string (optimistic, pessimistic) | no | Timeout strategy (optimistic or pessimistic) |
admin.license_add
Section titled “admin.license_add”Add a GitLab Enterprise license. Returns: the installed license with plan, expiration, and entitlements. See also:
admin.license_get,admin.license_delete.
- Meta-tool:
gitlab_admin, actionlicense_add - Individual tool:
gitlab_add_license - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
license | string | yes | The license string (Base64-encoded) |
admin.license_delete
Section titled “admin.license_delete”Delete an instance license. Returns: a success status. See also:
admin.license_get,admin.license_add.
- Meta-tool:
gitlab_admin, actionlicense_delete - Individual tool:
gitlab_delete_license - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | License ID to delete |
admin.license_get
Section titled “admin.license_get”Get the active instance license. Returns: the license with plan, expires_at, user_limit, active_users, and add-ons. See also:
admin.license_add,admin.license_delete.
- Meta-tool:
gitlab_admin, actionlicense_get - Individual tool:
gitlab_get_license - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.metadata_get
Section titled “admin.metadata_get”Get GitLab instance metadata such as version, revision, KAS endpoints, and enterprise edition flag. Returns: the current instance metadata object. See also:
server.status,admin.settings_get,admin.app_statistics_get.
- Meta-tool:
gitlab_admin, actionmetadata_get - Individual tool:
gitlab_get_metadata - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.plan_limits_change
Section titled “admin.plan_limits_change”Change plan limits. Returns: every limit of the plan after the change, as the read returns them. See also:
admin.plan_limits_get,admin.settings_get.
- Meta-tool:
gitlab_admin, actionplan_limits_change - Individual tool:
gitlab_change_plan_limits - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
plan_name | string | yes | Plan name to update (e.g. default, free, bronze, silver, gold, premium, ultimate) |
conan_max_file_size | integer | no | Maximum Conan package file size in bytes |
generic_packages_max_file_size | integer | no | Maximum generic package file size in bytes |
helm_max_file_size | integer | no | Maximum Helm chart file size in bytes |
maven_max_file_size | integer | no | Maximum Maven package file size in bytes |
npm_max_file_size | integer | no | Maximum NPM package file size in bytes |
nuget_max_file_size | integer | no | Maximum NuGet package file size in bytes |
pypi_max_file_size | integer | no | Maximum PyPI package file size in bytes |
terraform_module_max_file_size | integer | no | Maximum Terraform module file size in bytes |
admin.plan_limits_get
Section titled “admin.plan_limits_get”Get plan limits for a plan. Returns: every limit GitLab sends (package file sizes, CI/CD, dotenv, namespace storage, webhook and Service Desk rates) and the change history of the storage limits. See also:
admin.plan_limits_change,admin.settings_get.
- Meta-tool:
gitlab_admin, actionplan_limits_get - Individual tool:
gitlab_get_plan_limits - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
plan_name | string | no | Plan name to filter (e.g. default, free, bronze, silver, gold, premium, ultimate) |
admin.secure_file_create
Section titled “admin.secure_file_create”Create a secure file. Returns: the created secure file with id, name, and checksum. See also:
admin.secure_file_list,admin.secure_file_get.
- Meta-tool:
gitlab_admin, actionsecure_file_create - Individual tool:
gitlab_create_secure_file - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Name for the secure file |
project_id | string/integer | yes | Project ID or URL-encoded path |
content_base64 | string | no | Base64-encoded file content. Only one of file_path or content_base64 should be provided. |
file_path | string | no | Absolute path to a local file on the MCP server filesystem. Alternative to content_base64. Only one of file_path or content_base64 should be provided. |
admin.secure_file_delete
Section titled “admin.secure_file_delete”Remove a secure file. Returns: a success status. See also:
admin.secure_file_list,admin.secure_file_create.
- Meta-tool:
gitlab_admin, actionsecure_file_delete - Individual tool:
gitlab_remove_secure_file - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
file_id | integer | yes | Secure file ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.secure_file_get
Section titled “admin.secure_file_get”Show a secure file. Returns: the secure file with id, name, checksum, and metadata. See also:
admin.secure_file_list,admin.secure_file_create.
- Meta-tool:
gitlab_admin, actionsecure_file_get - Individual tool:
gitlab_show_secure_file - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
file_id | integer | yes | Secure file ID |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.secure_file_list
Section titled “admin.secure_file_list”List project secure files. Returns: an array of secure files with id, name, checksum, and created_at. See also:
admin.secure_file_get,admin.secure_file_create.
- Meta-tool:
gitlab_admin, actionsecure_file_list - Individual tool:
gitlab_list_secure_files - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
project_id | string/integer | yes | Project ID or URL-encoded path |
order_by | string | no | Column to order keyset-paginated results by |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction (asc, desc) |
admin.settings_get
Section titled “admin.settings_get”Get the current GitLab application (instance) settings. Returns: the full application settings object including sign-up, visibility, CI/CD, and rate-limit configuration. See also:
admin.settings_update,admin.appearance_get,admin.metadata_get.
- Meta-tool:
gitlab_admin, actionsettings_get - Individual tool:
gitlab_get_settings - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.settings_update
Section titled “admin.settings_update”Update GitLab application settings. Returns: the application settings object GitLab answered with. A key the GitLab API client does not model is refused by name and nothing is sent, so the patch is all or nothing. See also:
admin.settings_get,admin.appearance_update.
- Meta-tool:
gitlab_admin, actionsettings_update - Individual tool:
gitlab_update_settings - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
settings | object | yes | Map of setting_name to new value. Use snake_case keys matching GitLab API fields (e.g. signup_enabled, default_project_visibility, max_artifacts_size). A key the GitLab API client does not model is refused by name and nothing is sent, so the patch is all or nothing. |
admin.sidekiq_compound_metrics
Section titled “admin.sidekiq_compound_metrics”Get combined Sidekiq metrics. Returns: queue, process, and job statistics in a single object. See also:
admin.sidekiq_queue_metrics,admin.sidekiq_job_stats.
- Meta-tool:
gitlab_admin, actionsidekiq_compound_metrics - Individual tool:
gitlab_get_sidekiq_compound_metrics - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.sidekiq_job_stats
Section titled “admin.sidekiq_job_stats”Get Sidekiq job statistics. Returns: aggregate counts of processed, failed, and enqueued jobs. See also:
admin.sidekiq_queue_metrics,admin.sidekiq_compound_metrics.
- Meta-tool:
gitlab_admin, actionsidekiq_job_stats - Individual tool:
gitlab_get_sidekiq_job_stats - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.sidekiq_process_metrics
Section titled “admin.sidekiq_process_metrics”Get Sidekiq process metrics. Returns: the list of Sidekiq processes with concurrency and queue assignments. See also:
admin.sidekiq_queue_metrics,admin.sidekiq_compound_metrics.
- Meta-tool:
gitlab_admin, actionsidekiq_process_metrics - Individual tool:
gitlab_get_sidekiq_process_metrics - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.sidekiq_queue_metrics
Section titled “admin.sidekiq_queue_metrics”Get Sidekiq queue metrics. Returns: per-queue backlog and latency figures. See also:
admin.sidekiq_process_metrics,admin.sidekiq_compound_metrics.
- Meta-tool:
gitlab_admin, actionsidekiq_queue_metrics - Individual tool:
gitlab_get_sidekiq_queue_metrics - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.system_hook_add
Section titled “admin.system_hook_add”Add an instance system hook. Returns: the created system hook with id, url, and triggers. See also:
admin.system_hook_edit,admin.system_hook_test.
- Meta-tool:
gitlab_admin, actionsystem_hook_add - Individual tool:
gitlab_add_system_hook - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
url | string | yes | Hook URL to receive events |
branch_filter_strategy | string | no | Branch filter strategy: wildcard, regex, or all_branches |
custom_webhook_template | string | no | Custom payload template (JSON) sent instead of the default webhook body |
description | string | no | Description for the hook |
enable_ssl_verification | boolean | no | Enable SSL verification for the hook URL |
merge_requests_events | boolean | no | Trigger on merge request events |
name | string | no | Descriptive name for the hook |
push_events | boolean | no | Trigger on push events |
push_events_branch_filter | string | no | Branch filter for push events (wildcard, regex, or branch name) |
repository_update_events | boolean | no | Trigger on repository update events |
signing_token | string | no | Write-only signing token for webhook signature validation |
tag_push_events | boolean | no | Trigger on tag push events |
token | string | no | Secret token for payload validation |
admin.system_hook_delete
Section titled “admin.system_hook_delete”Delete an instance system hook. Returns: a success status. See also:
admin.system_hook_get,admin.system_hook_add.
- Meta-tool:
gitlab_admin, actionsystem_hook_delete - Individual tool:
gitlab_delete_system_hook - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | System hook ID to delete |
admin.system_hook_delete_url_variable
Section titled “admin.system_hook_delete_url_variable”Delete one URL variable from an instance system hook. Returns: a success status and message naming the variable key. See also:
admin.system_hook_set_url_variable,admin.system_hook_get.
- Meta-tool:
gitlab_admin, actionsystem_hook_delete_url_variable - Individual tool:
gitlab_delete_system_hook_url_variable - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | System hook ID |
key | string | yes | URL variable key name to delete |
admin.system_hook_edit
Section titled “admin.system_hook_edit”Edit an instance system hook, including event triggers, SSL verification, and URL settings. Returns: the updated system hook object. See also:
admin.system_hook_get,admin.system_hook_list,admin.system_hook_test.
- Meta-tool:
gitlab_admin, actionsystem_hook_edit - Individual tool:
gitlab_edit_system_hook - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | System hook ID to edit |
branch_filter_strategy | string | no | Branch filter strategy: wildcard, regex, or all_branches |
custom_webhook_template | string | no | Updated custom payload template (JSON) sent instead of the default webhook body |
description | string | no | Updated hook description |
enable_ssl_verification | boolean | no | Enable SSL verification for the hook URL |
merge_requests_events | boolean | no | Trigger on merge request events |
name | string | no | Updated hook name |
push_events | boolean | no | Trigger on push events |
push_events_branch_filter | string | no | Branch filter for push events (wildcard, regex, or branch name) |
repository_update_events | boolean | no | Trigger on repository update events |
signing_token | string | no | Updated write-only signing token for webhook signature validation |
tag_push_events | boolean | no | Trigger on tag push events |
token | string | no | Updated secret token for payload validation |
url | string | no | Updated hook URL |
admin.system_hook_get
Section titled “admin.system_hook_get”Get a system hook by id. Returns: the system hook with url, event triggers, and SSL verification setting. See also:
admin.system_hook_list,admin.system_hook_edit.
- Meta-tool:
gitlab_admin, actionsystem_hook_get - Individual tool:
gitlab_get_system_hook - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | System hook ID |
admin.system_hook_list
Section titled “admin.system_hook_list”List instance system hooks. Returns: an array of system hooks with id, url, and event triggers, with pagination metadata. See also:
admin.system_hook_get,admin.system_hook_add.
- Meta-tool:
gitlab_admin, actionsystem_hook_list - Individual tool:
gitlab_list_system_hooks - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
admin.system_hook_set_url_variable
Section titled “admin.system_hook_set_url_variable”Create or update one URL variable for an instance system hook. Returns: a success status and message naming the variable key. See also:
admin.system_hook_edit,admin.system_hook_get.
- Meta-tool:
gitlab_admin, actionsystem_hook_set_url_variable - Individual tool:
gitlab_set_system_hook_url_variable - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | System hook ID |
key | string | yes | URL variable key name. Letters and underscores only. GitLab rejects keys containing digits |
value | string | yes | URL variable value. Must be non-empty |
admin.system_hook_test
Section titled “admin.system_hook_test”Send a test event to a system hook. Returns: the delivery status of the test event. See also:
admin.system_hook_get,admin.system_hook_edit.
- Meta-tool:
gitlab_admin, actionsystem_hook_test - Individual tool:
gitlab_test_system_hook - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
id | integer | yes | System hook ID to test |
admin.terraform_state_delete
Section titled “admin.terraform_state_delete”Delete a Terraform state. Returns: a success status. See also:
admin.terraform_state_get,admin.terraform_version_delete.
- Meta-tool:
gitlab_admin, actionterraform_state_delete - Individual tool:
gitlab_delete_terraform_state - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Terraform state name |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.terraform_state_get
Section titled “admin.terraform_state_get”Get a Terraform state. Returns: the state with name, lock info, and latest version. See also:
admin.terraform_state_list,admin.terraform_state_lock.
- Meta-tool:
gitlab_admin, actionterraform_state_get - Individual tool:
gitlab_get_terraform_state - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Terraform state name |
project_path | string | yes | Full project path (e.g. group/project) |
admin.terraform_state_list
Section titled “admin.terraform_state_list”List Terraform states. Returns: an array of states with name, lock status, and latest version. See also:
admin.terraform_state_get,admin.terraform_state_lock.
- Meta-tool:
gitlab_admin, actionterraform_state_list - Individual tool:
gitlab_list_terraform_states - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
project_path | string | yes | Full project path (e.g. group/project) |
admin.terraform_state_lock
Section titled “admin.terraform_state_lock”Lock a Terraform state. Returns: the state with its lock acquired. See also:
admin.terraform_state_unlock,admin.terraform_state_get.
- Meta-tool:
gitlab_admin, actionterraform_state_lock - Individual tool:
gitlab_lock_terraform_state - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Terraform state name |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.terraform_state_unlock
Section titled “admin.terraform_state_unlock”Unlock a project Terraform state by project_id and state name. Returns: the state with its lock released. See also:
admin.terraform_state_lock,admin.terraform_state_get,admin.terraform_state_list.
- Meta-tool:
gitlab_admin, actionterraform_state_unlock - Individual tool:
gitlab_unlock_terraform_state - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Terraform state name. Use params.name for values such as production or eval-unlock-123. Do not use id. |
project_id | string/integer | yes | Project ID or URL-encoded path |
admin.terraform_version_delete
Section titled “admin.terraform_version_delete”Delete a Terraform state version. Returns: a success status. See also:
admin.terraform_state_delete,admin.terraform_state_get.
- Meta-tool:
gitlab_admin, actionterraform_version_delete - Individual tool:
gitlab_delete_terraform_state_version - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Terraform state name |
project_id | string/integer | yes | Project ID or URL-encoded path |
serial | integer | yes | State version serial number |
admin.topic_create
Section titled “admin.topic_create”Create an instance project topic. Returns: the created topic with id, name, title, and description. See also:
admin.topic_update,admin.topic_list.
- Meta-tool:
gitlab_admin, actiontopic_create - Individual tool:
gitlab_create_topic - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Topic name (slug-like unique identifier) |
description | string | no | Topic description |
title | string | no | Topic display title |
admin.topic_delete
Section titled “admin.topic_delete”Delete a project topic. Returns: a success status. See also:
admin.topic_get,admin.topic_create.
- Meta-tool:
gitlab_admin, actiontopic_delete - Individual tool:
gitlab_delete_topic - Tier: Free
- Behavior: writes, destructive (needs confirmation), idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
topic_id | integer | yes | Topic ID |
admin.topic_get
Section titled “admin.topic_get”Get a single project topic by id. Returns: the topic with id, name, title, description, avatar, and project count. See also:
admin.topic_list,admin.topic_update.
- Meta-tool:
gitlab_admin, actiontopic_get - Individual tool:
gitlab_get_topic - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
topic_id | integer | yes | Topic ID |
admin.topic_list
Section titled “admin.topic_list”List instance project topics. Returns: an array of topics with id, name, title, description, and project counts. See also:
admin.topic_get,admin.topic_create.
- Meta-tool:
gitlab_admin, actiontopic_list - Individual tool:
gitlab_list_topics - Tier: Free
- Behavior: read-only, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
order_by | string | no | Column to order keyset-paginated results by |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Keyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
search | string | no | Filter topics by search query |
sort | string (asc, desc) | no | Sort order for keyset-paginated results: ‘asc’ or ‘desc’ |
admin.topic_update
Section titled “admin.topic_update”Update a project topic. Returns: the updated topic. See also:
admin.topic_get,admin.topic_delete.
- Meta-tool:
gitlab_admin, actiontopic_update - Individual tool:
gitlab_update_topic - Tier: Free
- Behavior: writes, idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
topic_id | integer | yes | Topic ID |
description | string | no | New topic description |
name | string | no | New topic name |
title | string | no | New topic title |
admin.usage_data_metric_definitions
Section titled “admin.usage_data_metric_definitions”Get usage metric definitions. Returns: the metric dictionary with key, description, and category for each Service Ping metric. See also:
admin.usage_data_service_ping,admin.usage_data_queries.
- Meta-tool:
gitlab_admin, actionusage_data_metric_definitions - Individual tool:
gitlab_get_metric_definitions - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.usage_data_non_sql_metrics
Section titled “admin.usage_data_non_sql_metrics”Get non-SQL usage metrics. Returns: the non-SQL portion of the Service Ping data. See also:
admin.usage_data_service_ping,admin.usage_data_queries.
- Meta-tool:
gitlab_admin, actionusage_data_non_sql_metrics - Individual tool:
gitlab_get_non_sql_metrics - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.usage_data_queries
Section titled “admin.usage_data_queries”Get usage data queries. Returns: the SQL query definitions backing Service Ping metrics. See also:
admin.usage_data_service_ping,admin.usage_data_metric_definitions.
- Meta-tool:
gitlab_admin, actionusage_data_queries - Individual tool:
gitlab_get_usage_queries - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.usage_data_service_ping
Section titled “admin.usage_data_service_ping”Get the Service Ping payload. Returns: the aggregated instance usage data report. See also:
admin.usage_data_non_sql_metrics,admin.usage_data_queries.
- Meta-tool:
gitlab_admin, actionusage_data_service_ping - Individual tool:
gitlab_get_service_ping - Tier: Free
- Behavior: read-only, idempotent
No parameters.
admin.usage_data_track_event
Section titled “admin.usage_data_track_event”Track one usage event. Returns: a success status. See also:
admin.usage_data_track_events,admin.usage_data_service_ping.
- Meta-tool:
gitlab_admin, actionusage_data_track_event - Individual tool:
gitlab_track_event - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
event | string | yes | Event name to track |
additional_properties | object | no | Additional event properties forwarded to the tracking endpoint |
namespace_id | integer | no | Namespace ID |
project_id | integer | no | Project ID |
send_to_snowplow | boolean | no | Whether to send event to Snowplow |
admin.usage_data_track_events
Section titled “admin.usage_data_track_events”Track multiple usage events. Returns: a success status. See also:
admin.usage_data_track_event,admin.usage_data_service_ping.
- Meta-tool:
gitlab_admin, actionusage_data_track_events - Individual tool:
gitlab_track_events - Tier: Free
- Behavior: writes, not idempotent
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
events | object[] | yes | Array of events to track |