Skip to main content
Glama
Xerolo44

RPG Maker MV MCP Server

by Xerolo44

RPG Maker MV MCP Server

CI License: MIT Node >= 18 MCP

A Model Context Protocol server that turns AI assistants (Claude Code, Claude Desktop, or any MCP client) into a co-developer for RPG Maker MV projects — with automatic backups of everything it touches.

Ask your assistant things like:

"Create a Fireball skill: magical damage, a.mat * 4 - b.mdf * 2, 12 MP, fire element." "Find every event in the game that mentions the mayor." "Add a guard to the castle gate who says 'Halt! Who goes there?'" "Rebalance all weapons: +10% attack across the board." "Validate the project — anything broken?"

Highlights

  • Full database access — all 12 database types (actors, classes, skills, items, weapons, armors, enemies, troops, states, animations, tilesets, common events) plus System.json, through a compact generic CRUD interface.

  • High-level skill builders — create complete, editor-valid damage / healing / buff / state skills from just a name and a formula.

  • Maps and events — create maps, create/edit/delete events, insert event commands in batches, add dialogue with automatic message-box splitting, and consult a built-in event command code reference.

  • Search everywhere — substring search across every database, and across every event on every map, including inside event command lists (find which event shows a line of dialogue or runs a script).

  • Plugin management — enable/disable/configure plugins, scaffold new ones, edit plugin source, all in the editor's own js/plugins.js format.

  • Playtest control — launch the game through NW.js (auto-detected from common install locations) with stdout/stderr capture, or serve it to a browser via the built-in HTTP server.

  • Safety net — every file is snapshotted to .mcp-backups/ before its first modification each session; restore_backup rolls anything back, and validate_project catches broken references before you ship.

Related MCP server: RPG Maker MZ MCP Server

Installation

Requires Node.js 18+.

Quick start (npm)

The easiest way for Claude Code or Claude Desktop users:

npm install -g @xerolo44/rpgmaker-mv-mcp

Then configure it (see below). The package is available on npmjs.com and in the MCP Registry.

Configure Claude Code

claude mcp add rpgmaker-mv -- npx @xerolo44/rpgmaker-mv-mcp --project "/path/to/YourGame"

Configure Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "rpgmaker-mv": {
      "command": "npx",
      "args": [
        "@xerolo44/rpgmaker-mv-mcp",
        "--project", "/path/to/YourGame"
      ]
    }
  }
}

--project is optional — without it, ask the assistant to call set_project first. The project can also be switched mid-session.

Custom connector / URL-based clients (HTTPS) — experimental

Some clients (e.g. "Add custom connector" UIs) don't spawn a local process — they connect to a URL instead. Run the server in HTTPS mode:

node dist/index.js --http [port]   # default port 3939

This starts a Streamable HTTP MCP endpoint at https://127.0.0.1:<port>/mcp, bound to localhost only (never reachable from the network — every request is checked against the connecting socket's address, not just the bind address). A self-signed TLS certificate for localhost/127.0.0.1 is generated on first run and cached in .certs/ (gitignored) next to the project.

