A side-by-side look at the Rpgmaker Mv MCP and Rpgmaker Mz MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Rpgmaker Mv MCP for gaming work as a local process; choose Rpgmaker Mz MCP for gaming as a local process. You can also run both side by side in one mcpServers block.
set_project, get_project_info, list_records.RPGMAKER_PROJECT_PATH.get_project, set_project, update_actor.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Gaming | Gaming |
| Quality signal | 59/100 · Good | 67/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | None listed | RPGMAKER_PROJECT_PATH |
| Verified owner | Community listing | Community listing |
| GitHub stars | 4 | 21 |
| Directory activity | 2 views 0 installs 0 upvotes | 5 views 0 installs 0 upvotes |
| Tools | 41 | 128 |
| Full listing | View Rpgmaker Mv MCP | View Rpgmaker Mz MCP |
set_projectSelect 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.get_project_infoSummary of the current project: game title, database record counts, map count, and plugin count.list_recordsList all records of a database type as {id, name} summaries. Use get_record for full data.get_recordGet the full JSON of one database record by id.update_recordUpdate 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.create_recordAppend 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.get_systemRead System.json (game title, starting party/position, terms, sounds, switches, variables, etc.). Optionally return only one top-level key.set_switch_nameSet 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.set_variable_nameSet 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.update_systemShallow-merge the given top-level fields into System.json (e.g. gameTitle, startMapId, startX, startY, switches, variables).list_mapsList all maps from MapInfos.json as {id, name, parentId, order}.get_mapRead 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).get_projectGet the project directory the server is currently operating on: its path, whether it is a valid RPG Maker MZ project, and the game title it holds.set_projectPoint the server at a different RPG Maker MZ project directory for the rest of the session (overrides RPGMAKER_PROJECT_PATH until the server restarts). The directory must contain game.rmmzproject and data/System.json.update_actorUpdate an actor's propertiescreate_actorCreate a new actor in data/Actors.json. Only `name` is required; omitted fields use the editor's new-actor defaults (class 1, level 1-99, five empty equip slots, no traits). Allocates and returns the next unused actor id. NOTE: an actor's physical accuracy comes from its class + own traits — a class/actor with no Hit Rate trait (xparam id 0: trait { code: 22, dataId: 0, value: 0.95 }) always misses physical actions. The built-in class 1 has one; a custom class needs it added.search_actorsSearch actors by name or nicknamecreate_itemCreate a new item in data/Items.json. Only `name` is worth passing; omitted fields use the editor's new-item defaults (Regular Item, consumable, no effects). Allocates and returns the next unused item id. An effect referencing a missing record throws: Add/Remove State (code 21/22) → state, Learn Skill (43) → skill, Common Event (44) → common event.update_itemUpdate an item's properties (shallow merge into the existing record)search_itemsSearch items by name or descriptioncreate_weaponCreate a new weapon in data/Weapons.json. Only `name` is required; omitted fields use the editor's new-weapon defaults (Weapon equip slot, no stat bonuses). `params` is a flat 8-length stat bonus [maxHP, maxMP, atk, def, mat, mdf, agi, luk]. Allocates and returns the next unused weapon id.update_weaponUpdate a weapon's properties (shallow merge into the existing record)create_armorCreate a new armor in data/Armors.json. Only `name` is required; omitted fields use the editor's new-armor defaults (Shield equip slot, no stat bonuses). `params` is a flat 8-length stat bonus; `etypeId` is the equip slot (System.json equipTypes: 2 Shield, 3 Head, 4 Body, 5 Accessory). Allocates and returns the next unused armor id.update_armorUpdate an armor's properties (shallow merge into the existing record)Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"rpgmaker-mv-mcp": {
"command": "npx",
"args": [
"@xerolo44/rpgmaker-mv-mcp"
]
}
}
}
{
"mcpServers": {
"rpgmaker-mz-mcp": {
"command": "npx",
"args": [
"-y",
"rpgmaker-mz-mcp@latest"
],
"env": {
"RPGMAKER_PROJECT_PATH": "YOUR_RPGMAKER_PROJECT_PATH_HERE"
}
}
}
}