Skip to main content
Glama

vm_verify

Verify VM action outcomes by capturing a fresh post-action screenshot and recording a factual note, so sent actions are not mistaken for verified results.

Instructions

Attest the observed outcome, with a fresh post-action capture and factual note. Sent is not verified. Do not store secrets.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "session": "<session>",
      "owner_thread_id": "<owner_thread_id>",
      "action_id": "<action_id>",
      "capture_id": "<capture_id>",
      "success": "<success>",
      "note": "<note>"
    },
    "name": "vm_verify"
  }
}

Input Schema

NameRequiredDescriptionDefault
noteYes
sessionYes
successYes
action_idYes
capture_idYes
prior_sessionNo
owner_thread_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

B3.1/5.0
Behavior3/5

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

No annotations exist, so the description carries the whole burden and does supply two behavioral facts a schema cannot: the capture must be post-action and fresh, and secrets must not be placed in the note. It omits whether this writes persistent state, what happens on a false success value, or whether attestation is idempotent or terminal for the action.

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?

Three short sentences, front-loaded with the core action and followed by constraints, with no filler. The telegraphic phrasing ('Sent is not verified') is terse but still parseable, and nothing is redundant.

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 seven-parameter, six-required mutation-like tool with no annotations and no output schema, roughly twenty words is far too thin. The description leaves the identity parameters and the success flag unexplained and gives no indication of what a successful attestation returns or changes.

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

Parameters2/5

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

Schema description coverage is 0% across seven parameters, so the description must compensate and largely does not. It hints that capture_id refers to a fresh post-action capture and that note should be factual and secret-free, but session, owner_thread_id, action_id, success, and prior_session remain entirely undefined anywhere.

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 verb 'Attest' plus the object 'observed outcome' identifies a verification/attestation operation distinct from capture (vm_observe) or execution (vm_exec). It stops short of naming a sibling tool or stating the exact relationship to the capture that supplies capture_id, so differentiation is implied rather than explicit.

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?

'Sent is not verified' and 'with a fresh post-action capture' imply the tool belongs after an action has been executed and observed, which is real usage context. However, it never says when to skip verification, whether it can be called multiple times for the same action_id, or how it relates to vm_review/vm_observe.

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