Status: the endpoint is fully verified at the protocol level (handshake, session management, and all 41 tools tested directly over HTTPS with curl). What's not guaranteed is that a given GUI connector-adding flow will accept a self-signed localhost certificate — some do (after a manual "proceed anyway" warning, since they open the URL as a normal page), others silently reject it because their background connection check doesn't trust locally-generated certs and gives no user-facing error. If adding the connector spins and fails with no message, that's very likely what's happening, and it's a limitation of that client's trust handling, not of this server. The reliable, zero-friction way to use this server today is the stdio mode above (Claude Code CLI / Claude Desktop's local server config) — reach for --http only if your client specifically requires a URL.

The server process must stay running for the connector to work — start it in its own terminal window before adding the connector, and leave that window open.

Tool reference (41 tools)

Group

Tools

Project

set_project, get_project_info

Database

list_records, get_record, update_record, create_record, get_system, update_system, set_switch_name, set_variable_name

Skill helpers

create_damage_skill, create_healing_skill, create_buff_skill, create_state_skill

Search

search_records, search_map_events

Maps & events

list_maps, get_map, create_map, update_map, get_event, update_event, create_event, delete_event, add_event_command, add_dialogue, event_command_reference

Plugins

list_plugins, configure_plugin, add_plugin, remove_plugin, create_plugin, read_plugin, write_plugin

Playtest

playtest_start, playtest_status, playtest_log, playtest_stop

Safety

list_backups, restore_backup, validate_project

Every tool description is written for AI consumption: parameter semantics, RPG Maker quirks (target scopes, command codes, 1-indexed arrays), and pointers to related tools are all in the schema, so assistants can use the server without external documentation.

Backups

The first time a session modifies any file, the original is copied to <project>/.mcp-backups/<session-timestamp>/ preserving its relative path. Up to 10 sessions are kept. list_backups shows what's available; restore_backup restores one file or a whole session — and backs up the current state first, so restores are undoable.

Add .mcp-backups/ to your game project's .gitignore if the game is under version control.

Important notes

  • Close the RPG Maker MV editor (or don't save from it) while the server edits files. The editor keeps the whole database in memory and overwrites the JSON files on save, discarding external changes. Reopen the project in the editor to see edits made here.

  • Database arrays in MV are 1-indexed with null at index 0; the tools handle this automatically, and ids always match array positions.

  • MZ projects (.rmmzproject) are accepted too — the data format is nearly identical — but only MV is regularly tested.

  • Tile data editing is intentionally unsupported (create_map makes blank maps; update_map refuses to touch data). Paint tiles in the editor.

  • NW.js playtest auto-detects Steam and KADOKAWA install paths, the project's own Game.exe, and the RPGMAKER_MV_NWJS environment variable, in that order.

  • In browser playtest mode, console output stays in the browser devtools — use NW.js mode when you need playtest_log.

Building from source

For contributors or if you prefer to build locally:

git clone https://github.com/Xerolo44/RPG-Maker-MV-MCP.git
cd RPG-Maker-MV-MCP
npm install
npm run build

Then use the local build with Claude Code:

claude mcp add rpgmaker-mv -- node "$(pwd)/dist/index.js" --project "/path/to/YourGame"

Development

npm run build   # compile TypeScript to dist/
npm run smoke   # end-to-end test: real stdio client against a generated MV project

See CONTRIBUTING.md for project layout and guidelines, CHANGELOG.md for release history, and SECURITY.md for the tool's trust model (it has full file-system access — read this before exposing --http mode beyond your own machine).

License

MIT

Available Tools

28 tools
add_event_commandAdd event commandsB

Insert commands into an event page's command list without resending the whole event. Commands are inserted before the page's terminating {code: 0} entry (or at index if given). Multi-line constructs work naturally, e.g. Show Text is one code-101 command followed by code-401 commands. See event_command_reference for codes.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNoPosition in the list to insert at; defaults to the end (before the terminator)
mapIdYes
eventIdYes
commandsYesCommands to insert, in order
pageIndexNoWhich event page (0-based)

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It explains the insertion position (before terminator or at index) and handles multi-line constructs. However, it omits details on error handling, side effects, idempotency, or whether the operation is reversible.

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 concise (3 sentences) and front-loaded with the core purpose. It could be slightly more structured, but every sentence adds value without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters and insertion logic, but the description lacks information about return values, error cases, or constraints. Without an output schema, the description should at least hint at what the operation returns or what happens on failure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, missing descriptions for mapId and eventId. The description adds meaning for 'commands' (multi-line constructs) and 'index' (position), but does not compensate for the missing parameter descriptions or clarify the role of required parameters.

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 clearly states it inserts commands into an event page's command list, specifying the action 'insert' and the resource. It mentions avoiding resending the whole event, which hints at its targeted nature, but does not explicitly distinguish from sibling tools like update_event.

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?

The description provides some context by noting 'without resending the whole event', implying use when only adding commands. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., update_event), and does not mention prerequisites or conditions.

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

configure_pluginConfigure pluginA

Enable/disable a registered plugin and/or merge new values into its parameters (parameter values are always strings in RPG Maker MV).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlugin name as it appears in list_plugins
statusNotrue = enabled, false = disabled
parametersNoParameter values to merge into the plugin's parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions merging parameters and the string nature of values, but does not clarify if existing parameters are replaced or merged, what responses look like, or any side effects (e.g., does it affect existing plugin functionality? Is the change persistent?). Core action is clear but lacks depth.

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

Conciseness5/5

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

Single sentence, no redundancy, front-loaded with actions and key constraints. Every word earns its place.

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?

Given no output schema and a moderate number of parameters including nested objects, the description covers the basic functionality but omits usage context, error conditions, and return value behavior. It is adequate but not fully 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 descriptions already cover parameters adequately. The description adds value by explaining that parameter values are always strings (reinforcing the schema) and that the parameters object uses merge semantics. This clarifies behavior beyond the schema.

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?

Description clearly states the tool enables/disables a plugin and merges parameter values. It uses specific verbs ('configure', 'enable', 'disable', 'merge') and identifies the resource ('registered plugin'). This distinguishes it from sibling tools like create_plugin or read_plugin.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Siblings like create_plugin, write_plugin, list_plugins exist, but the description does not provide conditions or exclusions to help an agent choose correctly.

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

create_damage_skillCreate damage skillA

Create a complete damaging skill in one call. The formula uses MV damage syntax where a is the user and b the target, e.g. 'a.mat * 4 - b.mdf * 2' or 'a.atk * 2 - b.def'. Returns the new skill id.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
noteNo
scopeNoTarget scope: 1 one enemy, 2 all enemies, 3-6 random enemies (1-4), 7 one ally, 8 all allies, 9 one dead ally, 10 all dead allies, 11 the user
mpCostNo
tpCostNo
tpGainNoTP the user gains on use
formulaYesDamage formula, e.g. 'a.mat * 4 - b.mdf * 2'
hitTypeNoHit type (affects evasion/reflection rules)magical
stypeIdNoSkill type id (1 = Magic by default)
criticalNoCan critically hit
occasionNoWhen usable: 0 always, 1 battle only, 2 menu only, 3 never
varianceNoDamage variance %
elementIdNoElement id from System types (0 = none, -1 = normal attack element)
iconIndexNoIcon sheet index
damageTypeNoWhat the damage hits (drain variants absorb into the user)hp
animationIdNoAnimation id from the Animations database (0 = none, -1 = normal attack)
descriptionNoTwo-line description shown in menus

TDQS

A3.7/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 discloses that the tool creates a skill and returns the new skill id, but does not mention validation, error handling, required permissions, or side effects (e.g., is the skill immediately available?). Adequate but not comprehensive.

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

Conciseness5/5

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

Two sentences packed with essential information: creation scope, formula syntax, and return value. No unnecessary words. Front-loaded with the key action.

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?

Given 17 parameters and no output schema, the description covers creation and formula but omits details on error conditions, default values beyond schema, and exact return format (just 'new skill id'). Adequate for experienced users but incomplete for novices.

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 description adds meaningful explanation for the formula parameter: 'The formula uses MV damage syntax where `a` is the user and `b` the target,' with examples. For other parameters (76% schema coverage), the description does not add much beyond schema descriptions, but the formula guidance is valuable.

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 'Create a complete damaging skill in one call,' specifying the verb (create), resource (damaging skill), and scope (in one call). It distinctively focuses on damage, differentiating from sibling tools like create_healing_skill and create_state_skill.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives like create_healing_skill or create_state_skill. The only contextual hint is the tool name and mention of 'damage,' but no when-not-to-use or alternative recommendations.

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

create_eventCreate map eventA

Add a new event to a map at (x, y). If no pages are given, a single empty page (action-button trigger, no commands) is created. Returns the new event id.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
nameYes
noteNo
mapIdYes
pagesNoOptional event pages; defaults to one empty page

TDQS

A4.2/5.0
Behavior4/5

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

Without annotations, the description discloses key behaviors: the return of the new event id and the default empty page creation. This is adequate for a creation tool, though more detail on persistence or side effects could improve it.

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

Conciseness5/5

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

The description is extremely concise with two sentences, immediately stating the core action and the critical default behavior. No unnecessary information.

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?

Given no output schema and low schema coverage, the description covers the essential aspects: function, default page behavior, and return value. It is fairly complete for a simple creation tool, though it could elaborate on other parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (17%), but the description adds meaningful context for the 'pages' parameter by explaining default behavior. Other parameters like x, y, name, note, and mapId remain unexplained, leaving gaps.

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 verb 'Add' and the resource 'event to a map at (x, y)', making the tool's purpose unambiguous. It also naturally distinguishes from siblings like 'update_event' and 'add_event_command'.

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 explicit guidance on the page parameter behavior, helping the agent understand default behavior. However, it does not explicitly contrast with alternatives or state when not to use this tool.

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

create_healing_skillCreate healing skillB

Create a complete healing skill in one call. The formula uses MV damage syntax (a = user), e.g. 'a.mat * 2 + 200'. Heals HP or MP; optionally also removes states (e.g. a cure spell).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
noteNo
scopeNoTarget scope: 1 one enemy, 2 all enemies, 3-6 random enemies (1-4), 7 one ally, 8 all allies, 9 one dead ally, 10 all dead allies, 11 the user (default: one ally)
mpCostNo
tpCostNo
formulaYesRecovery formula, e.g. 'a.mat * 2 + 200'
stypeIdNoSkill type id (1 = Magic by default)
occasionNoWhen usable: 0 always, 1 battle only, 2 menu only, 3 never
varianceNo
iconIndexNoIcon sheet index
animationIdNoAnimation id from the Animations database (0 = none, -1 = normal attack)
descriptionNoTwo-line description shown in menus
recoverTypeNohp
removeStatesNoState ids to remove from the target (100% chance), e.g. poison

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It discloses formula syntax and functionality but lacks details on side effects, validation, or error behavior.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and minimal description for a tool with 14 parameters. Missing explanation of return value, error cases, and parameter interactions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning for formula, recoverType, removeStates beyond schema. However, with 57% schema coverage and 14 parameters, many parameters (scope, costs, etc.) are not explained in description beyond schema defaults.

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?

Description clearly states it creates a complete healing skill with MV damage syntax, healing HP/MP, and removing states. Distinguishes from siblings like create_damage_skill and create_state_skill.

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?

Implied usage for healing skills but no explicit guidance on when to use vs alternatives or exclusions.

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

create_mapCreate mapA

Create a new blank map: writes MapXXX.json with empty tile data and registers it in MapInfos.json. Tiles must still be painted in the editor, but events, properties, and everything else can be edited here. Returns the new map id.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
widthNo
heightNo
parentIdNoParent map id in the editor tree (0 = top level)
tilesetIdNo

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses file writes (MapXXX.json, MapInfos.json) and return value (new map id). It also explains limitations (tiles not paint-ready). Lacks mention of authorization or side effects, but adequate for a creation tool.

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

Conciseness5/5

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

Two concise sentences with front-loaded main purpose. Every sentence adds value; no wasted words.

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?

Given 5 parameters and no output schema, the description explains the creation process and return value (id). It misses details on parameter semantics, but overall covers the key aspects of tool behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% (only parentId has a description). The description does not explain parameter meanings beyond implying name is used for the map file. Defaults and constraints are in the schema but not clarified, leaving ambiguity for an AI agent.

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?

Description clearly states 'Create a new blank map' and explains the concrete actions: writes MapXXX.json and registers in MapInfos.json. It distinguishes from other tools by specifying that tiles must be painted in the editor but events/properties can be edited here.

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?

Provides context on what can be done after creation (editing events/properties) and what cannot (tile painting). However, no explicit alternatives or when-not-to-use guidance is given, though sibling tools like update_map and create_event provide contrast.

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

create_pluginCreate pluginA

Create a new plugin file in js/plugins/ and register it. If no code is given, a standard MV plugin scaffold (with @plugindesc header) is written. Fails if the file already exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoFull JavaScript source; omit for a scaffold
nameYesPlugin file name without .js
statusNo
descriptionNo

TDQS

A3.8/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses creation location, registration, scaffold generation when no code, and failure if file exists. This is largely sufficient for a file creation tool, though return behavior is not mentioned.

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

Conciseness5/5

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

Two sentences, front-loaded with core action and key behaviors. Every sentence adds value with no redundancy.

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?

Given no output schema, the description lacks information about what the function returns (e.g., success status or plugin object). It covers the main behavior but omits return value and potential side effects like state changes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% with parameters 'status' and 'description' lacking descriptions in schema. The description does not add any information about these parameters, failing to compensate for the gap. It reiterates the scaffold behavior for 'code' already stated in schema.

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 verb 'Create', the resource 'plugin file' with location 'js/plugins/', and the action 'register it'. It also distinguishes from siblings by noting 'Fails if the file already exists', implying this is for new files only.

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?

The description implies usage for creating new plugins but does not explicitly state when to use alternatives like write_plugin or configure_plugin. The failure condition on existing files gives some guidance, but no when-not or alternative references.

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

create_recordCreate database recordA

Append a new record to a database. The new record's fields are copied from data; missing fields should be filled in to match the shape of existing records (fetch one with get_record as a template first). Returns the new id.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesThe record fields (id is assigned automatically)
typeYesWhich database to access (e.g. actors, items, skills, troops, commonEvents)

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that fields are copied from 'data', id is auto-assigned, and returns the new id. It also suggests using get_record as a template, adding useful behavioral context.

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

Conciseness5/5

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

Two sentences, no waste. The purpose and usage pattern are front-loaded. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (2 params, no output schema), the description covers purpose, parameter behavior, return value (new id), and a recommended usage pattern. It is complete and self-contained.

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%, baseline 3. The description adds meaning beyond the schema: it explains that 'data' fields are copied, id is automatic, and 'type' specifies which database. This provides actionable guidance.

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 action ('Append a new record to a database') and the resource, distinguishing it from siblings like update_record or list_records.

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 advises using get_record as a template, providing clear context, but does not explicitly state when not to use the tool or list alternatives beyond the implicit sibling differentiation.

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

create_state_skillCreate state skillB

Create a skill that adds or removes states (poison, sleep, etc.) on the target, each with its own success chance. State ids come from the States database (list_records type=states).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
noteNo
scopeNoTarget scope: 1 one enemy, 2 all enemies, 3-6 random enemies (1-4), 7 one ally, 8 all allies, 9 one dead ally, 10 all dead allies, 11 the user (default: one enemy for add, one ally for remove)
actionNoadd
mpCostNo
statesYesStates to add/remove
tpCostNo
stypeIdNoSkill type id (1 = Magic by default)
occasionNoWhen usable: 0 always, 1 battle only, 2 menu only, 3 never
iconIndexNoIcon sheet index
animationIdNoAnimation id from the Animations database (0 = none, -1 = normal attack)
descriptionNoTwo-line description shown in menus

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description only states the basic action without disclosing side effects, permissions, or other behavioral traits.

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

Conciseness5/5

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

Two sentences, front-loaded with core purpose, no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 12 parameters and no output schema or annotations, the description is too brief to cover tool complexity; key parameters like scope, occasion, icon are left unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage at 58% is moderate; description adds context about state IDs from the States database, but otherwise does not significantly enhance understanding beyond schema.

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?

Description clearly states the tool creates a skill that adds/removes states with success chances, distinguishing it from damage/healing skill tools.

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?

Implies use when you need state effects, but no explicit when-to-use or when-not vs alternatives like create_damage_skill.

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

get_project_infoGet project infoA

Summary of the current project: game title, database record counts, map count, and plugin count.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It describes the output but does not explicitly state read-only behavior or lack of side effects. Adequate but could be more transparent.

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

Conciseness5/5

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

Single sentence that is front-loaded and efficient, no superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return value adequately. For a simple parameterless tool, this is 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?

No parameters, schema coverage 100%. Description adds value by listing the specific fields in the summary, which is helpful beyond the empty schema.

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?

Clearly states it provides a summary of the current project with specific enumerations: game title, database record counts, map count, and plugin count. Well distinguishes from sibling tools like get_system or list_*.

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?

Implies usage for obtaining a high-level project overview, but lacks explicit guidance on when to use or not use this tool versus alternatives.

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

get_systemGet System.jsonA

Read System.json (game title, starting party/position, terms, sounds, switches, variables, etc.). Optionally return only one top-level key.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoOptional top-level key to return (e.g. 'switches', 'variables', 'terms')

TDQS

A4/5.0
Behavior4/5

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

The description 'Read' clearly indicates a non-destructive, read-only operation. It also discloses the optional key filtering behavior. However, no annotations are provided, so the description carries the full burden; it could mention safety or lack of side effects explicitly.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the core functionality. Every word serves a purpose, with no redundancy or filler.

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?

Given the simplicity (one optional param, no output schema), the description covers the main behavior and optional filter. It does not describe the return format, but the tool's purpose is clear. For a read-only tool, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the parameter with description 'Optional top-level key to return (e.g. 'switches', 'variables', 'terms')'. The description repeats this, adding no new semantic detail. Baseline 3 is appropriate for high schema coverage.

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 reads System.json and lists its contents (game title, terms, etc.). It also mentions the optional key parameter that allows returning only one top-level key, distinguishing it from other tools like get_project_info.

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?

The description implies usage for reading system configuration, but does not explicitly state when to use this tool versus alternatives or exclude specific scenarios. No guidance on prerequisites or when not to use it.

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

list_backupsList backupsA

List automatic backup sessions in /.mcp-backups. A file is snapshotted there the first time each server session modifies it, so every session can be rolled back with restore_backup.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It explains that backups are created automatically on first file modification per session and where they are stored, providing behavioral context beyond a simple list operation.

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

Conciseness5/5

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

Two sentences, no wasted words, front-loaded with the core purpose. Each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description is complete. It explains what is listed, where, and why (for rollback). No gaps.

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?

Input schema has 0 parameters, so baseline is 4. Description adds meaning by explaining the purpose and context of the backups, though no parameter details are needed.

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 it lists automatic backup sessions in a specific directory (.mcp-backups). The verb 'list' and resource 'backup sessions' are specific, distinguishing it from siblings like restore_backup.

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?

The description implies usage context (to see backups before restoring) but does not explicitly state when to use or not use this tool, nor does it mention alternatives beyond restore_backup.

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

list_mapsList mapsA

List all maps from MapInfos.json as {id, name, parentId, order}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool reads from MapInfos.json and returns specific fields, but does not mention performance, pagination, or any potential side effects. Basic transparency is present.

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

Conciseness5/5

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

The description is a single sentence that conveys all necessary information efficiently with no wasted words.

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?

Given no parameters and no output schema, the description adequately specifies what the tool returns. However, it could mention if the list is exhaustive or any ordering, but it is largely complete for its simplicity.

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?

There are zero parameters, so schema coverage is 100% trivial. The description does not need to add parameter information. Baseline score of 4 applies.

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 action (list all maps), the data source (MapInfos.json), and the output format (id, name, parentId, order), which distinguishes it from sibling tools like create_map or update_map.

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?

The description implies use when needing a list of maps, but provides no explicit guidance on when to use this tool versus alternatives or any prerequisites. It is adequate for a simple list operation but lacks explicit context.

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

list_pluginsList pluginsA

List all plugins registered in js/plugins.js with status and parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states what the tool does but does not disclose whether it is read-only, requires authentication, or has any side effects. The description lacks context on permissions or safety.

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

Conciseness5/5

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

The description is a single sentence of 12 words, clearly front-loaded with the action 'List all plugins'. Every word serves a purpose, and there is no redundancy.

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 tool with no parameters and no output schema, the description adequately explains what it does and what it returns (status and parameters). It could mention ordering or whether the list is comprehensive, but it is largely complete for a simple list tool.

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 input schema has zero parameters, so schema description coverage is 100%. The description does not need to add parameter information because none exist. It appropriately focuses on the tool's function.

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 verb 'list' and the resource 'plugins', specifying the source 'js/plugins.js' and the returned information ('status and parameters'). It distinguishes the tool from siblings like 'read_plugin' and 'create_plugin' by indicating it lists all plugins rather than a single one.

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?

The description implies use when a complete list of plugins is needed, but it does not explicitly state when to use this tool versus alternatives like 'read_plugin' or 'configure_plugin'. No exclusions or conditions are provided.

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

list_recordsList database recordsA

List all records of a database type as {id, name} summaries. Use get_record for full data.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesWhich database to access (e.g. actors, items, skills, troops, commonEvents)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the output format as '{id, name} summaries', which is sufficient for a simple list operation. It does not mention pagination or limits, but for this tool such details may be implicit.

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

Conciseness5/5

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

The description is two sentences with no wasted words. It front-loads the action ('List all records') and provides relevant guidance in the second sentence.

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 simple tool with one enum parameter and no output schema, the description adequately covers the purpose, output format, and alternative. It could mention that the result is a list/array, but overall it is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single required parameter, so baseline is 3. The description does not add parameter-level details beyond what the schema already provides, so it meets but does not exceed the baseline.

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 uses a specific verb 'List' and clearly states the resource 'database type', and explicitly distinguishes from the sibling tool 'get_record' by noting that this returns '{id, name} summaries' while that returns full data.

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 clearly states the tool lists all records of a type as summaries and recommends 'Use get_record for full data', providing guidance on when to use an alternative. However, it does not explicitly mention when not to use this tool.

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

playtest_logPlaytest logC

Recent stdout/stderr lines from an NW.js playtest process.

ParametersJSON Schema
NameRequiredDescriptionDefault
tailNoNumber of lines from the end

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full burden. It only states it returns stdout/stderr lines, but omits key behavioral details: whether it's read-only, the buffer/recentcy model, or if it affects state. The term 'Recent' is ambiguous.

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 a single sentence, highly concise. It conveys the essential purpose without extraneous words. However, it could be slightly expanded for completeness without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool and lack of output schema, the description is too minimal. It does not explain return format, line limits beyond schema, or how 'Recent' is defined. The agent lacks context to fully understand usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with a clear description of the 'tail' parameter. The tool description adds no extra meaning beyond what the schema provides, so baseline score 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 clearly states the verb (recent lines) and resource (stdout/stderr from NW.js playtest process). It is specific enough to distinguish from sibling tools like playtest_status, but could be more precise (e.g., 'Retrieve recent log lines').

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., playtest_status for status, other tools for different purposes). The description does not mention prerequisites or context for usage.

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

