# user — gitlab

> 76 actions
> This page as plain markdown. Index: https://mcp.jmrp.io/llms.txt

Canonical: https://mcp.jmrp.io/servers/gitlab/actions/user/
Language: en
Alternate: https://mcp.jmrp.io/es/servers/gitlab/actions/user/index.md
Updated: 2026-09-22T21:41:36+02:00
License: https://mcp.jmrp.io/license/

Counted with a Free-tier token against gitlab.com, which is the only host this endpoint talks to: to use it against a self-managed instance, run the server yourself — its documentation covers that. The catalog is scoped to the token that asks, so the count moves with both its tier and its permissions: higher tiers expose more actions, and administration domains only appear to tokens allowed to use them. That is why the figures differ elsewhere: the upstream project catalogues 1,006 actions across 162 domains, and 851 on the Free/CE surface, while this deployment publishes 765 because it is OAuth-only and acts with your token, so the administration domains a non-admin account cannot call never appear. All three describe the same catalog, counted from three vantage points.

## Actions

### `user.activate` — Activate User

Activate a deactivated user. Returns: confirmation with the user ID and action. See also: user.deactivate, user.unblock, user.get.

**Required parameters:** `user_id (integer)`

### `user.activities` — Get User Activities

_read-only_

List user activities (admin). Returns: username and last-activity date per user. See also: user.list, user.contribution_events, user.memberships.

### `user.add_email` — Add Email

Add an email address to the authenticated user's account. Returns: the created email's ID, address, and confirmation timestamp. See also: user.get_email, user.delete_email, user.add_email_for_user.

**Required parameters:** `email (string)`

### `user.add_email_for_user` — Add Email For User

Add an email address to a specific user's account (admin only). Returns: the created email's ID, address, and confirmation timestamp. See also: user.emails_for_user, user.delete_email_for_user, user.add_email.

**Required parameters:** `email (string)`, `user_id (integer)`

### `user.add_gpg_key` — Add GPG Key

Add a GPG key to the authenticated user's account. Returns: the created key's ID, armored public key, and creation timestamp. See also: user.gpg_keys, user.get_gpg_key, user.delete_gpg_key, user.add_gpg_key_for_user.

**Required parameters:** `key (string)`

### `user.add_gpg_key_for_user` — Add GPG Key For User

Add a GPG key to a specific user's account (admin only). Returns: the created key's ID, armored public key, and creation timestamp. See also: user.gpg_keys_for_user, user.get_gpg_key_for_user, user.delete_gpg_key_for_user, user.add_gpg_key.

**Required parameters:** `key (string)`, `user_id (integer)`

### `user.add_ssh_key` — Add SSH Key

Add an SSH key to the current user. Returns: created key ID, title, usage type, and expiry. See also: user.ssh_keys, user.get_ssh_key, user.delete_ssh_key.

**Required parameters:** `key (string)`, `title (string)`

### `user.add_ssh_key_for_user` — Add SSH Key For User

Add an SSH key to a specific user. Returns: created key ID, title, usage type, and expiry. Requires admin token. See also: user.ssh_keys_for_user, user.get_ssh_key_for_user, user.delete_ssh_key_for_user.

**Required parameters:** `key (string)`, `title (string)`, `user_id (integer)`

### `user.approve` — Approve User

Approve a pending user sign-up. Returns: confirmation with the user ID and action. See also: user.reject, user.get, user.list.

**Required parameters:** `user_id (integer)`

### `user.associations_count` — Get User Associations Count

_read-only_

Get a user's association counts. Returns: groups, projects, issues, and merge-requests counts. See also: user.get, user.memberships, user.delete.

**Required parameters:** `user_id (integer)`

### `user.avatar_get` — Get Avatar

_read-only_

Get the avatar URL for an email address. Returns: the resolved avatar URL for that email address. See also: user.me, user.get_status.

**Required parameters:** `email (string)`

### `user.ban` — Ban User

_destructive_

Ban a user. Returns: confirmation with the user ID and action. Reversible via gitlab_unban_user. See also: user.unban, user.block, user.get.

**Required parameters:** `user_id (integer)`

### `user.block` — Block User

_destructive_

Block a user from signing in. Returns: confirmation with the user ID and action. Reversible via gitlab_unblock_user. See also: user.unblock, user.ban, user.get.

