Skip to main content
Glama

Update project machine pool grant

grant_pools_edit
Destructive

Updates the grant's overrides and limits. Omitted fields keep their current values; null clears an override so the grant follows the machine pool again. Overlay objects and metadata are replaced whole when present. Existing machines keep their configuration; the updated defaults and limits apply to new launches.

Input Schema

NameRequiredDescriptionDefault
orgIDYesOrganization ID (org_...).
metadataNoArbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters.
projectIDYesProject ID (proj_...).
default_cwdNoDefault working directory for processes on this project's machines created from the pool after this change.
descriptionNoOptional note about this grant.
poolGrantIDYesProject machine pool grant ID (pmpg_...).
max_total_cpuNoMaximum total CPU across this project's live machines from the pool.
max_machine_cpuNoLargest CPU count one of this project's machines can request.
min_machine_cpuNoSmallest CPU count one of this project's machines can request.
max_total_machinesNoMaximum number of live machines this project can have from the pool.
default_machine_cpuNoDefault CPU count for machines this project creates from the pool, overriding the pool's default.
max_total_memory_mbNoMaximum total memory in MB across this project's live machines from the pool.
max_machine_memory_mbNoLargest memory in MB one of this project's machines can request.
min_machine_memory_mbNoSmallest memory in MB one of this project's machines can request.
default_machine_memory_mbNoDefault memory in MB for machines this project creates from the pool, overriding the pool's default.
delete_after_idle_minutesNoIdle minutes before deleting a machine created through this grant. Use 0 to disable for this grant; null restores inheritance from the pool; omitted leaves it unchanged. Values from 1 through 4 are invalid.
default_machine_env_overlayNoEnv overlay merged over the pool's default_machine_env for machines this project creates from the pool afterward; a null entry removes the key.
default_machine_secret_env_overlayNoSecret env overlay merged over the pool's default_machine_secret_env for machines this project creates from the pool afterward; a null entry removes the key.
default_machine_provider_options_overlayNoProvider-specific options layered over the pool's provider options for this project's machines.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changed
    • addedInput schema / properties / default_cwd / description
      Added value: +"Default working directory for processes on this project's machines created from the pool after this change."
    • addedInput schema / properties / default_machine_cpu / description
      Added value: +"Default CPU count for machines this project creates from the pool, overriding the pool's default."
    • addedInput schema / properties / default_machine_env_overlay / description
      Added value: +"Env overlay merged over the pool's default_machine_env for machines this project creates from the pool afterward; a null entry removes the key."
    • addedInput schema / properties / default_machine_memory_mb / description
      Added value: +"Default memory in MB for machines this project creates from the pool, overriding the pool's default."
    • addedInput schema / properties / default_machine_provider_options_overlay / description
      Added value: +"Provider-specific options layered over the pool's provider options for this project's machines."
    • addedInput schema / properties / default_machine_secret_env_overlay / description
      Added value: +"Secret env overlay merged over the pool's default_machine_secret_env for machines this project creates from the pool afterward; a null entry removes the key."
    • addedInput schema / properties / description / description
      Added value: +"Optional note about this grant."
    • addedInput schema / properties / max_machine_cpu / description
      Added value: +"Largest CPU count one of this project's machines can request."
    • addedInput schema / properties / max_machine_memory_mb / description
      Added value: +"Largest memory in MB one of this project's machines can request."
    • addedInput schema / properties / max_total_cpu / description
      Added value: +"Maximum total CPU across this project's live machines from the pool."
    • addedInput schema / properties / max_total_machines / description
      Added value: +"Maximum number of live machines this project can have from the pool."
    • addedInput schema / properties / max_total_memory_mb / description
      Added value: +"Maximum total memory in MB across this project's live machines from the pool."
    • addedInput schema / properties / min_machine_cpu / description
      Added value: +"Smallest CPU count one of this project's machines can request."
    • addedInput schema / properties / min_machine_memory_mb / description
      Added value: +"Smallest memory in MB one of this project's machines can request."
    • addedInput schema / properties / orgID / description
      Added value: +"Organization ID (org_...)."
    • addedInput schema / properties / poolGrantID / description
      Added value: +"Project machine pool grant ID (pmpg_...)."
    • addedInput schema / properties / projectID / description
      Added value: +"Project ID (proj_...)."
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false; the description goes well beyond that by explaining PATCH semantics (omitted fields unchanged, null clears an override and restores pool inheritance), whole-object replacement for overlays/metadata, and the key consequence that existing machines keep their config while new launches pick up the new defaults/limits. It does not cover permissions or reversibility, so it lands just short of the top.

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?

Four tightly packed sentences, each carrying a distinct rule (scope, PATCH semantics, replacement semantics, effect on existing vs new machines), with the core action front-loaded. No filler or restatement of the tool name.

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?

For a 19-parameter mutation with nested objects and no output schema, the description covers the hard parts: partial update semantics, inheritance clearing, and how changes propagate to machines. It is let down slightly by not mentioning authorization scope or what the call returns, but the behaviorally risky aspects are all addressed.

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 coverage is 100%, so the baseline is 3, but the description adds genuine meaning the schema does not: the general omitted/null/cleared-override contract and the fact that overlay objects and metadata are replaced whole rather than merged. That materially improves how an agent would populate the nullable limit and overlay parameters.

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: 'Updates the grant's overrides and limits.' Combined with the tool name, an agent can immediately tell this is a mutation of an existing machine-pool grant rather than a get/list/add/delete operation, and 'overrides and limits' accurately scopes what is being edited.

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

Usage Guidelines3/5

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

The description implies this is the tool for changing an existing grant and even explains inheritance behavior relative to the pool, but it never states when to pick it over grant_pools_add/delete or grant_models_edit, nor any preconditions or exclusions. Usage is inferable rather than explicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.