Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
RPG Maker MV Ultimate: AI copilot to generate, edit and understand RPG Maker MV projects (MCP)
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
RPGMAKER_PROJECT_PATH, VISION_API_URL, VISION_API_KEY, VISION_MODEL, RPGMV_LEGACY_TOOLS「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、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"
}
}
}
}ターミナルでこれを実行します
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動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
RPGMAKER_PROJECT_PATH envVISION_API_URL envVISION_MODEL envRPGMV_LEGACY_TOOLS envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント DiegoLopez0208 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:VISION_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(5.21.0)がレジストリに届いたのは25 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Agent Data Tools: Utilities
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
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.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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 `
冒頭だけを表示しています。続きはリポジトリで読めます