**Required parameters:** `user_id (integer)`

### `user.contribution_events` — List User Contribution Events

_read-only_

List a user's contribution events. Returns: event entries with action, target type/title, project, and timestamp. See also: user.get, user.activities, user.associations_count.

**Required parameters:** `user_id (integer)`

### `user.create` — Create User

Create a user account. Returns: created user identity and profile summary fields. See also: user.get, user.modify, user.block.

**Required parameters:** `email (string)`, `name (string)`, `username (string)`

### `user.create_current_user_pat` — Create Current User Pat

Create a personal access token for the current user. Returns: token ID, the secret token, scopes, and expiry. See also: user.me, user.create_runner.

**Required parameters:** `name (string)`, `scopes (array)`

### `user.create_impersonation_token` — Create Impersonation Token

Create an impersonation token for a user with the given scopes and optional expiry. Returns: the new token's id, name, active flag, scopes, revoked flag, created_at, expires_at, and the secret token value (shown once). See also: user.list_impersonation_tokens, user.revoke_impersonation_token, user.create_personal_access_token.

**Required parameters:** `name (string)`, `scopes (array)`, `user_id (integer)`

### `user.create_personal_access_token` — Create Personal Access Token

Create a personal access token for a user with the given scopes, optional description, and optional expiry. Returns: the new token's id, name, active flag, scopes, revoked flag, description, user_id, created_at, expires_at, and the secret token value (shown once). See also: access.token_personal_list, access.token_personal_revoke, user.create_impersonation_token.

**Required parameters:** `name (string)`, `scopes (array)`, `user_id (integer)`

### `user.create_runner` — Create User Runner

Create a runner linked to the current user. Returns: runner ID, authentication token, and token expiry. See also: user.me, user.create_current_user_pat.

**Required parameters:** `runner_type (string)`

### `user.create_service_account` — Create Service Account

Create an instance-level service account. Returns: the created service account with ID, username, name, and email. Requires admin token. See also: user.list_service_accounts, user.update_service_account.

### `user.current` — User Current

_read-only_

Get the current authenticated user. Returns: account ID, username, name, state, avatar URL, and profile metadata. See also: user.list, user.current_user_status, user.emails.

### `user.current_user_status` — Current User Status

_read-only_

Get the current user's status. Returns: emoji, message, availability, and clear-status time. See also: user.set_status, user.get_status, user.me.

### `user.deactivate` — Deactivate User

_destructive_

Deactivate an active user. Returns: confirmation with the user ID and action. Reversible via gitlab_activate_user. See also: user.activate, user.block, user.get.

**Required parameters:** `user_id (integer)`

### `user.delete` — Delete User

_destructive_

Delete a user account. Returns: confirmation with the deleted user ID. Requires admin token. See also: user.get, user.block, user.associations_count.

**Required parameters:** `user_id (integer)`

### `user.delete_email` — Delete Email

_destructive_

Delete an email address from the authenticated user's account. Returns: a confirmation naming the deleted email ID. See also: user.get_email, user.add_email, user.delete_email_for_user.

**Required parameters:** `email_id (integer)`

### `user.delete_email_for_user` — Delete Email For User

_destructive_

Delete an email address from a specific user's account (admin only). Returns: a confirmation naming the deleted email ID. See also: user.emails_for_user, user.add_email_for_user, user.delete_email.

**Required parameters:** `email_id (integer)`, `user_id (integer)`

### `user.delete_gpg_key` — Delete GPG Key

_destructive_

Delete a GPG key from the authenticated user's account. Returns: a confirmation naming the deleted key ID. See also: user.gpg_keys, user.get_gpg_key, user.add_gpg_key, user.delete_gpg_key_for_user.

**Required parameters:** `key_id (integer)`

### `user.delete_gpg_key_for_user` — Delete GPG Key For User

_destructive_

Delete a GPG key from a specific user's account (admin only). Returns: a confirmation naming the deleted key ID. See also: user.gpg_keys_for_user, user.get_gpg_key_for_user, user.add_gpg_key_for_user, user.delete_gpg_key.

**Required parameters:** `key_id (integer)`, `user_id (integer)`

### `user.delete_identity` — Delete User Identity

_destructive_

