Skip to main content
Glama

vm_new_context

Generate a conversation UUID for non-Codex clients to use as owner_thread_id; retain it for the session. It does not connect a VM.

Instructions

Generate a conversation UUID for a non-Codex client. Retain it for this conversation and use it as owner_thread_id. Codex should use its actual thread UUID instead. Does not connect a VM.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "vm_new_context"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description does real work by disclosing a key non-behavior ("Does not connect a VM") and prescribing how to use the result as owner_thread_id. However, it does not say whether the call creates any server-side state, whether repeated calls yield distinct UUIDs, or whether the value has a lifetime — meaningful gaps for a tool with zero annotation coverage.

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 short sentences with zero filler, front-loaded with the action and the returned artifact, followed by the retention instruction and the exclusion. Every sentence carries distinct 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?

For a zero-parameter, zero-side-effect tool with no output schema, the description supplies what the return value is (a conversation UUID) and what to do with it. Only the persistence semantics of the generated UUID and its relationship to the connect flow remain unstated.

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 tool takes no parameters, so there is nothing for the description to disambiguate; the baseline applies. The mention of owner_thread_id describes how other tools consume the result rather than adding parameter meaning here, which is still useful framing.

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?

States a specific verb and output ("Generate a conversation UUID") and scopes it to "a non-Codex client," which resolves the mismatch between the ambiguous name vm_new_context and the actual operation. It also preempts confusion with vm_connect by noting it "Does not connect a VM," though it does not name which sibling should follow it.

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?

Gives clear conditional guidance: non-Codex clients should call this and retain the result, while "Codex should use its actual thread UUID instead" — an explicit alternative for the other case. What is missing is sequencing guidance relative to siblings like vm_connect or vm_status, which an agent would need to know.

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