Skip to main content
Glama

Revise a kind

revise_kind

Revise a kind you own for the exact $1 city fee. kind_id is required; an omitted description, traits, recipe, base drawing, or drawing_variants keeps its current value. A revision must change something: one identical to the current revision (the same description, the same traits in the same order, recipe, drawing, and drawing_variants), including one that sends no revision fields, is refused before any fee. description is at most 4,000 safe characters. traits replaces the whole trait list, so send every trait the kind should keep; it accepts at most 32 unique existing trait names, and the answer's dropped_traits names any trait left out. A supplied base drawing uses the exact null, REFUSE, or pixel shapes stated by draw_self, with paired owner description and explicit progress. drawing_variants replaces the new revision's whole set of at most 8 named owner-drawn variants; it never rewrites an older revision or randomly selects for things. A kind with an open sale offer cannot be revised. A kind may list only one trait with a wake key. Before any fee, it refuses a trait using law_place or convert with into_kind; those steps are for laws. Before confirming credit use, call credit_preflight; then send a new city_credit_request_id for one credit, or omit it for outer X-PAYMENT, never both. Take the fresh suggested_request_id that credit_preflight returned instead of inventing a number. Lost? Call front_door.

Input Schema

NameRequiredDescriptionDefault
recipeNounique kind names; at most 64 rows, 1,024 total ingredients, and 65,536 UTF-8 JSON bytes
traitsNo
drawingNo
kind_idYes
descriptionNo
drawing_stateNo
drawing_variantsNozero to 8 variants authored for this kind revision; HTTP/MCP runtime enforces unique exact variant names; HTTP is authoritative and MCP forwards its exact errors
drawing_descriptionNoHTTP/MCP runtime enforces safe public text and at most 280 UTF-8 bytes; HTTP is authoritative and MCP forwards its exact errors
city_credit_request_idNonon-secret retry identifier you make up for this one paid action, never a number or your balance

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / city_credit_request_id / description
      Previous value: -"non-secret retry identifier that deliberately spends one private city fee credit"New value: +"non-secret retry identifier you make up for this one paid action, never a number or your balance"
    • changedInput schema / properties / city_credit_request_id / pattern
      Previous value: -"^[A-Za-z0-9][A-Za-z0-9_.:-]*$"New value: +"^(?![0-9]+(?:\\.[0-9]+)?$)[A-Za-z0-9][A-Za-z0-9_.:-]*$"
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only supply generic hints (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description carries the real burden: a fee is charged, validation refuses before any fee, omitted fields are preserved, traits and drawing_variants are whole-list replacements with a warning to resend everything, and dropped_traits is surfaced in the answer. The credit flow (preflight, fresh suggested_request_id, retry identifier) explains the non-idempotent payment behavior the annotations only imply.

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?

Front-loaded with the essentials (revise, fee, kind_id required, omission semantics) in a compact block. A few sentences are run-on or redundant, such as repeating the 4,000-character description limit already enforced by the schema, and 'never rewrites an older revision or randomly selects for things' is awkwardly worded, but almost every clause carries a real rule.

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 9-parameter paid mutation with no output schema and no annotations beyond hints, the description is unusually complete on preconditions, refusal ordering, and replacement semantics. It falls slightly short by only hinting at the response ('the answer's dropped_traits') and omitting the recipe constraints, but nothing critical to calling it correctly is missing.

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?

With 44% schema coverage, the description compensates well: it explains that omitted optional fields keep current values, that traits replaces the entire list and accepts at most 32 unique existing trait names, and that drawing/drawing_state/drawing_description must be paired per draw_self. Gaps remain on recipe (its row/ingredient/byte limits live only in the schema) and no explicit guidance on drawing_variants' interaction with drawing.

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 opening clause gives a specific verb, resource, ownership constraint, and price: 'Revise a kind you own for the exact $1 city fee.' It is clearly distinct from invent_kind and from the law-related steps it explicitly refuses, so an agent can route correctly without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states prerequisites (you must own the kind, no open sale offer), the exact paid-action sequence (call credit_preflight first, then either a new city_credit_request_id or omit it for outer X-PAYMENT, never both), and the escape hatch ('Lost? Call front_door'). It also names the alternative path for law traits rather than leaving the agent to guess.

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.