Delete a user's external identity. Returns: confirmation with user ID and provider. Requires admin token. See also: user.get, user.modify.

**Required parameters:** `provider (string)`, `user_id (integer)`

### `user.delete_ssh_key` — Delete SSH Key

_destructive_

Delete one of the current user's SSH keys. Returns: confirmation with the deleted key ID. See also: user.ssh_keys, user.get_ssh_key, user.add_ssh_key.

**Required parameters:** `key_id (integer)`

### `user.delete_ssh_key_for_user` — Delete SSH Key For User

_destructive_

Delete a specific user's SSH key. Returns: confirmation with the deleted key ID. Requires admin token. See also: user.ssh_keys_for_user, user.get_ssh_key_for_user, user.add_ssh_key_for_user.

**Required parameters:** `key_id (integer)`, `user_id (integer)`

### `user.disable_two_factor` — Disable Two Factor

_destructive_

Disable 2FA for a user. Returns: confirmation with the user ID and action. See also: user.get, user.modify.

**Required parameters:** `user_id (integer)`

### `user.emails` — List Emails

_read-only_

List the current user's email addresses. Returns: email entries with ID, address, and confirmation time. See also: user.me, user.modify.

### `user.emails_for_user` — List Emails For User

_read-only_

List all email addresses registered to a specific user account. Returns: each email's ID, address, and confirmation timestamp, with offset/keyset pagination support. See also: user.get_email, user.add_email_for_user, user.delete_email_for_user, user.get.

### `user.event_list_contributions` — User Contribution Event List

_read-only_

List the current user's contribution events. Returns: each event with action_name, target type and IID, push_data, embedded note, author object, created timestamp, and pagination metadata. See also: user.event_list_project, user.get.

### `user.event_list_project` — Project Event List

_read-only_

List a project's visible activity events. Returns: each event with action_name, target type and IID, push_data, embedded note with author, data (ref, commits, repository), author object, created timestamp, and pagination metadata. See also: user.event_list_contributions, project.get.

**Required parameters:** `project_id (string|integer)`

### `user.get` — Get User

_read-only_

Get one user by ID. Returns: detailed account profile metadata and status fields. See also: user.list, user.modify, user.delete.

**Required parameters:** `user_id (integer)`

### `user.get_email` — Get Email

_read-only_

Get one email address from the authenticated user's account by ID. Returns: the email's ID, address, and confirmation timestamp. See also: user.add_email, user.delete_email, user.emails_for_user.

### `user.get_gpg_key` — Get GPG Key

_read-only_

Get one GPG key from the authenticated user's account by ID. Returns: the key's ID, armored public key, and creation timestamp. See also: user.gpg_keys, user.add_gpg_key, user.delete_gpg_key.

**Required parameters:** `key_id (integer)`

### `user.get_gpg_key_for_user` — Get GPG Key For User

_read-only_

Get one GPG key from a specific user's account by ID. Returns: the key's ID, armored public key, and creation timestamp. See also: user.gpg_keys_for_user, user.add_gpg_key_for_user, user.delete_gpg_key_for_user, user.get.

**Required parameters:** `key_id (integer)`, `user_id (integer)`

### `user.get_impersonation_token` — Get Impersonation Token

_read-only_

Get a single impersonation token for a user by token id. Returns: the token's id, name, active flag, scopes, revoked flag, created_at, expires_at, and last_used_at. See also: user.list_impersonation_tokens, user.revoke_impersonation_token.

**Required parameters:** `token_id (integer)`, `user_id (integer)`

### `user.get_ssh_key` — Get SSH Key

_read-only_

Get one of the current user's SSH keys by ID. Returns: key ID, title, public key, usage type, and expiry. See also: user.ssh_keys, user.add_ssh_key, user.delete_ssh_key.

**Required parameters:** `key_id (integer)`

### `user.get_ssh_key_for_user` — Get SSH Key For User

_read-only_

Get a specific user's SSH key by ID. Returns: key ID, title, public key, usage type, and expiry. See also: user.ssh_keys_for_user, user.add_ssh_key_for_user, user.delete_ssh_key_for_user.

**Required parameters:** `key_id (integer)`, `user_id (integer)`

### `user.get_status` — Get User Status

_read-only_

Get a user's status by ID. Returns: emoji, message, availability, and clear-status time. See also: user.current_user_status, user.set_status, user.get.

