Skip to main content
Glama
conorbronsdon

Google Workspace (GWS) MCP Server

drive_permissions_update

DestructiveIdempotent

Update a file's sharing permissions by changing a user's role, such as from reader to writer. Supports role downgrades but not ownership transfers.

Instructions

Change an existing permission's role on a file (e.g. reader to writer). Can remove capabilities by downgrading a role. Ownership transfers are not supported. Per the Drive API: concurrent permissions operations on the same file aren't supported, only the last update is applied.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roleYesNew non-owner role
fieldsNoFields to return (e.g. "id,role,type,emailAddress")
fileIdYesThe file the permission belongs to
permissionIdYesThe permission to update (get it from drive_permissions_list)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.1

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, but the description adds valuable context beyond annotations: downgrading a role removes capabilities, ownership transfers are explicitly unsupported, and concurrent operations on the same file are not supported with only the last update applied. This surfaces real behavioral edge cases an agent must know. No contradiction with annotations.

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?

Three sentences, all informative, with the core action front-loaded. No redundant phrases or filler. Each sentence adds distinct value: what the tool does, a capability caveat, and a concurrency warning. Perfectly sized for the tool's complexity.

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

Completeness5/5

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

For a mutation tool with rich annotations, the description covers purpose, limitations, destructive potential, and concurrency behavior. The schema handles parameter descriptions. There is no output schema, but none is needed for an update tool. Nothing essential is missing for an agent to invoke it correctly.

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

Parameters4/5

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

Schema descriptions cover 100% of parameters, so the baseline is 3. The description adds semantic value by explaining that role changes can downgrade capabilities, which clarifies the meaning of the 'role' enum values (e.g., reader to writer implies privilege hierarchy). It also illustrates usage with a concrete example. The permissionId sourcing is already in the schema, but the description's role semantics enhance parameter understanding.

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

Purpose5/5

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

The description opens with a specific verb+resource: 'Change an existing permission's role on a file (e.g. reader to writer)'. This clearly states what the tool does and differentiates it from permission creation, deletion, and ownership-transfer siblings. The explicit 'Ownership transfers are not supported' further disambiguates it from drive_permissions_transferOwnership and drive_permissions_proposeOwnershipTransfer.

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

Usage Guidelines4/5

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

The description implies when to use it: when modifying an existing permission's role. The 'Ownership transfers are not supported' statement tells the agent not to use this for transfers, implying a sibling should be used instead. The concurrency caveat also informs operational timing. It doesn't explicitly name create/delete as alternatives, but the core use case is clear enough from the description plus sibling names.

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