Skip to main content
Glama

xr_manage

Set up OpenXR player rigs, inspect XRServer tracking status, and generate startup scripts for AR/VR projects in Godot.

Instructions

AR/VR OpenXR Rigging, Controller Setup, and XRServer Tracking Status.

Ops:

  • scaffold_xr_rig(parent_path="", rig_name="XROrigin3D") Scaffold complete OpenXR player hierarchy (origin, camera, left/right controllers).

  • get_xr_status() Inspect XRServer active interfaces, tracking status, and OpenXR availability.

  • generate_xr_startup_script(save_path="res://scripts/xr_initializer.gd") Generate an OpenXR initialization bootstrap script.

Canonical call shape: {"op": "<verb>", "params": {...}}. Flat op parameters are accepted as a compatibility alias when the client transmits them; op and session_id remain top-level.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
opYes
paramsNo
session_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv5.0.28

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does add value beyond the schema by disclosing the op-dispatch call shape and the flat-params compatibility alias, and the verbs scaffold/generate/inspect imply side-effect character. However, it never states prerequisites (XR runtime/hardware), overwrite behavior for the generated res:// script, or scene requirements for scaffold_xr_rig — meaningful gaps for a tool with two writing ops.

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?

Tightly structured and front-loaded: a one-line scope statement, a scannable three-op list with signatures, and a closing invocation-protocol note. Each sentence earns its place, though the 'flat op parameters... compatibility alias' phrasing is slightly convoluted and could be tightened.

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 op coverage, defaults, and call-shape documentation make direct invocation feasible, and the presence of an output schema relieves the description of return-value documentation. However, with zero annotations and roughly 100 siblings, the absence of selection guidance, side-effect warnings, and prerequisite notes leaves the definition at minimum viable rather than complete.

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 description coverage is 0% and params is an opaque wildcard object with no property descriptions, so the description must compensate — and it does: inline signatures document parameter names and defaults (parent_path='', rig_name='XROrigin3D', save_path='res://scripts/xr_initializer.gd') and mark get_xr_status as parameterless. It stops short of defining value formats (e.g., what parent_path should be as a node path), which keeps it from a 5.

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 precise scope statement, 'AR/VR OpenXR Rigging, Controller Setup, and XRServer Tracking Status,' then enumerates three ops each with a specific verb and resource: 'Scaffold complete OpenXR player hierarchy,' 'Inspect XRServer active interfaces,' and 'Generate an OpenXR initialization bootstrap script.' No sibling tool targets OpenXR/XRServer, so this tool is fully distinguishable from the large sibling set.

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?

Usage context is only implied through the op lines (scaffold_xr_rig for rigging, get_xr_status for tracking checks) and the header scoping phrase. There is no explicit when-to-use/when-not-to-use guidance or alternative routing, even though dozens of sibling tools like camera_manage and viewport_manage occupy adjacent space.

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

Deploy Server

Other Tools