**Required parameters:** `user_id (integer)`

### `user.gpg_keys` — List GPG Keys

_read-only_

List the authenticated user's GPG keys. Returns: each key's ID, armored public key, and creation timestamp. See also: user.get_gpg_key, user.add_gpg_key, user.delete_gpg_key, user.gpg_keys_for_user.

### `user.gpg_keys_for_user` — List GPG Keys For User

_read-only_

List a specific user's GPG keys. Returns: each key's ID, armored public key, and creation timestamp. See also: user.get_gpg_key_for_user, user.add_gpg_key_for_user, user.delete_gpg_key_for_user, user.get.

**Required parameters:** `user_id (integer)`

### `user.key_get_by_fingerprint` — Get Key By Fingerprint

_read-only_

Look up an SSH key or deploy key by fingerprint and return the owning user. Returns: the key ID, title, public key, creation time, and the owning user (ID, username, name). See also: user.get_ssh_key, user.ssh_keys, user.ssh_keys_for_user.

**Required parameters:** `fingerprint (string)`

### `user.key_get_with_user` — Get Key With User

_read-only_

Look up an SSH key by its global ID and return the owning user. Returns: the key ID, title, public key, creation time, and the owning user (ID, username, name). See also: user.get_ssh_key, user.ssh_keys, user.ssh_keys_for_user.

**Required parameters:** `key_id (integer)`

### `user.list` — List Users

_read-only_

List users with filtering and pagination support. Returns: user summaries including ID, username, name, state, and profile URLs. See also: user.get, user.me, user.create.

### `user.list_impersonation_tokens` — List Impersonation Tokens

_read-only_

List all impersonation tokens for a user. Returns: each token's id, name, active flag, scopes, revoked flag, created_at, expires_at, and last_used_at. See also: user.get_impersonation_token, user.create_impersonation_token, user.revoke_impersonation_token.

**Required parameters:** `user_id (integer)`

### `user.list_service_accounts` — List Service Accounts

_read-only_

List instance-level service accounts. Returns: service account summaries with ID, username, name, and email. Requires admin token. See also: user.create_service_account, user.update_service_account.

### `user.me` — User Current

_read-only_

Get the current authenticated user. Returns: account ID, username, name, state, avatar URL, and profile metadata. See also: user.list, user.current_user_status, user.emails.

**alias of:** `user.current` (user)

### `user.memberships` — Get User Memberships

_read-only_

List a user's memberships. Returns: source ID, name, type, and access level per membership. See also: user.get, user.associations_count, user.activities.

**Required parameters:** `user_id (integer)`

### `user.modify` — Modify User

Modify an existing user. Returns: the updated user profile metadata. See also: user.get, user.create, user.delete.

**Required parameters:** `user_id (integer)`

### `user.namespace_exists` — Namespace Exists

_read-only_

Check whether a namespace path is taken. Returns: an exists flag and suggested alternative paths when the path is unavailable. See also: user.namespace_get, user.namespace_search.

**Required parameters:** `id (string)`

### `user.namespace_get` — Namespace Get

_read-only_

Get a single namespace by ID or path. Returns: the namespace with id, name, path, kind, full path, parent id, plan, trial state, and seat usage. See also: user.namespace_list, user.namespace_search.

**Required parameters:** `id (string)`

### `user.namespace_list` — Namespace List

_read-only_

List namespaces visible to the authenticated user. Returns: matching namespaces with id, name, path, kind, plan, seat usage, and pagination metadata. See also: user.namespace_get, user.namespace_search, group.list.

### `user.namespace_search` — Namespace Search

_read-only_

Search namespaces by name or path. Returns: matching namespaces with id, name, path, kind, and pagination metadata. See also: user.namespace_list, user.namespace_get.

**Required parameters:** `query (string)`

### `user.notification_global_get` — Notification Global Get

_read-only_

Get the authenticated user's global notification settings. Returns: the global notification level, notification email, and the per-event flags (issue, merge request, pipeline, note, and epic events) when the level is custom. See also: user.notification_global_update, user.notification_project_get, user.notification_group_get.

### `user.notification_global_update` — Notification Global Update

Update the authenticated user's global notification settings. Returns: the updated global notification level, notification email, and per-event flags. See also: user.notification_global_get, user.notification_project_update, user.notification_group_update.

