Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
RPG Maker MV Ultimate: AI copilot to generate, edit and understand RPG Maker MV projects (MCP)
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
RPGMAKER_PROJECT_PATH, VISION_API_URL, VISION_API_KEY, VISION_MODEL, RPGMV_LEGACY_TOOLSLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en 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"
}
}
}
}Ejecuta esto en tu 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-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
RPGMAKER_PROJECT_PATH envVISION_API_URL envVISION_MODEL envRPGMV_LEGACY_TOOLS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub DiegoLopez0208, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: VISION_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (5.21.0) llegó al registro hace 25 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Agent Data Tools: Utilities
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
103 tools: JSON repair, CSV, hashes, cron, dates, units, validators. 25 free calls.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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:
| 🏗️ Builds | Generates maps that look hand-made, wires events from presets, and edits every database with real IDs instead of invented ones. |
| 🧠 Understands | Reads the whole project and answers *why the door never opens*, *which map nobody can reach*, *which skill breaks the game*. |
| 👀 Watches | Runs the game and reports back: exceptions, player position, screenshots — and reloads a map you just edited without losing the save. |
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.
{
"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.
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.
Two paths, both behind generate_map. Pick by whether your project uses RTP art.
mode: "procedural" *(default)* | mode: "semantic" | |
|---|---|---|
| How | Clones a hand-authored map from the 106 bundled RTP templates, closest size first | Lays out a mission graph, then paints it through a tileset profile |
| Looks like | Real multi-tile buildings, walls, furniture | Rooms and corridors shaped by what the space is *for* |
| Tilesets | RTP, or close to it | Any — DLC, itch.io, custom |
| Guarantees | Same seed → same map | Same seed → same map, and the key is always reachable before the door it opens |
{ "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 ·
foresttownvillagecastledungeoncavebeachdesertswampruinsinteriorsnowharborvolcanosewerfortressmagic_forestmagic_interiorspace_interiorspace_exteriorworld
Other modes: blank (empty canvas), themed (simple layout), template (one specific bundled map), batch (many at once), duplicate (copy an existing map).
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 }
.mcp-cache/.markers naming the cell of every mission role, which is where to put events with manage_map_event.templateId (e.g. "mined-3") to re-materialise one of your own maps onto a different tileset.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
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.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.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.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
testargument. A deployed build a player double-clicks never reaches the socket code, or evenrequire('fs').
It checks every argument rather than only
argv[0]the wayUtils.isOptionValiddoes, becauseplaytestpasses the project path first. So a deployed build *deliberately* launched with a literaltestargument would get past the guard — and then find no handshake file, and never connect.
The server binds `
Solo se muestra el principio; lee el resto en el repo