Skip to content

Snippets

Snippets are pieces of code or text kept outside a repository. Personal snippets belong to the user: list, read, create, update and delete them, read their content or one file of it, list every snippet of the instance (an administrator’s), and browse the public ones. Project snippets are the snippet.project_* actions. Threaded discussions and notes on a project snippet, and award emoji on a snippet and on its notes, are actions of this group too.

  • “List my snippets”
  • “Create a snippet with this script”
  • “Show the discussions on snippet 10 of project 42”
  • Dynamic, the default surface: call gitlab_execute_action with action set to the action’s ID, such as snippet.content, and its parameters in params. gitlab_find_action finds an ID from a description of the task.
  • Meta (GITLAB_MCP_TOOL_SURFACE=meta): call gitlab_snippet with action set to the action’s name, such as content, and its parameters in params.
  • Individual (GITLAB_MCP_TOOL_SURFACE=individual): call the action’s own tool, such as gitlab_snippet_content, with its parameters as the arguments.

Every tier serves the whole group, on self-managed instances and on GitLab.com alike.

Read-only actions: 17 of 34, the ones a deployment in read-only mode keeps.

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). A parameter followed by a tier in parentheses is served only from that tier on.

ActionIndividual
snippet.contentgitlab_snippet_content
snippet.creategitlab_snippet_create
snippet.deletegitlab_snippet_delete
snippet.discussion_add_notegitlab_add_snippet_discussion_note
snippet.discussion_creategitlab_create_snippet_discussion
snippet.discussion_delete_notegitlab_delete_snippet_discussion_note
snippet.discussion_getgitlab_get_snippet_discussion
snippet.discussion_listgitlab_list_snippet_discussions
snippet.discussion_update_notegitlab_update_snippet_discussion_note
snippet.emoji_snippet_creategitlab_snippet_emoji_create
snippet.emoji_snippet_deletegitlab_snippet_emoji_delete
snippet.emoji_snippet_getgitlab_snippet_emoji_get
snippet.emoji_snippet_listgitlab_snippet_emoji_list
snippet.emoji_snippet_note_creategitlab_snippet_note_emoji_create
snippet.emoji_snippet_note_deletegitlab_snippet_note_emoji_delete
snippet.emoji_snippet_note_getgitlab_snippet_note_emoji_get
snippet.emoji_snippet_note_listgitlab_snippet_note_emoji_list
snippet.exploregitlab_snippet_explore
snippet.file_contentgitlab_snippet_file_content
snippet.getgitlab_snippet_get
snippet.listgitlab_snippet_list
snippet.list_allgitlab_snippet_list_all
snippet.note_creategitlab_snippet_note_create
snippet.note_deletegitlab_snippet_note_delete
snippet.note_getgitlab_snippet_note_get
snippet.note_listgitlab_snippet_note_list
snippet.note_updategitlab_snippet_note_update
snippet.project_contentgitlab_project_snippet_content
snippet.project_creategitlab_project_snippet_create
snippet.project_deletegitlab_project_snippet_delete
snippet.project_getgitlab_project_snippet_get
snippet.project_listgitlab_project_snippet_list
snippet.project_updategitlab_project_snippet_update
snippet.updategitlab_snippet_update

Read a personal snippet’s raw content. Returns: the snippet ID and raw text content. See also: snippet.get, snippet.file_content.

  • Meta-tool: gitlab_snippet, action content
  • Individual tool: gitlab_snippet_content
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
snippet_idintegeryesSnippet ID

Create a personal snippet. Returns: the created snippet with ID, visibility, author, files, and web URL. See also: snippet.get, snippet.update, snippet.list.

  • Meta-tool: gitlab_snippet, action create
  • Individual tool: gitlab_snippet_create
  • Tier: Free
  • Behavior: writes, not idempotent