playtest_statusPlaytest statusA

Whether a playtest is running, in which mode, and its URL/PID.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations; description implies read-only query but doesn't explicitly state non-destructiveness or authorization needs. Adequate for a simple status check.

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

Conciseness5/5

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

Single sentence, front-loaded, zero waste. Every word earns its place.

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?

Lacks output format details (e.g., how URL/PID are returned). Adequate for a simple tool but could be more 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?

No parameters in schema; description needn't add param info. Baseline 4 for 0-parameter tools.

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?

Clear verb+resource: checks whether playtest is running, mode, URL/PID. Distinguishes from siblings like playtest_log by focusing on status rather than logging.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., playtest_log for logging events). No context for when it's appropriate.

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

read_pluginRead plugin sourceA

Read the JavaScript source of js/plugins/.js.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

A3.6/5.0
Behavior2/5

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

Without annotations, the description must disclose behavioral traits. It only states the basic action (read source) but does not mention error handling (e.g., what if plugin does not exist), security implications, or any potential side effects. Minimal behavioral context is provided.

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

Conciseness5/5

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

The description is a single sentence that directly states the tool's purpose with no extraneous information. It is front-loaded and efficiently uses words.

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?

Given the tool's simplicity, the description covers the primary purpose. However, it lacks details about the output format (e.g., returns raw JS string) and error behavior (e.g., file not found). With no output schema, slightly more completeness would be ideal, but it is mostly adequate for a single-parameter read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no description for the 'name' parameter (0% coverage). The description adds context by specifying the file pattern 'js/plugins/<name>.js', indicating that the name is likely the filename without extension. However, it does not clarify expected format (e.g., with or without .js) or case sensitivity, so some meaning is added but not fully complete.

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 identifies the verb ('Read') and resource ('JavaScript source of js/plugins/<name>.js'), and it distinguishes from sibling tools: list_plugins (listing), write_plugin (writing), remove_plugin (deleting), configure_plugin (configuring).

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?

