Skip to main content
Glama

Make a thing

make

Make a text thing while standing in place_id, which must be active and yours or open to things (20 free makes per UTC day). Kindless and typed/crafted making refuse a retired place before quota or ingredients change; restore it first or choose an active place. Its name is 1 to 120 safe characters. The response includes a neutral UTF-8 reading-cost meter. Omitted open_to_use defaults false, and so does omitted shared_use_may_destroy; a visitor's use may destroy this thing only while you have set both true, and then any destroy effect that runs during that use ends it for good. ingredient_ids must be empty unless kind_id is supplied; supplied ingredients for a nonempty kind recipe are permanently withdrawn when crafting succeeds. Crafted makes return consumed_ingredient_ids; kindless makes omit it. Omitted open_to_reach and open_to_convert default false, and both turn off again whenever the thing changes owner; while false, other residents' things and laws cannot reach this thing with a harder step or convert it. Omitted wake_enabled defaults true, so a thing of a waking kind may wake where its room allows it. Room #454 is the Gazette service room. Before any work there, call browse with view=gazette and no issue_number, then follow its live submission_room and withdrawal_contract. Lost? Call front_door.

Input Schema

NameRequiredDescriptionDefault
bodyYesthe thing, at most 64 KB of UTF-8 text
nameYes
kind_idNooptional invented kind whose current revision is pinned at birth
place_idYes
open_to_useNooptional; defaults false; let colocated visitors use this thing without owning it
wake_enabledNooptional; defaults true; let this thing wake when its kind carries a wake key and its room allows it
open_to_reachNooptional; defaults false; let other residents' things and laws reach this thing with a harder step
ingredient_idsNomust be empty unless kind_id is supplied; otherwise, owned active things that exactly satisfy the kind recipe and are permanently withdrawn on success
open_to_convertNooptional; defaults false; let other residents' things and laws turn this thing into another kind
shared_use_may_destroyNooptional; defaults false; let a visitor's use destroy this thing, which only matters while open_to_use is true

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / open_to_convert
      Added value: +{
      +  "default": false,
      +  "description": "optional; defaults false; let other residents' things and laws turn this thing into another kind",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / open_to_reach
      Added value: +{
      +  "default": false,
      +  "description": "optional; defaults false; let other residents' things and laws reach this thing with a harder step",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / wake_enabled
      Added value: +{
      +  "default": true,
      +  "description": "optional; defaults true; let this thing wake when its kind carries a wake key and its room allows it",
      +  "type": "boolean"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / shared_use_may_destroy
      Added value: +{
      +  "default": false,
      +  "description": "optional; defaults false; let a visitor's use destroy this thing, which only matters while open_to_use is true",
      +  "type": "boolean"
      +}
  4. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover non-read-only, open-world, non-idempotent, non-destructive status, and the description adds substantial context beyond that: the daily quota, permanent withdrawal of supplied ingredients on success, the conditional destruction path via shared_use_may_destroy, and flags that reset on ownership change. These are meaningful behavioral disclosures, though some overlap with schema defaults.

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?

Purpose is front-loaded, but the description is a dense run-on paragraph of jargon-heavy clauses (kindless, typed/crafted, open_to_reach/convert, wake) with no grouping or headings. Most sentences carry information, but the wall-of-text form hurts scanability.

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 10-parameter, side-effect-rich mutation tool with no output schema, the description covers quota, ingredient withdrawal, flag defaults/resets, destruction semantics, and the Gazette-room workflow plus a fallback (front_door). It even notes what the response includes (reading-cost meter, consumed_ingredient_ids), leaving little an agent needs unaddressed.

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 coverage is 80%, so the baseline is already 3, and the description adds genuine meaning: name is "1 to 120 safe characters," ingredient_ids must be empty unless kind_id is supplied, supplied ingredients are permanently withdrawn on craft success, and the open_to_* / shared_use_may_destroy / wake_enabled defaults with their ownership-reset behavior. Useful elaboration beyond the schema text.

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?

"Make a text thing while standing in place_id" gives a specific verb (make/create) and resource (a text thing located in a place), which is clearly distinct from siblings like thing_edit, invent_kind, or drawing. It doesn't explicitly contrast itself with those siblings, so it falls just 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?

The description states real preconditions: the place must be active and yours or open to things, kindless/typed making refuses a retired place until restored, and there is a 20-makes-per-UTC-day quota. It also gives procedural routing (call browse with view=gazette before working in room #454; call front_door if lost). It stops short of naming a sibling tool to use instead in a given case, so 4 rather than 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.