ParameterTypeMandatoryDescription
titlestringyesSnippet title
contentstringnoSnippet content (single-file, deprecated in favor of files)
descriptionstringnoSnippet description
file_namestringnoFile name (single-file snippet, deprecated in favor of files)
filesobject[]noFiles to include in the snippet
visibilitystring (private, internal, public)noVisibility: private, internal, or public. Defaults to private when omitted

Also needs at least one of: file_name and content; files.

Delete a personal snippet permanently. Returns: a success confirmation. See also: snippet.get, snippet.list.

  • Meta-tool: gitlab_snippet, action delete
  • Individual tool: gitlab_snippet_delete
  • Tier: Free
  • Behavior: writes, destructive (needs confirmation), idempotent
ParameterTypeMandatoryDescription
snippet_idintegeryesSnippet ID

Add a reply note to an existing snippet discussion thread. Returns: the created note (author, body, timestamps). See also: snippet.discussion_create, snippet.discussion_get, snippet.discussion_update_note.

  • Meta-tool: gitlab_snippet, action discussion_add_note
  • Individual tool: gitlab_add_snippet_discussion_note
  • Tier: Free
  • Behavior: writes, not idempotent
ParameterTypeMandatoryDescription
bodystringyesNote body (Markdown supported)
discussion_idstringyesDiscussion ID to reply to
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID
created_atstringnoBackdate the note creation time (ISO 8601, e.g. 2025-01-01T00:00:00Z). Requires admin or owner rights

Create a new discussion thread on a project snippet with an initial note. Returns: the created thread with its first note. See also: snippet.discussion_add_note, snippet.discussion_list, snippet.note_create.

  • Meta-tool: gitlab_snippet, action discussion_create
  • Individual tool: gitlab_create_snippet_discussion
  • Tier: Free
  • Behavior: writes, not idempotent
ParameterTypeMandatoryDescription
bodystringyesDiscussion body (Markdown supported)
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID
created_atstringnoBackdate the discussion creation time (ISO 8601, e.g. 2025-01-01T00:00:00Z). Requires admin or owner rights

Delete a note from a snippet discussion thread (destructive). Returns: a deletion confirmation message. See also: snippet.discussion_update_note, snippet.discussion_get, snippet.discussion_list.

  • Meta-tool: gitlab_snippet, action discussion_delete_note
  • Individual tool: gitlab_delete_snippet_discussion_note
  • Tier: Free
  • Behavior: writes, destructive (needs confirmation), idempotent
ParameterTypeMandatoryDescription
discussion_idstringyesDiscussion ID
note_idintegeryesNote ID to delete
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

Get a single snippet discussion thread by its discussion id. Returns: the thread with every note (author, body, system flag, resolvable/resolved state). See also: snippet.discussion_list, snippet.discussion_add_note, snippet.project_get.

  • Meta-tool: gitlab_snippet, action discussion_get
  • Individual tool: gitlab_get_snippet_discussion
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
discussion_idstringyesDiscussion ID
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