The description implies usage for reading plugin source code, but provides no explicit guidance on when to use this tool vs alternatives (e.g., when to use list_plugins instead) or when not to use it. Usage is implied, not stated.

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

remove_pluginUnregister pluginB

Remove a plugin from js/plugins.js. The plugin's .js file is NOT deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

B3.4/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 correctly discloses that the .js file is not deleted, which is a key behavioral trait. However, it does not mention error conditions, required permissions, or reversibility of the action.

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

Conciseness5/5

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

The description is only two sentences, front-loaded with the action, and contains no extraneous information. Every word adds value.

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?

For a simple tool with one parameter and no output schema, the description captures the essential action and a critical limitation. However, it omits details about parameter format, error handling, and use cases, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'name' has no description in the schema (0% coverage) and the tool description does not explain what the name should be (e.g., with or without extension, path). The meaning is only implied, leaving ambiguity.

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 verb 'Remove' and the resource 'plugin from js/plugins.js'. It distinguishes from siblings like create_plugin, read_plugin, and list_plugins by specifying the exact file affected and the fact that the .js file is not deleted.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention when to use remove_plugin vs write_plugin or configure_plugin, and there is no context about prerequisites or consequences.

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

restore_backupRestore backupA

Restore project files from a backup session (see list_backups). Restores one file (project-relative path like 'data/Actors.json') or, with no file given, every file in the session. The current state is itself backed up first, so a restore can be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoProject-relative file to restore; omit to restore all files in the session
sessionNoBackup session name from list_backups; defaults to the most recent

