Skip to main content
Glama

What this install has

inventory
Read-only

Retrieves structured inventory of worlds, characters, and mods with world paths and mod build/enabled status to verify launch preconditions without starting the game.

Instructions

The worlds, characters and mods on this machine.

launch states two preconditions and could check neither. player must already exist — it does not create one, and a duplicate is kicked — and world wants a WINDOWS path the caller had to know in advance. Both are facts about directories sitting right there, and until now the only way to learn either was to launch and read the failure: a kick for the wrong character, and a readiness timeout blaming the heartbeat for the wrong world. Each world's path_win is the exact string launch(world=...) wants.

The mods answer something else. commands reports responder: false for three different situations — the mod is not built, or it is built and switched off, or it is on and was compiled without the dev bridge — and enabled plus built_here separate the first two.

THOSE TWO ARE NOT ONE FACT. A mod can be enabled and have no .tmod here, because a workshop mod is installed from somewhere else entirely; on the install this was written against, CheatSheet is exactly that. Collapsing them into installed would report it missing and send someone rebuilding a mod that was never the problem.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modsYes
worldsYes
playersYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.3

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: it explains the distinction between `enabled` and `built_here` as separate facts, warns against collapsing them into `installed`, and describes the `path_win` field as the exact string `launch(world=...)` wants. This goes beyond the annotations and helps the agent interpret the data correctly.

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

Conciseness3/5

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

The description is well-written and front-loaded with the core purpose, but it is somewhat long and digresses into a narrative about why `installed` would be a bad abstraction. The first sentence earns its place; the later paragraphs are informative but could be tightened. It's not bloated enough to be a 2, but it's not as crisp as the best examples.

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 read-only tool with an output schema, the description is quite complete. It explains the key output fields and their semantics, warns about a common misinterpretation, and connects the data to `launch` and `commands`. The only minor gap is that it doesn't explicitly describe the full list of output fields, but the output schema presumably covers that. Overall, an agent has enough context to use this tool correctly.

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 has zero parameters, so the schema is trivially complete (100% coverage). The description doesn't need to explain parameters. It instead explains the meaning of the output fields (`enabled`, `built_here`, `path_win`), which is more valuable for a zero-parameter read-only inventory tool. Baseline 4 for zero params is appropriate.

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 opens with a clear statement: 'The worlds, characters and mods on this machine.' This identifies the resource (inventory of worlds/characters/mods) and distinguishes it from sibling tools like `launch`, `commands`, or `log_watch`. However, it doesn't explicitly name a sibling alternative or contrast itself with a specific sibling, so it's clear but not fully differentiated.

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?

The description provides strong contextual guidance: it explains that `launch` states preconditions that this tool can verify, and it clarifies how the mods data relates to `commands` reporting. It implicitly tells the agent to use this tool to check preconditions before `launch` and to disambiguate mod states. It doesn't explicitly say 'use this instead of X' but the context is clear enough.

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