List discussion threads on a project snippet with ordering and keyset pagination. Returns: discussion threads with their notes (author, body, system flag, resolvable state) and pagination metadata. See also: snippet.discussion_get, snippet.discussion_create, snippet.project_get, snippet.note_list.

  • Meta-tool: gitlab_snippet, action discussion_list
  • Individual tool: gitlab_list_snippet_discussions
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID
order_bystringnoColumn to order keyset-paginated results by (e.g. created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction (asc or desc)

Update the body of a note in a snippet discussion thread. Returns: the updated note. See also: snippet.discussion_add_note, snippet.discussion_delete_note, snippet.discussion_get.

  • Meta-tool: gitlab_snippet, action discussion_update_note
  • Individual tool: gitlab_update_snippet_discussion_note
  • Tier: Free
  • Behavior: writes, idempotent
ParameterTypeMandatoryDescription
bodystringyesUpdated note body
discussion_idstringyesDiscussion ID
note_idintegeryesNote ID to update
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID
created_atstringnoOverride the note creation time (ISO 8601, e.g. 2025-01-01T00:00:00Z). Requires admin or owner rights

Add an emoji reaction to a project snippet. Returns: the created award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: snippet.emoji_snippet_list, snippet.emoji_snippet_delete.

  • Meta-tool: gitlab_snippet, action emoji_snippet_create
  • Individual tool: gitlab_snippet_emoji_create
  • Tier: Free
  • Behavior: writes, not idempotent
ParameterTypeMandatoryDescription
namestringyesEmoji name without colons (e.g. thumbsup)
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

Remove an emoji reaction from a project snippet by award id. Returns: a success confirmation naming the award emoji. See also: snippet.emoji_snippet_list, snippet.emoji_snippet_get.

  • Meta-tool: gitlab_snippet, action emoji_snippet_delete
  • Individual tool: gitlab_snippet_emoji_delete
  • Tier: Free
  • Behavior: writes, destructive (needs confirmation), idempotent
ParameterTypeMandatoryDescription
award_idintegeryesAward emoji ID
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

Get a single emoji reaction on a project snippet by award id. Returns: the award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: snippet.emoji_snippet_list, snippet.emoji_snippet_delete.

  • Meta-tool: gitlab_snippet, action emoji_snippet_get
  • Individual tool: gitlab_snippet_emoji_get
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
award_idintegeryesAward emoji ID
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

List all emoji reactions on a project snippet. Returns: each award with its emoji name, the awarding user object, awardable id/type, and pagination metadata. See also: snippet.emoji_snippet_get, snippet.emoji_snippet_create, snippet.project_get.

  • Meta-tool: gitlab_snippet, action emoji_snippet_list
  • Individual tool: gitlab_snippet_emoji_list
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID
order_bystringnoColumn to order results by (e.g. created_at, updated_at, id). Used with keyset pagination.
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort order: ‘asc’ or ‘desc’.

Add an emoji reaction to a project snippet note. Returns: the created award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: snippet.emoji_snippet_note_list, snippet.emoji_snippet_note_delete.

  • Meta-tool: gitlab_snippet, action emoji_snippet_note_create
  • Individual tool: gitlab_snippet_note_emoji_create
  • Tier: Free
  • Behavior: writes, not idempotent
ParameterTypeMandatoryDescription
namestringyesEmoji name without colons (e.g. thumbsup)
note_idintegeryesNote ID
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

Remove an emoji reaction from a project snippet note by award id. Returns: a success confirmation naming the award emoji. See also: snippet.emoji_snippet_note_list, snippet.emoji_snippet_note_get.

  • Meta-tool: gitlab_snippet, action emoji_snippet_note_delete
  • Individual tool: gitlab_snippet_note_emoji_delete
  • Tier: Free
  • Behavior: writes, destructive (needs confirmation), idempotent
ParameterTypeMandatoryDescription
award_idintegeryesAward emoji ID
note_idintegeryesNote ID
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

Get a single emoji reaction on a project snippet note by award id. Returns: the award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: snippet.emoji_snippet_note_list, snippet.emoji_snippet_note_delete.

  • Meta-tool: gitlab_snippet, action emoji_snippet_note_get
  • Individual tool: gitlab_snippet_note_emoji_get
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
award_idintegeryesAward emoji ID
note_idintegeryesNote ID
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

List all emoji reactions on a project snippet note (comment). Returns: each award with its emoji name, the awarding user object, awardable id/type, and pagination metadata. See also: snippet.emoji_snippet_note_get, snippet.emoji_snippet_note_create, snippet.note_get.

  • Meta-tool: gitlab_snippet, action emoji_snippet_note_list
  • Individual tool: gitlab_snippet_note_emoji_list
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
note_idintegeryesNote ID
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID
order_bystringnoColumn to order results by (e.g. created_at, updated_at, id). Used with keyset pagination.
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort order: ‘asc’ or ‘desc’.

List public snippets across the instance. Returns: public snippets with author, visibility, and pagination metadata. See also: snippet.list, snippet.get.

  • Meta-tool: gitlab_snippet, action explore
  • Individual tool: gitlab_snippet_explore
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
order_bystringnoColumn to order results by for keyset pagination (e.g. id, created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction (asc, desc)

Read one file from a multi-file personal snippet at a ref. Returns: the snippet ID, ref, file name, and raw content. See also: snippet.content, snippet.get.

  • Meta-tool: gitlab_snippet, action file_content
  • Individual tool: gitlab_snippet_file_content
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
file_namestringyesFile name to retrieve
refstringyesGit ref (branch, tag, or commit SHA)
snippet_idintegeryesSnippet ID

Get a single personal snippet by ID. Returns: snippet metadata, visibility, author, files, and web URL. See also: snippet.list, snippet.content, snippet.update, snippet.delete.

  • Meta-tool: gitlab_snippet, action get
  • Individual tool: gitlab_snippet_get
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
snippet_idintegeryesSnippet ID

List snippets owned by the authenticated user. Returns: snippets with title, visibility, author, files, and pagination metadata. See also: snippet.get, snippet.create, snippet.explore.

  • Meta-tool: gitlab_snippet, action list
  • Individual tool: gitlab_snippet_list
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
order_bystringnoColumn to order results by for keyset pagination (e.g. id, created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction (asc, desc)

List all snippets on the instance (admin). Returns: snippets with author, visibility, repository storage, and pagination metadata. See also: snippet.list, snippet.explore, snippet.get.

  • Meta-tool: gitlab_snippet, action list_all
  • Individual tool: gitlab_snippet_list_all
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
created_afterstringnoFilter snippets created after (ISO 8601)
created_beforestringnoFilter snippets created before (ISO 8601)
order_bystringnoColumn to order results by for keyset pagination (e.g. id, created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
repository_storage (Premium)stringnoFilter by repository storage name (admin only)
sortstring (asc, desc)noSort direction (asc, desc)

Add a comment (note) to a project snippet. Returns: the created note with id, author, body, and timestamps. See also: snippet.note_list, snippet.note_get, snippet.project_get.

  • Meta-tool: gitlab_snippet, action note_create
  • Individual tool: gitlab_snippet_note_create
  • Tier: Free
  • Behavior: writes, not idempotent
ParameterTypeMandatoryDescription
bodystringyesNote body (Markdown supported)
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID
created_atstringnoBackdate the note to this RFC 3339 timestamp (e.g. 2026-01-15T10:00:00Z). Requires administrator or project/group owner permissions. Ignored otherwise.

Delete a snippet note permanently. Returns: a success confirmation naming the note, snippet, and project. See also: snippet.note_get, snippet.note_list.

  • Meta-tool: gitlab_snippet, action note_delete
  • Individual tool: gitlab_snippet_note_delete
  • Tier: Free
  • Behavior: writes, destructive (needs confirmation), idempotent
ParameterTypeMandatoryDescription
note_idintegeryesID of the note to delete
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

Get a single snippet note by its ID. Returns: the note with author, body, timestamps, and position. See also: snippet.note_list, snippet.note_update, snippet.note_delete.

  • Meta-tool: gitlab_snippet, action note_get
  • Individual tool: gitlab_snippet_note_get
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
note_idintegeryesID of the note to retrieve
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

List all notes (comments) on a project snippet. Returns: notes with author, body, system flag, and pagination metadata. See also: snippet.note_get, snippet.note_create, snippet.project_get.

  • Meta-tool: gitlab_snippet, action note_list
  • Individual tool: gitlab_snippet_note_list
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID
order_bystring (created_at, updated_at)noOrder by field (created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction (asc, desc)

Update a snippet note’s body. Returns: the updated note with new body and updated_at timestamp. See also: snippet.note_get, snippet.note_list, snippet.note_delete.

  • Meta-tool: gitlab_snippet, action note_update
  • Individual tool: gitlab_snippet_note_update
  • Tier: Free
  • Behavior: writes, idempotent
ParameterTypeMandatoryDescription
bodystringyesUpdated note body (Markdown supported)
note_idintegeryesID of the note to update
project_idstring/integeryesProject ID or URL-encoded path
snippet_idintegeryesSnippet ID

Read a project snippet’s raw content. Returns: the snippet ID and raw text content. See also: snippet.project_get, snippet.project_list.

  • Meta-tool: gitlab_snippet, action project_content
  • Individual tool: gitlab_project_snippet_content
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
project_idstring/integeryesProject ID or path
snippet_idintegeryesSnippet ID

Create a project snippet. Returns: the created snippet with ID, visibility, author, files, and web URL. See also: snippet.project_get, snippet.project_update, snippet.project_list.

  • Meta-tool: gitlab_snippet, action project_create
  • Individual tool: gitlab_project_snippet_create
  • Tier: Free
  • Behavior: writes, not idempotent
ParameterTypeMandatoryDescription
project_idstringyesProject ID or path
titlestringyesSnippet title
contentstringnoContent (single-file, deprecated in favor of files)
descriptionstringnoSnippet description
file_namestringnoFile name (single-file, deprecated in favor of files)
filesobject[]noFiles to include in the snippet
visibilitystring (private, internal, public)noVisibility: private, internal, or public. Defaults to private when omitted

Also needs at least one of: file_name and content; files.

Delete a project snippet permanently. Returns: a success confirmation. See also: snippet.project_get, snippet.project_list.

  • Meta-tool: gitlab_snippet, action project_delete
  • Individual tool: gitlab_project_snippet_delete
  • Tier: Free
  • Behavior: writes, destructive (needs confirmation), idempotent
ParameterTypeMandatoryDescription
project_idstring/integeryesProject ID or path
snippet_idintegeryesSnippet ID

Get a single project snippet. Returns: snippet metadata, visibility, author, files, and web URL. See also: snippet.project_list, snippet.project_content, snippet.project_update, snippet.project_delete.

  • Meta-tool: gitlab_snippet, action project_get
  • Individual tool: gitlab_project_snippet_get
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
project_idstring/integeryesProject ID or path
snippet_idintegeryesSnippet ID

List a project’s snippets. Returns: snippets with title, visibility, author, files, and pagination metadata. See also: snippet.project_get, snippet.project_create, snippet.list.

  • Meta-tool: gitlab_snippet, action project_list
  • Individual tool: gitlab_project_snippet_list
  • Tier: Free
  • Behavior: read-only, idempotent
ParameterTypeMandatoryDescription
project_idstring/integeryesProject ID or path
order_bystringnoColumn to order results by for keyset pagination (e.g. id, created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction (asc, desc)

Update a project snippet. Returns: the updated snippet with metadata, files, and web URL. See also: snippet.project_get, snippet.project_delete, snippet.project_list.

  • Meta-tool: gitlab_snippet, action project_update
  • Individual tool: gitlab_project_snippet_update
  • Tier: Free
  • Behavior: writes, idempotent
ParameterTypeMandatoryDescription
project_idstring/integeryesProject ID or path
snippet_idintegeryesSnippet ID
contentstringnoNew content (single-file, deprecated in favor of files)
descriptionstringnoNew description
file_namestringnoNew file name (single-file, deprecated in favor of files)
filesobject[]noFile operations to apply
titlestringnoNew title
visibilitystring (private, internal, public)noNew visibility: private, internal, or public

Update a personal snippet. Returns: the updated snippet with metadata, files, and web URL. See also: snippet.get, snippet.delete, snippet.list.

  • Meta-tool: gitlab_snippet, action update
  • Individual tool: gitlab_snippet_update
  • Tier: Free
  • Behavior: writes, idempotent
ParameterTypeMandatoryDescription
snippet_idintegeryesSnippet ID
contentstringnoNew content (single-file, deprecated in favor of files)
descriptionstringnoNew description
file_namestringnoNew file name (single-file, deprecated in favor of files)
filesobject[]noFile operations to apply
titlestringnoNew title
visibilitystring (private, internal, public)noNew visibility: private, internal, or public