TDQS

A4.5/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden. It discloses that a backup of the current state is created before restoring, enabling undo. It also explains the behavior when no file is provided (restores all files). No contradictions.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action, no redundant words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description fully explains the restore behavior, the undo mechanism, and the parameter semantics. It references related tool (list_backups) for session discovery, making it self-contained.

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% with descriptions for both parameters. The description adds context: 'file' is project-relative, and omitting it restores all; 'session' defaults to most recent. This goes beyond the schema's basic descriptions.

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 uses specific verbs ('restore project files') and resource ('backup session'), clearly distinguishing it from sibling tools that deal with events, plugins, maps, etc. It also differentiates between restoring a single file versus all files.

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 indicates when to use the tool (to restore from a backup) and references list_backups for finding sessions. It mentions that the current state is backed up first, implying undoability, but does not explicitly state when not to use or provide alternatives beyond the reference.

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

search_recordsSearch database recordsA

Case-insensitive substring search across database records (name, nickname, description, note, profile, messages). Searches one type, or all types when type is omitted. Returns {type, id, name, matchedIn} summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoDatabase to search; omit to search all databases
limitNo
queryYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full weight. It discloses case-insensitive substring search across specific fields, non-destructive read behavior, and return format {type, id, name, matchedIn}. No contradictions.

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

