Skip to main content
Glama
Xerolo44

RPG Maker MV MCP Server

by Xerolo44

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
set_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.

get_project_infoA

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

list_recordsA

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

get_record

Get the full JSON of one database record by id.

update_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.

create_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.

get_systemA

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

set_switch_name

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.

set_variable_nameA

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.

update_system

Shallow-merge the given top-level fields into System.json (e.g. gameTitle, startMapId, startX, startY, switches, variables).

list_mapsA

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

get_map

Read a map's properties (size, tileset, music, encounters, notes) and event summaries. Tile data is omitted unless includeTileData=true (it is large: widthheight6 integers).

update_mapA

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.

get_event

Get the full JSON of one event on a map, including all pages and command lists.

update_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.

create_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.

delete_event

Delete an event from a map. The slot is set to null so other event ids are unaffected (matches editor behavior).

add_event_commandB

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.

add_dialogue

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.

create_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.

event_command_reference

Reference table of RPG Maker MV event command codes and their parameters. Consult this before writing or editing event command lists.

list_pluginsA

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

configure_pluginA

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

add_plugin

Register an existing js/plugins/.js file in the plugin list. Fails if the file does not exist (use create_plugin to make a new one).

remove_pluginB

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

create_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.

read_pluginA

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

write_pluginB

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

playtest_start

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.

playtest_statusA

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

playtest_logC

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

playtest_stop

Stop the running playtest process and/or HTTP server.

create_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.

create_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).

create_buff_skill

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.

create_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).

search_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.

search_map_events

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}.

list_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.

restore_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.

validate_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).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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