### `user.notification_group_get` — Notification Group Get

_read-only_

Get the authenticated user's notification settings for a group. Returns: the group notification level, notification email, and per-event flags when the level is custom. See also: user.notification_group_update, user.notification_global_get, user.notification_project_get.

**Required parameters:** `group_id (string|integer)`

### `user.notification_group_update` — Notification Group Update

Update the authenticated user's notification settings for a group. Returns: the updated group notification level, notification email, and per-event flags. See also: user.notification_group_get, user.notification_global_update, user.notification_project_update.

**Required parameters:** `group_id (string|integer)`

### `user.notification_project_get` — Notification Project Get

_read-only_

Get the authenticated user's notification settings for a project. Returns: the project notification level, notification email, and per-event flags when the level is custom. See also: user.notification_project_update, user.notification_global_get, user.notification_group_get.

**Required parameters:** `project_id (string|integer)`

### `user.notification_project_update` — Notification Project Update

Update the authenticated user's notification settings for a project. Returns: the updated project notification level, notification email, and per-event flags. See also: user.notification_project_get, user.notification_global_update, user.notification_group_update.

**Required parameters:** `project_id (string|integer)`

### `user.reject` — Reject User

_destructive_

Reject a pending user sign-up. Returns: confirmation with the user ID and action. Permanently deletes the pending user. See also: user.approve, user.get, user.list.

**Required parameters:** `user_id (integer)`

### `user.revoke_impersonation_token` — Revoke Impersonation Token

_destructive_

Revoke an impersonation token for a user by token id. Returns: a confirmation naming the user_id and token_id with the revoked flag set. See also: user.list_impersonation_tokens, user.get_impersonation_token.

**Required parameters:** `token_id (integer)`, `user_id (integer)`

### `user.set_status` — Set User Status

Set the current user's status. Returns: the updated emoji, message, availability, and clear-status time. See also: user.current_user_status, user.get_status.

### `user.ssh_keys` — List SSH Keys

_read-only_

List the current user's SSH keys. Returns: key summaries with ID, title, fingerprint, usage type, and expiry. See also: user.get_ssh_key, user.add_ssh_key, user.delete_ssh_key.

### `user.ssh_keys_for_user` — List SSH Keys For User

_read-only_

List a specific user's SSH keys. Returns: key summaries with ID, title, fingerprint, usage type, and expiry. See also: user.get_ssh_key_for_user, user.add_ssh_key_for_user, user.delete_ssh_key_for_user.

**Required parameters:** `user_id (integer)`

### `user.todo_list` — Todo List

_read-only_

List the authenticated user's to-do items with optional filtering and pagination. Returns: to-do items with action, target object, project, author, state, and pagination metadata. See also: user.todo_mark_done, user.todo_mark_all_done.

### `user.todo_mark_all_done` — Todo Mark All Done

Mark all pending to-do items as done. Returns: a confirmation that all items were cleared. See also: user.todo_list, user.todo_mark_done.

### `user.todo_mark_done` — Todo Mark Done

Mark a single to-do item as done. Returns: a confirmation naming the to-do item ID. See also: user.todo_list, user.todo_mark_all_done.

**Required parameters:** `id (integer)`

### `user.unban` — Unban User

Unban a previously banned user. Returns: confirmation with the user ID and action. See also: user.ban, user.unblock, user.get.

**Required parameters:** `user_id (integer)`

### `user.unblock` — Unblock User

Unblock a previously blocked user. Returns: confirmation with the user ID and action. See also: user.block, user.activate, user.get.

**Required parameters:** `user_id (integer)`

### `user.update_service_account` — Update Instance Service Account

Update an instance-level service account. Returns: updated service account object including email and unconfirmed_email. Requires admin token. See also: user.create_service_account, user.list_service_accounts.

**Required parameters:** `service_account_id (integer)`

### `user.upload_avatar` — Upload User Avatar

Upload the current user's avatar. Returns: the updated user profile including the new avatar URL. GitLab 19 responds with only avatar_url, so other profile fields (including id) may be empty. Use gitlab_user_current for the full profile. Provide filename and exactly one of file_path or content_base64. See also: user.me, user.modify.

**Required parameters:** `filename (string)`