Conciseness5/5

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

Two concise sentences, front-loaded with key details (case-insensitive, fields, type omission, return format). No wasted words.

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?

No output schema, but description specifies return format. Covers multi-type search and substring matching. Could add edge cases like empty results or pagination, but adequate for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only type documented). The description adds meaning to query (substring search) and type (omit to search all), but does not mention the limit parameter, leaving it less clear. Compensates partially.

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 specifies it performs a case-insensitive substring search across database records, listing the fields searched. It distinguishes from sibling tools like list_records (listing without search) and create_record (mutation).

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?

Implies usage for searching records with substring matching, and notes that omitting type searches all types. Lacks explicit 'when not to use' or alternatives, but sufficient for context.

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

set_projectSet projectA

Select the RPG Maker MV project folder to work on (the folder containing Game.rpgproject and data/). Must be called before other tools unless the server was started with --project.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to the RPG Maker MV project folder

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries full transparency burden. It explains the required folder contents and the ordering constraint. It does not mention side effects like loading or state changes, but for a selection tool this is sufficient. Minor improvement could note whether it validates the folder.

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

Conciseness5/5

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

Two sentences, no unnecessary words. The first sentence defines the action and the resource, the second provides essential usage guidance. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single required parameter and no output schema, the description fully covers what the tool does, what it expects, and when to use it. It is complete for a setup/configuration tool.

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% with a clear param description. The description adds value by specifying that the path must be absolute and that the folder must contain Game.rpgproject and data/ directory, providing practical usage context beyond the schema.

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 purpose: selecting the RPG Maker MV project folder. It specifies the required files (Game.rpgproject and data/) and the action ('Select the folder'). This distinguishes it from all sibling tools, which are for editing or querying specific project elements.

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?

