MCP.Market

Rpgmaker Xp MCP server

by SerifeusStudio·io.github.SerifeusStudio/rpgmaker-xp-mcp·v1.1.3·4 stars

Author RPG Maker XP games in natural language: read, write and render RGSS1 .rxdata.

A88/100grade A
What users say
No reviews yet
Be the first
Safety scan
A88/100

full report

Adoption
Growing

4 stars78 downloads/wk

Reviews

Write one

Nobody has reviewed Rpgmaker Xp yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Rpgmaker Xp tools (65, 21 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add_event_command

    Add a single command to an event page (for Show Text prefer add_show_text). Common XP codes: 101=Show Text first line (401=continuation lines), 102=Show Choices [[texts...],cancelType] (each 402 branch repeats its choice text and must stay in sync), 111=Conditional Branch, 121=Control Switches, 122=Control Variables, 123=Control Self Switch [ch,0=on/1=off], 125=Change Gold, 126=Change Items, 201=T

  • add_show_text

    Add a Show Text message to an event page. Handles XP's 101/401 structure automatically: first line of each box is code 101, continuation lines are 401, and text longer than 4 lines is split into multiple message boxes. Use \ for line breaks.

  • apply_autotile

    Paint an autotile (slot 0..6 = tileset autotile_names index) and compute the correct edge variant per cell from 8-neighbour connectivity (seamless coastlines/paths/cliffs). Supply ONE of: `blob` (organic roundish shape — USE for ponds/lakes/forest patches); `path` (autotile-safe road/trail/river through waypoints, width >=2); `cells` (arbitrary [x,y] list); or `region` (rect — only for rectangular

  • classify_asset

    Inspect a PNG before import and report whether it is a native RMXP asset. Goes beyond canvas dimensions: fingerprints the filename ($/! object sprites, MV/MZ A1-A5 autotile sheets, 48px-divisible MV dimensions) AND detects the true CONTENT tile size via edge-periodicity (16/24/32/48/64px). Catches assets that look fine by size but render 1.5x/2x too large in RMXP's 32px grid, and assets that are n

  • create_actorwrite action

    Create a new actor with RMXP defaults (linear stat growth curves unless a parameters Table is provided)

  • create_armorwrite action

    Create a new armor (appended to Armors.rxdata). kind: 0=shield, 1=helmet, 2=body, 3=accessory. Defaults match the RMXP editor; override any field.

  • create_damage_skillwrite action

    Create a damage-dealing skill (simplified). Set physical=true for ATK/PDEF based damage, otherwise INT/MDEF based (magic). Engine formula: damage = (power + ATK*atk_f/100 - PDEF*pdef_f/200 - MDEF*mdef_f/200) * (20 + STR*str_f/100 + DEX*dex_f/100 + AGI*agi_f/100 + INT*int_f/100) / 20. Reference: default-DB Fire is power 140, sp 75.

  • create_healing_skillwrite action

    Create a healing skill (simplified). In XP healing is negative power. Amount healed = power * (20 + INT*int_f/100) / 20 with int_f=50 (default-DB convention), so it scales with the caster's INT. Reference: default-DB Heal is power 150, sp 80.

  • create_mapwrite action

    Create a new map. SIZE IS THE FIRST DESIGN DECISION: a map is N screens of 20x15 tiles, so pass a `purpose` (interior/room/town/dungeon/overworld/region) to get a sensible default size, or set width/height explicitly. Returns the new map id and a size_advisory (screens, target focal-point count, scatter density, oversize warnings) plus the design guide. Writes the next-free MapXXX.rxdata (blank Ta

  • create_map_eventwrite action

    Create a new event on a map. If pages are omitted, a default empty page is created.

  • create_scriptwrite action

    Create a new RGSS script. By default it is inserted just above "Main" (the conventional slot for custom scripts).

  • create_skillwrite action

    Create a new skill with full control over RPG::Skill fields. XP has no damage formulas: damage = power scaled by stat influence rates (atk_f/str_f for physical, int_f for magical). Negative power heals.

  • create_state_skillwrite action

    Create a state-inflicting skill (poison, sleep, etc.). State IDs come from States.rxdata (XP defaults: 3=poison, 5=blind, 6=silence, 7=confuse, 8=sleep, 9=paralyze).

  • create_tileset_identification_harnesswrite action

    Create a review bundle for one tileset that separates engine facts from semantic claims. Produces the exact source sheet, isolated transparent tile images, source-row strips, manifest.json (priority, passage flags, alpha bounds), catalog templates, and an interactive index.html for identifying single tiles and rectangular multi-tile objects. Use this before assigning map-design roles to an uncatal

  • create_transfer_eventwrite action

    Wire two maps together: create a Transfer Player (command 201) event at (x,y) on a map that warps the player to (targetX,targetY) on targetMapId. trigger 0 = action button (a door — give it a graphic); trigger 1 = player touch (an edge teleport — leave it invisible). Validates both endpoints exist and are in-bounds before writing. Use validate_connectivity afterwards to check the whole world graph

  • create_weaponwrite action

    Create a new weapon (appended to Weapons.rxdata). Defaults match the RMXP editor; override any field. Equippable in the weapon slot.

  • fill_region

    Fill a rectangle of a layer with one tile id (or the whole layer if `rect` is omitted). Tile id 0 clears. For autotiles this places the base variant (P1) — smart edges come with apply_autotile.

  • get_actor

    Get a specific actor by ID, including its 6x100 parameters table (MaxHP, MaxSP, STR, DEX, AGI, INT per level)

  • get_actors

    Get all actors from the RPG Maker XP project (parameter tables omitted)

  • get_armors

    Get all armors from the project

  • get_database

    List all entries of a database file. Kinds: classes, states, enemies, troops, common_events, tilesets, animations (also actors/skills/items/weapons/armors). Tables and command lists are summarized; use get_database_entry for full data.

  • get_database_entry

    Get one full database entry by ID, including Tables (tileset passages/priorities/terrain_tags, enemy element_ranks, class element_ranks) and event command lists (common events, troop pages)

  • get_game_title

    Get the game title (from Game.ini)

  • get_items

    Get all items from the project

  • get_map

    Get map data by ID (Data/MapXXX.rxdata). Tile data is summarized unless includeTiles is true.

  • get_map_design_guide

    Return the level/map design guide (MAP-DESIGN.md): layer roles (z0 terrain / z1 ground clutter / z2 overhead), tile priority & passability, the multi-tile-object no-overlap rule, composition principles, and the authoring workflow. Load this before authoring or editing maps.

  • get_map_event

    Get a specific event from a map

  • get_map_events

    Get all events from a specific map

  • get_map_infos

    Get information about all maps (names, parent, order)

  • get_map_size_advisory

    Size advisory for an EXISTING map: screens (ceil(w/20)*ceil(h/15)), target focal-point and path-junction counts, recommended scatter density, approx clutter tile budget, and oversize/purpose-mismatch warnings. Use this first when editing a map so size and tile budget guide the design. Optionally pass a purpose to check the size against its sweet spot.

  • get_map_tiles

    Read a map's tile ids as a 2D grid (rows top-to-bottom). Returns one layer if `layer` is given, else all three. Tile id 0 = empty, 48..383 = autotiles, >=384 = regular tiles. Use `region` to crop and avoid large payloads.

  • get_script

    Get an RGSS script's Ruby source code by index

  • get_scripts

    List all RGSS scripts in Scripts.rxdata (index, name, source length)

  • get_skill

    Get a specific skill by ID

  • get_skills

    Get all skills from the project

  • get_switches

    Get all game switch names (index = switch ID)

  • get_system

    Get system data (System.rxdata: party, elements, switches, variables, vocabulary, start position, audio settings)

  • get_tileset_catalog

    Read the structured semantic catalog for a tileset together with its generated engine-fact manifest and validation summary. Absence from the catalog means unreviewed, not safe to infer.

  • get_variables

    Get all game variable names (index = variable ID)

  • get_weapons

    Get all weapons from the project

  • register_tilesetwrite action

    Create a Tilesets.rxdata entry for a graphic already in Graphics/Tilesets, sizing the passability/priority/terrain Tables to the image (384 + height/4). GUARDED: refuses object sprites, MV A-series sheets, non-256px-wide, or non-32px-content assets (pass force:true to override). This is the gate that keeps mis-classified art out of the database.

  • render_map

    Render a map's tile layers to a flat top-down PNG preview (outside the editor) and return the file path. Composites all 3 tile layers using the tileset graphic and autotiles. Use this to SEE a map you built/edited and self-check it. Layout preview only: no priority/overhead draw-order, fog/panorama/weather, autotile animation (frame 0), or event sprites. Reads project Graphics/ then falls back to

  • render_tileset_atlas

    Render a labeled atlas of a tileset to a PNG: the tileset graphic scaled with a grid, each regular tile's id burned in, passability indicators, and the 7 autotile slots. This is a quick numeric reference, not semantic proof; use create_tileset_identification_harness before assigning map-design roles.

  • save_tileset_catalog

    Validate and save reviewed semantic findings for a tileset. Accepts incremental tile/object/autotile arrays or the complete catalog JSON exported by the review page. Generated engine facts cannot be overwritten by catalog claims.

  • scatter_tiles

    Scatter clutter tile ids over a region with natural random distribution at a target density (fraction of cells), skipping occupied cells. Optional focal point with falloff for a density gradient (denser near a landmark). Use for flowers/bushes/rocks/tall grass instead of hand-placing lone tiles — fixes sparse/corner-clustered decoration. Deterministic given seed.

  • search_actors

    Search actors by name

  • search_items

    Search items, weapons and armors by name or description

  • search_map_events

    Search events on a map by name

  • search_scripts

    Search all RGSS script sources with a regex pattern; returns matching lines with script name and line number

  • search_skills

    Search skills by name or description

  • set_map_tiles

    Stamp a 2D block of tile ids into a layer with its top-left at (x, y). `grid` is rows of ids (0 clears a cell). Cells outside the map are skipped. Preview with render_map.

  • set_switch_name

    Set a switch name

  • set_variable_name

    Set a variable name

  • update_actorwrite action

    Update an actor's properties (XP fields: name, class_id, initial_level, final_level, exp_basis, exp_inflation, character_name, character_hue, battler_name, battler_hue, weapon_id, armor1_id..armor4_id, weapon_fix, armor1_fix..armor4_fix, parameters)

  • update_database_entrywrite action

    Update any database entry's properties (e.g. a class's weapon_set, a state's rates, an enemy's stats, tileset passability Tables). Tables must be written as { "_class": "Table", dim, xsize, ysize, zsize, data: [...] }. Tileset passages: value 0=passable, 1/2/4/8 = down/left/right/up blocked, 15=impassable, +64 bush, +128 counter.

  • update_game_titlewrite action

    Update the game title (in Game.ini)

  • update_itemwrite action

    Update an item's properties (XP fields: name, icon_name, description, scope, occasion, price, consumable, recover_hp, recover_sp, parameter_type, parameter_points, element_set, plus_state_set, minus_state_set, ...)

  • update_map_eventwrite action

    Update a map event's properties (name, x, y, pages)

  • update_scriptwrite action

    Replace an RGSS script's source code and/or name

  • update_skillwrite action

    Update a skill's properties

  • update_starting_positionwrite action

    Update the party starting position (map ID and coordinates in System.rxdata)

  • validate_assets

    Scan all data files for referenced graphic/audio filenames (tilesets, autotiles, panoramas, fogs, battlebacks, character/battler/icon graphics, animations, windowskin/title/gameover/transition, BGM/BGS/ME, and map event sprites) and report any with no matching file on disk. Checks the project Graphics/ and Audio/ first, then the RTP (RPGMAKER_RTP_PATH). Catches broken references that are otherwise

  • validate_connectivity

    Build and validate the world transfer graph. Scans every map's events for Transfer Player (201) commands, checks each targets a real map at in-bounds coords, computes reachability from System.start_map_id, and flags orphan maps (no inbound transfer) and unreachable maps. Variable-designated transfers are reported as dynamic (runtime destination, unverifiable). Returns nodes, edges, errors, warning

  • validate_tileset_catalog

    Validate a tileset catalog against its engine manifest. Reports invalid ids, malformed object grids, contradictory layer/priority choices, transparent z0 placement, and unreviewed tiles. strict=true requires every regular tile to have a reviewed entry.

  • verify_tileset

    Render an asset with two overlaid grids — the RMXP 32px grid (red) and the detected content grid (cyan) — and write a preview PNG for multimodal review. If a tile motif fills a 2x2 block of red cells the art is 64px (too big); if red and cyan coincide it is native 32px. Returns the preview path, detected tile size, and an alignment verdict. Read the returned preview_png to confirm visually before

Public scan report

scanner v0.1.10 · 2026-11-04 · same rubric, same numbers if you re-run it

no findings
  • Code scan41 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 49 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 88/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Rpgmaker Xp compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
88/100
higher than 75% of 48,255 servers
Tools
65
the typical server has 7
Tools that change things
32%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
4
more than 82% of 28,688 servers
Downloads a week
78
more than 57% of 12,191 servers with a package

What its tools let an agent do: 37 read · 16 create · 11 change · 1 run or deploy

Install Rpgmaker Xp in Claude Code, Cursor or VS Code

Runs npx -y rpgmaker-xp-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add rpgmaker-xp-mcp -- npx -y rpgmaker-xp-mcp
Add to Cursor

What the publisher says

From the Rpgmaker Xp repository's README, as published. We do not edit it. Read it on GitHub

RPG Maker XP MCP Server

Build RPG Maker XP games by describing what you want.

"Make a healing potion that restores 200 HP and costs 150 gold."

"Create a 40×30 forest map with a pond in the north-east, then show it to me."

"Find every NPC on map 3 whose dialogue mentions the king."

This is an MCP server that reads and writes an RPG Maker XP project's .rxdata files directly — actors, skills, items, maps, events, scripts and system data — and renders map previews to PNG so you can see what was built without opening the editor.

It talks to XP's native Ruby 1.8 Marshal format. Nothing is exported, converted, or kept in a side file: it edits your real project, and the editor opens the result normally.

⚠️ Read this before your first run

1. Close the RPG Maker XP editor while the server is running. The editor holds all data files in memory and rewrites every one of them when you save. If it is open, it will overwrite anything this server changed. This is the single most common way to lose work.

2. Back up your project first. Copy the whole Data/ folder somewhere safe. Do this even though the server takes its own backups, because:

3. The automatic backup is not version history. Before its first write to a file in a session, the server copies the original to Data/.mcp-backup/. That is one .bak per file per session — the next session overwrites it. It protects you from the last thing you did, not from something you broke a week ago. If your project matters, put it in git.

4. Test your game after changes. A file can be structurally valid and still be wrong for your game.

What is MCP?

The Model Context Protocol is a standard way for AI assistants to use external tools. This server is not a chat program and has no interface of its own — it is a backend that an MCP client connects to.

You need one of those clients. Common choices:

local models through Ollama (see below)

  • Claude Code — terminal-based
  • Claude Desktop — desktop app
  • Open WebUI, Cursor, Windsurf, or any other MCP-capable client — including

If you have never used an MCP client, start with Claude Desktop; the Configuration section has a copy-paste config.

Requirements

The RTP (the default tiles, autotiles, character sprites and audio) is read from your own installation at runtime. This project does not bundle or redistribute any Enterbrain assets.

Does it work with Pokémon Essentials?

Structurally, yes — Essentials games are RPG Maker XP projects, and every tool here operates on standard .rxdata. Two honest caveats: Essentials layers its own conventions on top of the engine (its own data files, a very large Scripts.rxdata, PBS text files) which this server knows nothing about, and its projects are big enough that you should be especially sure about backup point 2 above. Reading, map work and database edits behave normally.

Installation

The published package ships prebuilt, so there is no build step. Most clients can launch it on demand with npx.

npm install -g rpgmaker-xp-mcp

From source

git clone https://github.com/SerifeusStudio/rpgmaker-xp-mcp.git
cd rpgmaker-xp-mcp
npm install
npm run build

Then use node with the path to dist/index.js as the command in the configs below.

Configuration

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Rpgmaker Xp: common questions

Is Rpgmaker Xp MCP server safe?
Yes, by our scan: it is graded A (88/100). Read the Rpgmaker Xp safety report
How do I install Rpgmaker Xp?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Rpgmaker Xp need an API key?
No secret keys are declared. It reads 2 settings from the environment.
Is Rpgmaker Xp maintained?
The last commit was 49 days ago (2026-09-16). The latest release is v1.1.3.
How does Rpgmaker Xp compare with other MCP servers?
safety score 88/100 (higher than 75% of 48,255 servers); tools 65 (the typical server has 7); tools that change things 32% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.