Skip to main content
Glama

proximo_read

Read-only

Run any read-only GET against Proxmox planes by path to fetch lean rows with totals, check what changed since a timestamp, wait for task completion, or diagnose node health in one call.

Instructions

READ-ONLY: run any GET the plane publishes, by path. Rows come back LEAN with a total (names, states, ids) unless fields='all' or fields='name,status'. Over the cap: counts per state and the odd rows; fields= gets rows. since='24h' (30m, 7d): what changed, from the door's own snapshots, no vendor call. Credentials come back withheld. wait=N on a .../tasks/{upid}/status address waits up to N s (max 600) for the task's end. diagnose=true on a node or guest path: its health reads and advisory flags, one call.

Input Schema

NameRequiredDescriptionDefault
pathYes
waitNo
planeYes
sinceNo
fieldsNo
paramsNo
diagnoseNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changedv0.46.2
    • removedInput schema / properties / arguments
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "title": "Arguments"
      -}
    • addedInput schema / properties / diagnose
      Added value: +{
      +  "default": false,
      +  "title": "Diagnose",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / fields
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Fields"
      +}
    • addedInput schema / properties / params
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Params"
      +}
    • addedInput schema / properties / path
      Added value: +{
      +  "title": "Path",
      +  "type": "string"
      +}
    • addedInput schema / properties / plane
      Added value: +{
      +  "enum": [
      +    "pve",
      +    "pbs",
      +    "pmg",
      +    "pdm"
      +  ],
      +  "title": "Plane",
      +  "type": "string"
      +}
    • addedInput schema / properties / since
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Since"
      +}
    • removedInput schema / properties / tool
      Removed value: -{
      -  "title": "Tool",
      -  "type": "string"
      -}
    • addedInput schema / properties / wait
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Wait"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "tool"
      -]New value: +[
      +  "plane",
      +  "path"
      +]
    • changedInput schema / title
      Previous value: -"proximo_readArguments"New value: +"_readArguments"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "title": "_readDictOutput",
      +  "type": "object"
      +}
  2. Addedv0.36.0

TDQS

A4/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses important behavior: rows are lean by default, over-cap responses return counts and odd rows, credentials are withheld, since uses local snapshots without a vendor call, wait is capped at 600 seconds, and diagnose adds health reads. These details materially improve safe and correct invocation.

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

Conciseness4/5

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

The description is front-loaded and dense with useful information, with little filler. Some clauses are cryptic and run together, such as 'the odd rows' and 'the door's own snapshots,' which slightly reduces clarity but not enough to undermine the compact structure.

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

Completeness3/5

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

The tool is complex: seven parameters, no schema descriptions, and multiple behavioral modes. The description covers many important behaviors and an output schema exists, but it omits meaningful explanation of the params object and plane/path semantics, so it is only partially complete.

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 0%, so the description must compensate. It explains fields, since, wait, and diagnose well, but it does not explain the params object, the plane enum values, or the expected path format, leaving several parameters underspecified.

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 and resource: 'run any GET the plane publishes, by path,' and the READ-ONLY prefix makes the operation type clear. It does not explicitly distinguish itself from siblings such as proximo_call or proximo_find, so it falls 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 Guidelines4/5

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

It gives clear usage context for key parameters: fields controls row detail, since selects changed records, wait applies to task status paths, and diagnose applies to node or guest paths. It does not state when to prefer this over sibling tools or when not to use it.

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