The description explicitly states when to use this tool: 'Must be called before other tools unless the server was started with --project.' This provides clear context and an alternative condition, offering excellent guidance for correct invocation sequencing.

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

set_variable_nameName a variableA

Set the editor name of a game variable in System.json (e.g. variable 3 = 'Quest Progress'). The variables array grows if the id is beyond its current size.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVariable id (1-based)
nameYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only discloses that the variables array grows if the id is beyond current size, but does not mention side effects, persistence behavior, permission requirements, or error conditions (e.g., invalid names). For a mutation tool, this is insufficient.

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

Conciseness5/5

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

Two sentences with an example—no wasted words. Critical information is front-loaded. Ideal conciseness.

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?

Given no output schema, the description does not explain return values or confirmation of success. It also omits error handling, prerequisites (e.g., project loaded), and relationship to other tools (e.g., get_system to verify). Adequate for a simple tool but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: the 'id' parameter is described (1-based), but 'name' lacks description. The description adds an example suggesting 'name' is a string, but does not specify format, length limits, or allowed characters. Overall, minimal added value beyond the schema.

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 action: 'Set the editor name of a game variable in System.json' and provides a concrete example ('e.g. variable 3 = 'Quest Progress''). This uniquely identifies the tool's purpose among siblings, as no other sibling focuses on variable naming.

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?

The description implies usage via the example and notes array auto-growth for new IDs, but it does not explicitly state when to use this tool versus alternatives (e.g., reading variables or setting other system properties). No usage exclusions or comparisons are provided.

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

update_eventUpdate map eventB

Replace an event on a map with the given event JSON (same shape as returned by get_event). The event's id and its array position stay in sync automatically. See event_command_reference for command codes.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventYesComplete event object (name, x, y, note, pages)
mapIdYes
eventIdYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations are absent, so the description must fully convey behavior. It describes replacement and automatic id/array sync, which is useful, but omits details on destructuring, error conditions, or permissions.

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

Conciseness5/5

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

Two sentences with a reference, no filler. The main action is front-loaded, and the description is efficient.

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?

Given three required parameters (one nested object) and no output schema, the description covers replacement behavior, shape reference, and command codes. Missing return value details, but sufficient for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (event has a generic description). The description adds context by mentioning the event shape matches get_event and references command codes. mapId and eventId lack additional clarification.

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 clearly states the tool replaces an event on a map using a JSON object, and references get_event for shape. The tool name 'update_event' and verb 'replace' differentiate from create_event, but no explicit sibling comparison is given.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like create_event or add_event_command. The description does not state prerequisites or exclusions.

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

update_mapUpdate map propertiesA

Shallow-merge fields into a map's JSON (e.g. displayName, note, bgm, encounterList). Refuses to touch 'data' or 'events' — use dedicated event tools; tile editing is not supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesMap property fields to set
mapIdYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the shallow-merge behavior, refusal to modify certain fields, and tile editing unsupported. It does not mention permissions, idempotency, or if it returns updated map data, but the key behavioral traits are covered.

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

Conciseness5/5

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

Two sentences: first states action and examples, second states limitations. No filler, front-loaded with the verb and resource, highly efficient.

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?

Given no annotations, no output schema, and 2 params, the description adequately covers purpose, acceptable fields, and exclusions. It does not explain return values or error states, but for a simple update tool this is sufficient.

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 has 2 params: mapId (integer) and data (object with additionalProperties). Description adds that data includes fields like displayName, note, bgm, encounterList, and that it refuses to set 'data' or 'events', which adds meaning beyond the schema's generic description of 'Map property fields to set'. Schema description coverage is 50%, but description compensates.

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?

Description clearly states it performs a shallow merge into a map's JSON, lists specific fields (displayName, note, bgm, encounterList), and explicitly distinguishes what it does not touch (data, events) and unsupported tile editing. This differentiates it from sibling tools like update_event and create_map.

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?

