Skip to main content
Glama
Redseb
by Redseb

next_free_id

Reserve the next unallocated switch, variable, or common-event ID to prevent collisions when multiple sessions edit the same project. Suggest IDs read-only; optionally fill gaps below the highest used.

Instructions

Reserve the next unallocated switch / variable / common-event ID(s) instead of picking one by hand. Ids are handed out strictly above every id already declared or referenced, so two sessions editing the same project over time cannot silently claim the same switch — a collision that never crashes and only surfaces hours into a playtest as a door that is inexplicably already open. Pass reuseGaps: true to fill holes below the highest id first (off by default: a hole is often an id claimed in notes but not yet written). Read-only — it suggests ids, it does not write them; name what you take with set_switch_name / set_variable_name so the next session sees the claim.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYesWhich id namespace: switch, variable, or common_event. Database rows (actors, items, …) are not here — create_*/batch_create assign those ids, and list_names shows what exists.
countNoHow many consecutive free ids to return (default 1)
reuseGapsNoFill unallocated holes below the highest id first (default false)
Behavior5/5

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

With no annotations, the description fully discloses behavior: it is read-only, does not write IDs, allocates strictly above all declared/referenced IDs, and explains the default gap behavior (holes are often ID claims not yet written). This goes well beyond a simple operation summary.

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?

The description is front-loaded with the core action and includes useful context. However, the playtest anecdote is vivid but non-essential, making it slightly longer than necessary. Still, every part contributes to understanding the tool's purpose and trade-offs.

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?

The description covers purpose, safety, guardrails, and edge cases well, and the schema fills in parameter details. The main gap is the lack of an explicit return-value description (e.g., does it return a single ID or an array?), and no output schema exists to compensate. Overall, it's nearly complete for selection and invocation.

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 100%, so parameters are already documented. The description adds valuable semantics beyond the schema: the collision rationale, the meaning of 'unallocated', and why reuseGaps defaults off (holes may be claimed in notes). This extra context enriches parameter understanding without being strictly necessary.

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 clearly states the tool's action: 'Reserve the next unallocated switch / variable / common-event ID(s)'. It specifies the relevant namespaces and differentiates from siblings by emphasizing reservation/allocation rather than creation or listing. It also distinguishes from database-row ID assignment by pointing to create_*/batch_create.

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?

Provides explicit context for when to use the tool: 'instead of picking one by hand' and to avoid silent collisions across editing sessions. It also gives exclusions/alternatives: database rows are 'not here' and are handled by create_*/batch_create, and names should be claimed via set_switch_name / set_variable_name.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Redseb/rpgmaker-mz-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server