io.github.Xerolo44/rpgmaker-mv-mcp
NPM · @XEROLO44/RPGMAKER-MV-MCP · SCANNED AUG 5
MCP server for reading, editing, and playtesting RPG Maker MV projects
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (118 of 122), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (118 of 122), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 17 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 3836 tokens (~93/item across 41 items; 41 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
- Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage85
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 56% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @xerolo44/rpgmaker-mv-mcp
claude mcp add xerolo44-rpgmaker-mv-mcp -- npx -y @xerolo44/rpgmaker-mv-mcp
codex mcp add xerolo44-rpgmaker-mv-mcp -- npx -y @xerolo44/rpgmaker-mv-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"xerolo44-rpgmaker-mv-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@xerolo44/rpgmaker-mv-mcp"
],
"enabled": true
}
}
} openclaw mcp add xerolo44-rpgmaker-mv-mcp --command npx --arg -y --arg @xerolo44/rpgmaker-mv-mcp
mcp_servers:
xerolo44-rpgmaker-mv-mcp:
command: "npx"
args: ["-y", "@xerolo44/rpgmaker-mv-mcp"] {
"mcpServers": {
"xerolo44-rpgmaker-mv-mcp": {
"command": "npx",
"args": [
"-y",
"@xerolo44/rpgmaker-mv-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 +5
- Stability: unverified → 0.30 ▲ functional
- 2 Aug 26 +59
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Licence: MIT functional
- 1 Aug 26 −21
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 27 Jul 26 44
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Aug 2026 · Analysed npm/@xerolo44/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 118 packages
118 packages in the resolved dependency tree · 118 deprecated · 31 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
add_dialogue Add dialogue ~168
Add spoken dialogue to an event page in one call — builds the Show Text (101) and text-line (401) commands automatically, splitting into multiple message boxes every 4 lines. Inserted before the page's end, like add_event_command.
| Name | Type | Req | Description |
|---|---|---|---|
| background | integer | — | 0 window, 1 dim, 2 transparent |
| eventId | integer | yes | — |
| faceIndex | integer | — | — |
| faceName | string | — | Face image file (e.g. 'Actor1'), empty for none |
| lines | array | yes | Dialogue lines (a new message box starts every 4 lines) |
| mapId | integer | yes | — |
| pageIndex | integer | — | — |
| position | integer | — | 0 top, 1 middle, 2 bottom |
No output schema declared.
No examples provided.
add_event_command Add event commands ~147
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.
| Name | Type | Req | Description |
|---|---|---|---|
| commands | array | yes | Commands to insert, in order |
| eventId | integer | yes | — |
| index | integer | — | Position in the list to insert at; defaults to the end (before the terminator) |
| mapId | integer | yes | — |
| pageIndex | integer | — | Which event page (0-based) |
No output schema declared.
No examples provided.
add_plugin Register plugin ~69
Register an existing js/plugins/<name>.js file in the plugin list. Fails if the file does not exist (use create_plugin to make a new one).
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| name | string | yes | — |
| parameters | object | — | — |
| status | boolean | — | — |
No output schema declared.
No examples provided.
configure_plugin Configure plugin ~78
Enable/disable a registered plugin and/or merge new values into its parameters (parameter values are always strings in RPG Maker MV).
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Plugin name as it appears in list_plugins |
| parameters | object | — | Parameter values to merge into the plugin's parameters |
| status | boolean | — | true = enabled, false = disabled |
No output schema declared.
No examples provided.
create_buff_skill Create buff/debuff skill ~290
Create a skill that applies parameter buffs and/or debuffs. Parameter ids: 0 Max HP, 1 Max MP, 2 Attack, 3 Defense, 4 M.Attack, 5 M.Defense, 6 Agility, 7 Luck. If only debuffs are given the scope defaults to one enemy, otherwise one ally.
| Name | Type | Req | Description |
|---|---|---|---|
| animationId | integer | — | Animation id from the Animations database (0 = none, -1 = normal attack) |
| buffs | array | — | Buffs to add to the target |
| debuffs | array | — | Debuffs to add to the target |
| description | string | — | Two-line description shown in menus |
| iconIndex | integer | — | Icon sheet index |
| mpCost | integer | — | — |
| name | string | yes | — |
| note | string | — | — |
| occasion | integer | — | When usable: 0 always, 1 battle only, 2 menu only, 3 never |
| scope | integer | — | Target 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 |
| stypeId | integer | — | Skill type id (1 = Magic by default) |
| tpCost | integer | — | — |
No output schema declared.
No examples provided.
create_damage_skill Create damage skill ~375
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.
| Name | Type | Req | Description |
|---|---|---|---|
| animationId | integer | — | Animation id from the Animations database (0 = none, -1 = normal attack) |
| critical | boolean | — | Can critically hit |
| damageType | string | — | What the damage hits (drain variants absorb into the user) |
| description | string | — | Two-line description shown in menus |
| elementId | integer | — | Element id from System types (0 = none, -1 = normal attack element) |
| formula | string | yes | Damage formula, e.g. 'a.mat * 4 - b.mdf * 2' |
| hitType | string | — | Hit type (affects evasion/reflection rules) |
| iconIndex | integer | — | Icon sheet index |
| mpCost | integer | — | — |
| name | string | yes | — |
| note | string | — | — |
| occasion | integer | — | When usable: 0 always, 1 battle only, 2 menu only, 3 never |
| scope | integer | — | Target 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 |
| stypeId | integer | — | Skill type id (1 = Magic by default) |
| tpCost | integer | — | — |
| tpGain | integer | — | TP the user gains on use |
| variance | integer | — | Damage variance % |
No output schema declared.
No examples provided.
create_event Create map event ~100
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.
| Name | Type | Req | Description |
|---|---|---|---|
| mapId | integer | yes | — |
| name | string | yes | — |
| note | string | — | — |
| pages | array | — | Optional event pages; defaults to one empty page |
| x | integer | yes | — |
| y | integer | yes | — |
No output schema declared.
No examples provided.
create_healing_skill Create healing skill ~309
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).
| Name | Type | Req | Description |
|---|---|---|---|
| animationId | integer | — | Animation id from the Animations database (0 = none, -1 = normal attack) |
| description | string | — | Two-line description shown in menus |
| formula | string | yes | Recovery formula, e.g. 'a.mat * 2 + 200' |
| iconIndex | integer | — | Icon sheet index |
| mpCost | integer | — | — |
| name | string | yes | — |
| note | string | — | — |
| occasion | integer | — | When usable: 0 always, 1 battle only, 2 menu only, 3 never |
| recoverType | string | — | — |
| removeStates | array | — | State ids to remove from the target (100% chance), e.g. poison |
| scope | integer | — | Target 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) |
| stypeId | integer | — | Skill type id (1 = Magic by default) |
| tpCost | integer | — | — |
| variance | integer | — | — |
No output schema declared.
No examples provided.
create_map Create map ~108
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.
| Name | Type | Req | Description |
|---|---|---|---|
| height | integer | — | — |
| name | string | yes | — |
| parentId | integer | — | Parent map id in the editor tree (0 = top level) |
| tilesetId | integer | — | — |
| width | integer | — | — |
No output schema declared.
No examples provided.
create_plugin Create plugin ~94
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.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | — | Full JavaScript source; omit for a scaffold |
| description | string | — | — |
| name | string | yes | Plugin file name without .js |
| status | boolean | — | — |
No output schema declared.
No examples provided.
create_record Create database record ~96
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.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | The record fields (id is assigned automatically) |
| type | string | yes | Which database to access (e.g. actors, items, skills, troops, commonEvents) |
No output schema declared.
No examples provided.
create_state_skill Create state skill ~261
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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | — | — |
| animationId | integer | — | Animation id from the Animations database (0 = none, -1 = normal attack) |
| description | string | — | Two-line description shown in menus |
| iconIndex | integer | — | Icon sheet index |
| mpCost | integer | — | — |
| name | string | yes | — |
| note | string | — | — |
| occasion | integer | — | When usable: 0 always, 1 battle only, 2 menu only, 3 never |
| scope | integer | — | Target 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) |
| states | array | yes | States to add/remove |
| stypeId | integer | — | Skill type id (1 = Magic by default) |
| tpCost | integer | — | — |
No output schema declared.
No examples provided.
delete_event Delete map event ~48
Delete an event from a map. The slot is set to null so other event ids are unaffected (matches editor behavior).
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | integer | yes | — |
| mapId | integer | yes | — |
No output schema declared.
No examples provided.
event_command_reference Event command reference ~32
Reference table of RPG Maker MV event command codes and their parameters. Consult this before writing or editing event command lists.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_event Get map event ~42
Get the full JSON of one event on a map, including all pages and command lists.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | integer | yes | — |
| mapId | integer | yes | — |
No output schema declared.
No examples provided.
get_map Get map ~67
Read a map's properties (size, tileset, music, encounters, notes) and event summaries. Tile data is omitted unless includeTileData=true (it is large: width*height*6 integers).
| Name | Type | Req | Description |
|---|---|---|---|
| includeTileData | boolean | — | — |
| mapId | integer | yes | — |
No output schema declared.
No examples provided.
get_project_info Get project info ~29
Summary of the current project: game title, database record counts, map count, and plugin count.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_record Get database record ~56
Get the full JSON of one database record by id.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Record id (1-based) |
| type | string | yes | Which database to access (e.g. actors, items, skills, troops, commonEvents) |
No output schema declared.
No examples provided.
get_system Get System.json ~65
Read System.json (game title, starting party/position, terms, sounds, switches, variables, etc.). Optionally return only one top-level key.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | — | Optional top-level key to return (e.g. 'switches', 'variables', 'terms') |
No output schema declared.
No examples provided.
list_backups List backups ~50
List automatic backup sessions in <project>/.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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_maps List maps ~26
List all maps from MapInfos.json as {id, name, parentId, order}.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_plugins List plugins ~21
List all plugins registered in js/plugins.js with status and parameters.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_records List database records ~55
List all records of a database type as {id, name} summaries. Use get_record for full data.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | yes | Which database to access (e.g. actors, items, skills, troops, commonEvents) |
No output schema declared.
No examples provided.
playtest_log Playtest log ~35
Recent stdout/stderr lines from an NW.js playtest process.
| Name | Type | Req | Description |
|---|---|---|---|
| tail | integer | — | Number of lines from the end |
No output schema declared.
No examples provided.
playtest_start Start playtest ~159
Start a playtest of the current project. mode 'nwjs' launches the game with an NW.js runtime (pass runtimePath, e.g. the Game.exe inside the RPG Maker MV install's nwjs-win folder) and captures its stdout/stderr. mode 'browser' serves the project over a local HTTP server and returns a URL to open. Any previous playtest is stopped first.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | — | — |
| port | integer | — | Port for browser mode |
| runtimePath | string | — | Path to NW.js executable. If omitted in nwjs mode, common install locations (Steam, KADOKAWA, the project's own Game.exe, $RPGMAKER_MV_NWJS) are probed automatically. |
No output schema declared.
No examples provided.
playtest_status Playtest status ~26
Whether a playtest is running, in which mode, and its URL/PID.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
playtest_stop Stop playtest ~20
Stop the running playtest process and/or HTTP server.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
read_plugin Read plugin source ~28
Read the JavaScript source of js/plugins/<name>.js.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | — |
No output schema declared.
No examples provided.
remove_plugin Unregister plugin ~33
Remove a plugin from js/plugins.js. The plugin's .js file is NOT deleted.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | — |
No output schema declared.
No examples provided.
restore_backup Restore backup ~106
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.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | — | Project-relative file to restore; omit to restore all files in the session |
| session | string | — | Backup session name from list_backups; defaults to the most recent |
No output schema declared.
No examples provided.
search_map_events Search map events ~123
Case-insensitive substring search across events on one map or every map. Matches event names and notes; with searchCommands=true it also searches inside event command parameters (message text, script lines, plugin commands). Returns {mapId, mapName, eventId, name, x, y, matchedIn}.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| mapId | integer | — | Search only this map; omit for all maps |
| query | string | yes | — |
| searchCommands | boolean | — | Also search inside event command lists (slower, finds text/script content) |
No output schema declared.
No examples provided.
search_records Search database records ~84
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| query | string | yes | — |
| type | string | — | Database to search; omit to search all databases |
No output schema declared.
No examples provided.
set_project Set project ~61
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.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Absolute path to the RPG Maker MV project folder |
No output schema declared.
No examples provided.
set_switch_name Name a switch ~64
Set the editor name of a game switch in System.json (e.g. switch 5 = 'Opened Chest'). The switches array grows if the id is beyond its current size.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Switch id (1-based) |
| name | string | yes | — |
No output schema declared.
No examples provided.
set_variable_name Name a variable ~64
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Variable id (1-based) |
| name | string | yes | — |
No output schema declared.
No examples provided.
update_event Update map event ~85
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.
| Name | Type | Req | Description |
|---|---|---|---|
| event | object | yes | Complete event object (name, x, y, note, pages) |
| eventId | integer | yes | — |
| mapId | integer | yes | — |
No output schema declared.
No examples provided.
update_map Update map properties ~76
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.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | Map property fields to set |
| mapId | integer | yes | — |
No output schema declared.
No examples provided.
update_record Update database record ~121
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.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | Fields to set (or the complete record when merge=false) |
| id | integer | yes | Record id (1-based) |
| merge | boolean | — | Merge into existing record (true) or replace (false) |
| type | string | yes | Which database to access (e.g. actors, items, skills, troops, commonEvents) |
No output schema declared.
No examples provided.
update_system Update System.json ~55
Shallow-merge the given top-level fields into System.json (e.g. gameTitle, startMapId, startX, startY, switches, variables).
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | Top-level System.json fields to set |
No output schema declared.
No examples provided.
validate_project Validate project ~68
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).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
write_plugin Write plugin source ~42
Overwrite the JavaScript source of an existing js/plugins/<name>.js.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Complete new file contents |
| name | string | yes | — |
No output schema declared.
No examples provided.