Provides clear when-not-to-use guidance: refuses to touch 'data' or 'events' (use dedicated event tools) and tile editing not supported. However, it does not explicitly state when to use this tool over alternatives like create_map or list_maps, though the context implies it for updating existing map properties.

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

update_recordUpdate database recordA

Update a database record. By default the given fields are shallow-merged into the existing record; set merge=false to replace it entirely. The record's id always stays fixed to match its array position.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRecord id (1-based)
dataYesFields to set (or the complete record when merge=false)
typeYesWhich database to access (e.g. actors, items, skills, troops, commonEvents)
mergeNoMerge into existing record (true) or replace (false)

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses key behaviors: shallow-merge by default, replace option, and that the id always stays fixed. This is strong transparency for a CRUD tool, though it could mention error states or authorization needs.

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

Conciseness5/5

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

The description is two sentences, zero filler. The first sentence states the core purpose, and the second adds critical behavior details. Every word earns its place.

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?

Given no output schema and moderate complexity (4 params, one with enum), the description covers merge behavior and id fixity well. It could briefly mention what happens on success or failure, but overall sufficient for correct tool usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 100%, so the schema already documents parameters well. The description adds value by explaining the effect of merge and the id fixity, but these are already implied by the schema. Baseline 3 is appropriate.

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 tool name 'update_record' and description clearly state it updates a database record, with specific verbs 'update' and semantic distinction from siblings like 'create_record' and 'search_records'. The description adds the merge behavior, further clarifying purpose.

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 explains when to use merge=true vs false ('shallow-merged' vs 'replace'), providing clear context. However, it does not explicitly state when not to use this tool or compare with alternative tools (e.g., when to use update vs create), which would make it a 5.

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

validate_projectValidate projectA

Integrity check of the whole project: parses every database file, verifies MapInfos entries have map files (and finds orphaned map files), checks registered plugins have source files, and scans event commands for references to missing common events or transfer destinations. Returns errors (broken) and warnings (suspicious).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses all major behavioral traits: parsing every database file, verifying associations, finding orphans, checking plugins, and scanning event commands. It also states that it returns errors and warnings.

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 one sentence that front-loads the main purpose ('Integrity check of the whole project') and lists specific actions. It is concise but somewhat long due to enumeration. Every part adds value.

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?

Given no output schema, the description explains return values ('errors (broken) and warnings (suspicious)'). It covers the scope of the validation without missing critical details. Adequate for a tool with no parameters and no nested objects.

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?

There are zero parameters and schema coverage is 100%. The description does not need to add parameter information. Baseline 4 for no parameters.

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 performs an 'Integrity check of the whole project' and lists specific checks (parses database files, verifies MapInfos entries, finds orphaned map files, checks plugins, scans event commands). This is a specific verb+resource that distinguishes it from sibling tools like 'create_map' or 'update_event'.

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?

The description implies the tool should be used to validate project integrity, but does not explicitly state when to use it versus alternatives or provide exclusions. It lacks guidance on prerequisites or when not to use it.

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

write_pluginWrite plugin sourceB

Overwrite the JavaScript source of an existing js/plugins/.js.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesComplete new file contents
nameYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It indicates a destructive overwrite but does not mention backup behavior, validation, permissions, or side effects. The description is insufficient for a mutation tool.

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?

Single sentence with no fluff, but could be more informative without increasing length significantly. Effective minimalism, but under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations. For a destructive write tool, critical details like error handling, return value, and file existence checks are missing. The description is incomplete for safe agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (only 'code' has description). The description adds context for 'name' by showing its usage in the file path pattern, but for 'code' it only repeats the schema description. Partial compensation.

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 verb 'Overwrite' and the resource 'JavaScript source of an existing js/plugins/<name>.js', specifying the file path pattern, which distinguishes it from sibling tools like create_plugin or read_plugin.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives, no prerequisites or exclusions provided. The description simply states what it does without contextual usage instructions.

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

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, covering events, maps, plugins, skills, records, project info, backups, and playtesting. No overlapping functionality; create_damage_skill, create_healing_skill, and create_state_skill are specialized but clearly different.

Naming Consistency4/5

Almost all tools follow a consistent verb_noun snake_case pattern (e.g., create_event, list_maps). Only playtest_log and playtest_status deviate by starting with a noun instead of a verb, which is a minor inconsistency.

Tool Count2/5

With 28 tools, the count exceeds the recommended range for a well-scoped server. While the domain is broad, many tools (e.g., three separate skill creators) could be consolidated, making the surface feel heavy and potentially confusing.

Completeness2/5

Significant gaps exist: there is no get_record for full record reads, no delete operations for records, maps, or events, and no tile editing support. This leaves critical CRUD operations incomplete, hindering agent workflows.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    Not graded
    maintenance
    Enables complete RPG Maker MZ game development through MCP tools, including autonomous game creation from concepts, AI-generated assets using Gemini 2.5 Flash, and programmatic control over maps, events, characters, and databases. Supports full game creation workflow from a single command with automatic story, asset, and implementation generation.
    32
    25
  • A
    license
    C
    quality
    D
    maintenance
    Enables AI models to develop and automate RPG Maker MZ projects by creating maps, events, and plugins through natural language commands. It provides comprehensive tools for database management, asset integrity checks, and direct map tile manipulation.
    28
    18
    1
    ISC

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/Xerolo44/RPG-Maker-MV-MCP'

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