Skip to main content
Glama

update_project_member

Modify a GitLab project member's access level role or expiration date. Use it to change permissions or set time-limited access for a user.

Instructions

Update a project member's access level role or expiration date

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idYesUser numeric ID or username
expires_atNoUpdated expiration date (YYYY-MM-DD) or empty to remove
project_idYesProject numeric ID (e.g. 31) or namespace path (e.g. 'group/project-name'). URL-encoding is handled automatically.
access_levelYesUpdated access level: 'guest' (10), 'reporter' (20), 'developer' (30), 'maintainer' (40), 'owner' (50)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden for a write operation. It says nothing about required authorization, whether lowering your own access is permitted, whether the update is idempotent, or what the response contains. This is a meaningful gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It names the resource and both updatable fields immediately, which is exactly the right shape for a short definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter mutation tool with no annotations and no output schema, the description is too thin. It omits permission requirements, partial-update semantics, and any confirmation of what changes on success, leaving the agent under-informed before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter, including the access-level mapping and the YYYY-MM-DD expiry format. The description only restates 'access level role or expiration date' and adds no syntax or edge-case detail, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Update) and resource (a project member) plus the two mutable fields, so an agent can tell this is a mutation of an existing membership rather than add/remove. It does not explicitly contrast with sibling tools like add_project_member or remove_project_member, which keeps it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites (e.g. required role/permission to change another member's access), and no mention of alternatives such as remove_project_member for revocation. The agent must infer all routing decisions from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.