Skip to main content
Glama

reapply_anyone_permissions

Reapplies public 'anyone with the link' permissions from a Google Sheet audit to the destination Shared Drive. Requires explicit confirmation to execute.

Instructions

    Step 14 — Reapply "anyone" (public) permissions from the audit sheet.

    DESTRUCTIVE — requires confirmed=True to execute.

    If the audit captured any "anyone with the link" ACLs, this step
    reapplies them.  Consider whether public access is appropriate on
    the destination Shared Drive before confirming.

    Args:
        user_email: The admin email executing the command.
        sheet_id: The ID of the Google Sheet containing the audit.
        sheet_name: The tab containing ACL data (default: "all_permissions").
        confirmed: Must be True to execute. False returns a preview.

    GAM command:
        gam config csv_input_row_filter "permission.type:regex:anyone"
            redirect stdout ./reapply_anyone_perms.txt multiprocess
            redirect stderr stdout
            csv gsheet <user_email> <sheet_id> <sheet_name>
            gam user <user_email> create drivefileacl "~id"
            anyone role "~permission.role"
            allowfilediscovery "~permission.allowFileDiscovery"
            nodetails
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sheet_idYes
confirmedNo
sheet_nameNoall_permissions
user_emailYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

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

The description marks the tool as 'DESTRUCTIVE' and requires confirmation, which is key behavioral information. It also mentions that confirmed=False returns a preview. However, it lacks details on what exactly is destroyed (e.g., overwriting existing permissions) and does not discuss rate limits or authentication needs beyond the user_email parameter. Without annotations, the description carries the full burden and could be more thorough.

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

Conciseness3/5

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

The description is structured with a title, caution, parameter list, and a long GAM command block. While front-loaded with purpose, the command block is verbose and may not be necessary for an AI agent, making it less concise. The parameter list is clear, but the overall length could be reduced without losing essential information.

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

Completeness4/5

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

Considering the tool has 4 parameters and an existing output schema, the description covers the purpose, use case (as step 14), destructive nature, confirmation requirement, and parameter details. It does not mention dependencies like prior audit steps or error handling, but is otherwise fairly complete for an agent to select and invoke the tool 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?

The description compensates for 0% schema description coverage by explaining all four parameters: user_email (admin email), sheet_id (Google Sheet ID), sheet_name (tab with default 'all_permissions'), and confirmed (must be True to execute, False for preview). This adds meaningful context beyond the schema's titles, though detailed formats or examples are missing.

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 clearly states the verb 'reapply' and the resource 'anyone (public) permissions' from an audit sheet. It distinguishes from sibling tools like reapply_domain_permissions and reapply_user_group_permissions by targeting the 'anyone' audience specifically.

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 provides a clear condition for use: when the audit captured 'anyone with the link' ACLs. It also warns about considering public access appropriateness and requires confirmed=True to execute. However, it does not explicitly compare to alternative tools or state when not to use this tool.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ktibbs9417/gamcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server