Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

RPG Maker MV Ultimate MCP

by DiegoLopez0208version 5.21.0i★ –iRuns on your computer
Registry nameio.github.DiegoLopez0208/rpgmaker-mv-ultimate

Install

Overview

Description from the maker (original English)

RPG Maker MV Ultimate: AI copilot to generate, edit and understand RPG Maker MV projects (MCP)

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: VISION_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: RPGMAKER_PROJECT_PATH, VISION_API_URL, VISION_API_KEY, VISION_MODEL, RPGMV_LEGACY_TOOLS

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "rpgmaker-mv-ultimate": {
      "command": "npx",
      "args": [
        "-y",
        "rpgmaker-mv-mcp"
      ],
      "env": {
        "RPGMAKER_PROJECT_PATH": "your-value",
        "VISION_API_URL": "your-value",
        "VISION_API_KEY": "your-value",
        "VISION_MODEL": "your-value",
        "RPGMV_LEGACY_TOOLS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add rpgmaker-mv-ultimate --env RPGMAKER_PROJECT_PATH=your-value --env VISION_API_URL=your-value --env VISION_API_KEY=your-value --env VISION_MODEL=your-value --env RPGMV_LEGACY_TOOLS=your-value -- npx -y rpgmaker-mv-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "rpgmaker-mv-ultimate": {
      "command": "npx",
      "args": [
        "-y",
        "rpgmaker-mv-mcp"
      ],
      "env": {
        "RPGMAKER_PROJECT_PATH": "your-value",
        "VISION_API_URL": "your-value",
        "VISION_API_KEY": "your-value",
        "VISION_MODEL": "your-value",
        "RPGMV_LEGACY_TOOLS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "rpgmaker-mv-ultimate": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "rpgmaker-mv-mcp"
      ],
      "env": {
        "RPGMAKER_PROJECT_PATH": "your-value",
        "VISION_API_URL": "your-value",
        "VISION_API_KEY": "your-value",
        "VISION_MODEL": "your-value",
        "RPGMV_LEGACY_TOOLS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • RPGMAKER_PROJECT_PATH env
    Absolute path to the RPG Maker MV project to edit (the folder with data/ and js/). The server starts without it; needed for real editing, or call set_project_path at runtime.
  • VISION_API_URL env
    Base URL of an OpenAI-compatible vision endpoint to enable analyze_image mode "ai" (e.g. https://api.openai.com or http://localhost:11434). Unset = vision disabled; every other tool works offline.
  • VISION_API_KEY secret env
    Bearer token for the vision endpoint (only sent when set).
  • VISION_MODEL env
    Vision model name to request (e.g. gpt-4o, llava). Defaults to meta/llama-3.2-90b-vision-instruct.
  • RPGMV_LEGACY_TOOLS env
    Set to 1 to also advertise the 101 legacy v4 tool names (they remain callable regardless of this flag).

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account DiegoLopez0208, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32744 servers in this category
  • Published to the registry more recently than 60% of the other 32744 servers in this category
  • Basic checks equal to or better than 100% of the other 32744 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is RPG Maker MV Ultimate MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: VISION_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (5.21.0) reached the registry 26 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Date Math

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

Date Math

by JowenDelaPena

Exact date/time math for agents: business days, holidays, time zones, cron, RRULE, SLA. x402 paid.

Runs in the cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

🎮 RPG Maker MV Copilot MCP

Find why an MV event never fires — then verify the fix in the real engine

30-second silent workflow: a visual replay of verified MCP calls and a real MV 1.6.1 playtest. Inspect the evidence .

[Quick start](#-quick-start) · [First useful result](docs/first-result.md) · [Map generation](#️-map-generation) · [Live bridge](#-the-live-bridge) · [Intelligence](#-project-intelligence) · [Tools](#tools)


A Model Context Protocol server that lets an AI agent inspect and edit a real RPG Maker MV project on disk through 18 consolidated tools. Find broken references and switch conditions, build events with MV-compatible commands, and run repeatable playtests. Generated data still needs validation in your game's tilesets and plugins.

It does three things that are usually missing:

🏗️ BuildsGenerates maps that look hand-made, wires events from presets, and edits every database with real IDs instead of invented ones.
🧠 UnderstandsReads the whole project and answers *why the door never opens*, *which map nobody can reach*, *which skill breaks the game*.
👀 WatchesRuns the game and reports back: exceptions, player position, screenshots — and reloads a map you just edited without losing the save.

⚡ Quick start

Install Node.js 20.19.0 or newer, and close the MV editor before asking the agent to edit project files. Start with a copy of your project.

For containers and directory hosting, see Docker and Glama build configuration.

Windows x64 MCPB bundle: download v5.21.0 for a compatible MCPB client. See bundle requirements and verification. The npm setup below works across supported operating systems.

Find the project on itch.io and Smithery.

Check the environment before adding the server (PowerShell on Windows):

npx.cmd -y rpgmaker-mv-mcp --doctor "C:/path/to/your/RPGMakerMV/project"

coreReady: true means Node and System data checks pass. headlessReady: true additionally means Playwright and Chromium are available. The check does not start a browser or certify assets/plugins. Bridge warnings do not block offline queries. Missing Chromium: run npx.cmd playwright install chromium-headless-shell, or set RPGMAKER_MCP_CHROMIUM to your Chrome executable.

1 — Add it to your MCP client. No clone needed; the package ships an executable.

Configuration
{

"mcpServers": { "rpgmaker-mv": { "command": "npx", "args": ["-y", "rpgmaker-mv-mcp"], "env": { "RPGMAKER_PROJECT_PATH": "C:/path/to/your/RPGMakerMV/project" } } } }

Claude Code one-liner, and running from source

# Claude Code, user scope

claude mcp add rpgmaker --scope user \ --env RPGMAKER_PROJECT_PATH="C:/path/to/project" \ -- npx -y rpgmaker-mv-mcp

# From source

git clone https://github.com/DiegoLopez0208/RpgMakerMVUltimate-MCP cd RpgMakerMVUltimate-MCP npm install && npm run build RPGMAKER_PROJECT_PATH=/path/to/your/project npm start

MCP clients load tool definitions once at startup, so restart the client after adding or upgrading the server.

2 — Point it at a project. RPGMAKER_PROJECT_PATH is the folder containing data/, js/ and index.html. The server starts without it; call set_project_path at runtime instead if you prefer.

3 — Let the agent look around first.

get_project_context { detail: "full" }        → what exists, with real IDs

analyze_project { view: "overview" } → health, counts, unreachable maps

Works with Claude Desktop, Claude Code, opencode, and any MCP-compatible client.

For Codex CLI, use codex mcp add rpgmaker --env RPGMAKER_PROJECT_PATH=C:/path/to/project -- npx -y rpgmaker-mv-mcp. In Windows clients that cannot launch npx, use the command cmd with arguments ["/c", "npx", "-y", "rpgmaker-mv-mcp"]. Restart the client, then try the three first-result recipes.

🧭 What it does

flowchart LR

A["🤖 Agent"] -->|"generate_map · manage_map_event"| B["📁 Project on disk"] B -->|"validate · balance · metrics"| A B -->|"playtest"| C["🎮 Running game"] C -->|"exceptions · position · screenshots"| A A -->|"reload_map"| C

The bottom half of that loop is what the bridge adds. Before it, the agent wrote files and hoped.

🗺️ Map generation

Two paths, both behind generate_map. Pick by whether your project uses RTP art.

mode: "procedural" *(default)*mode: "semantic"
HowClones a hand-authored map from the 106 bundled RTP templates, closest size firstLays out a mission graph, then paints it through a tileset profile
Looks likeReal multi-tile buildings, walls, furnitureRooms and corridors shaped by what the space is *for*
TilesetsRTP, or close to itAny — DLC, itch.io, custom
GuaranteesSame seed → same mapSame seed → same map, and the key is always reachable before the door it opens
The knowledge-driven path
{ "mode": "procedural", "theme": "town", "name": "Riverbend", "width": 40, "height": 30 }

Themes with a matching template — town, village, dungeon, interior, castle, world and more — clone a real map instead of painting tile noise. Themes without one (beach, swamp, desert…) fall back to Perlin terrain, BSP dungeons and cellular caves. Combat themes auto-wire random encounters from your existing troops; town and village auto-create enterable house interiors with two-way warps.

Themes · forest town village castle dungeon cave beach desert swamp ruins interior snow harbor volcano sewer fortress magic_forest magic_interior space_interior space_exterior world

Other modes: blank (empty canvas), themed (simple layout), template (one specific bundled map), batch (many at once), duplicate (copy an existing map).

The tileset-independent path

The bundled templates are raw MV map JSON, so their tile IDs only mean anything on RTP sheets. Change the tileset and the map turns to noise. semantic keeps the layout abstract until the last moment:

manage_system { action: "mine_templates" }               # learn from THIS project

generate_map { mode: "semantic", tilesetId: 5, rooms: 6, seed: 42 }

  • Mining reads every map you already made and derives semantic layouts (ground / wall / water / prop / door, multi-tile props kept whole), a tileset profile naming the concrete tile your project uses for each role, and token adjacency counts. Nothing in the project is modified — everything lands in .mcp-cache/.
  • Generating builds the mission first — entrance → key → locked door → treasure → boss → exit, plus side rooms — as a graph whose edges are the only ways through, *then* paints it. Because the lock is an edge and the key sits on the entrance side of it, the map is solvable by construction. Autotile shapes are recomputed at the end from the finished neighbourhood, never guessed cell by cell.
  • The result includes markers naming the cell of every mission role, which is where to put events with manage_map_event.
  • Pass a mined templateId (e.g. "mined-3") to re-materialise one of your own maps onto a different tileset.

🔌 The live bridge

playtest on its own is fire-and-forget: the game opens and nothing comes back. The bridge closes the loop.

manage_system { action: "install_bridge_plugin" }   # once per project

manage_system { action: "bridge_start" } # opens ws://127.0.0.1:32123 manage_system { action: "playtest" } # the game connects on its own manage_system { action: "bridge_telemetry", types: ["exception", "log"] }

sequenceDiagram

participant A as 🤖 Agent participant S as 🖥️ MCP server participant G as 🎮 Game (nwjs) A->>S: edit_map S->>S: atomic write to Map002.json A->>S: bridge_command reload_map S->>G: reload_map G->>G: reserveTransfer + _needsMapReload G-->>S: reload_complete A->>S: take_screenshot S->>G: capture_screenshot G-->>S: PNG in base64 S-->>A: path for analyze_image A->>S: record_video start / stop S->>G: MediaRecorder on the game canvas G-->>S: WebM in base64 S-->>A: path for video evidence

  • 📡 Telemetry — exceptions with stack traces, console.error/warn, scene changes, player position, *which event command is executing* (so a hung event can be pinpointed), FPS and heap. Frames are consumed as you read them unless you pass peek.
  • ♻️ Hot reload — reload_map re-reads the current MapXXX.json and rebuilds the scene without losing party state: it reserves a transfer to the player's own position with _needsMapReload, the engine's own reload seam, rather than rebuilding Spriteset_Map by hand. reload_database re-reads one data file; System.json and Tilesets.json need a fresh playtest and are refused with an explanation.
  • 📸 Screenshots — take_screenshot { name: "collision-proof" } captures the live playtest through the MCP plugin, saves a timestamped PNG under .mcp-cache/screenshots/, and returns its path for inspection or QA evidence. No shell screenshot command is involved. manage_system { action: "bridge_screenshot" } remains as a compatibility alias.
  • 🎥 Video evidence — record_video { action: "start", name: "npc-dialogue" } begins a silent WebM capture of the live game canvas; record_video { action: "stop" } saves it under .mcp-cache/recordings/ and returns its path. Agents can stage repeatable scenes with the allowlisted interact command and fixed-button press_button input—there is still no arbitrary script or eval command.

### 🔒 Security

The plugin returns before anything else runs unless the game is under NW.js *and* was launched with a test argument. A deployed build a player double-clicks never reaches the socket code, or even require('fs').

It checks every argument rather than only argv[0] the way Utils.isOptionValid does, because playtest passes the project path first. So a deployed build *deliberately* launched with a literal test argument would get past the guard — and then find no handshake file, and never connect.

The server binds `

Only the beginning is shown; read the rest in the repo

Ask PopNx