Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Author RPG Maker XP games in natural language: read, write and render RGSS1 .rxdata.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
RPGMAKER_PROJECT_PATH, RPGMAKER_RTP_PATH필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"rpgmaker-xp": {
"command": "npx",
"args": [
"-y",
"rpgmaker-xp-mcp"
],
"env": {
"RPGMAKER_PROJECT_PATH": "your-value",
"RPGMAKER_RTP_PATH": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add rpgmaker-xp --env RPGMAKER_PROJECT_PATH=your-value --env RPGMAKER_RTP_PATH=your-value -- npx -y rpgmaker-xp-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"rpgmaker-xp": {
"command": "npx",
"args": [
"-y",
"rpgmaker-xp-mcp"
],
"env": {
"RPGMAKER_PROJECT_PATH": "your-value",
"RPGMAKER_RTP_PATH": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"rpgmaker-xp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"rpgmaker-xp-mcp"
],
"env": {
"RPGMAKER_PROJECT_PATH": "your-value",
"RPGMAKER_RTP_PATH": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
RPGMAKER_RTP_PATH env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 SerifeusStudio 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: RPGMAKER_PROJECT_PATH
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.1.3)은 3개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Systemdox
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도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.
Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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.
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.
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:
If you have never used an MCP client, start with Claude Desktop; the Configuration section has a copy-paste config.
| Node.js | 18 or newer |
| An MCP client | Claude Desktop, Claude Code, or any MCP-capable app |
| An RPG Maker XP project | a folder containing Game.rxproj and Data/ |
| RPG Maker XP itself | required if your project uses RTP assets |
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.
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.
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.
Point the server at your project with RPGMAKER_PROJECT_PATH — the folder containing Game.rxproj and Data/. If your RTP lives somewhere unusual, also set RPGMAKER_RTP_PATH; it defaults to the Steam RPG Maker XP install.
claude mcp add --scope user rpgmaker-xp \
--env "RPGMAKER_PROJECT_PATH=C:\path\to\your\project" \ -- npx -y rpgmaker-xp-mcp
%APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": { "rpgmaker-xp": { "command": "npx", "args": ["-y", "rpgmaker-xp-mcp"], "env": { "RPGMAKER_PROJECT_PATH": "C:/path/to/your/xp/project" } } } }
Restart the client, then check it connected by asking for something read-only:
*"List the actors in my project."*
If you get names back, you are set up. See [SETUP.md](SETUP.md) for troubleshooting.
The server speaks standard MCP over stdio, so it works with any MCP client, not only Claude. Ollama has no MCP client of its own yet, so a local model reaches it through a bridge.
Open WebUI has native MCP support via mcpo, an OpenAPI proxy. Save the same mcpServers block as mcpo.json, then:
uvx mcpo --port 8000 --config mcpo.json
Register http://localhost:8000/rpgmaker-xp in Open WebUI as a tool server.
Terminal: ollmcp connects MCP servers straight to a local Ollama model.
Pick a model with solid tool calling (a recent Qwen or Llama instruct model). Smaller models struggle to chain several calls reliably, which matters here — map authoring is inherently multi-step.
Worth knowing before you install:
.rvdata, .rvdata2, JSON).Scripts.rxdata as data, and correctness is on you and your model.render_map shows a static layout preview, not gameplay.Actors
get_actors · get_actor · update_actor · create_actor · search_actors
XP actors use a parameters Table (6×100 — MaxHP, MaxSP, STR, DEX, AGI, INT per level) rather than MZ-style traits. create_actor generates linear growth curves by default. Equipment slots are weapon_id and armor1_id–armor4_id (shield / helmet / body / accessory).
Items & equipment
get_items · get_weapons · get_armors · get_skills · update_item · search_items · create_weapon · create_armor
create_weapon/create_armor append to Weapons.rxdata/Armors.rxdata with editor-default fields (override any). Armor kind: 0=shield, 1=helmet, 2=body, 3=accessory.
Skills
get_skill · create_skill · create_damage_skill · create_healing_skill · create_state_skill · update_skill · search_skills
XP has no damage formulas. Damage is power scaled by stat-influence rates (atk_f/str_f physical, int_f magical) and reduced by the target's pdef_f/mdef_f. Negative power = healing. There is no create_buff_skill — XP has no buff system, use states.
Scope: 0=none, 1=one enemy, 2=all enemies, 3=one ally, 4=all allies, 5=one ally (HP 0), 6=all allies (HP 0), 7=user.
Maps & events
get_map · get_map_infos · get_map_events · get_map_event · update_map_event · create_map_event · create_transfer_event · search_map_events · add_event_command · add_show_text
Maps live in Data/MapXXX.rxdata. get_map summarises the tile Table unless includeTiles: true. Events are a hash keyed by event ID.
add_show_text handles XP's message structure (first line = code 101, continuations = 401, 4 lines per box). XP specifics: code 101 carries text directly (unlike VX+); choice text is stored redundantly in both the 102 array and the 402 branches and must stay in sync; move routes are 209/509.
create_transfer_event wires two maps together and validates both endpoints exist and are in bounds before writing. Run validate_connectivity afterwards. The full 110-code table is in research/event-commands.md.
Map authoring (tile painting)
get_map_design_guide · get_map_size_advisory · create_map · get_map_tiles · set_map_tiles · fill_region · apply_autotile · scatter_tiles
apply_autotile paints an autotile and computes seamless edge variants per cell from 8-neighbour connectivity — give it an organic `blob` (ponds, lakes, forest), a `cells` list (rivers, curved paths), or a `region` rect (rectangular floors only). scatter_tiles distributes clutter at a target density with an optional focal gradient. Together these avoid the blocky ponds and corner-clustered detail that make maps look programmer-generated. See MAP-DESIGN.md §5b.
Layers (Map.data z, drawn z0→z1→z2 = editor Layer 1/2/3) are assigned by role: z0 terrain (autotiles), z1 ground clutter (priority 0), z2 overhead (priority > 0 — canopies and roofs the player walks behind).
Tile ids: 0 = empty; 48–383 = autotiles (slot=id/48-1, variant=id%48); ≥384 = regular tiles (col=(id-384)%8, row=(id-384)/8).
Load get_map_design_guide before authoring — create_map also returns its core rules inline. get_map_size_advisory reports screen count, target focal points, recommended scatter density and oversize warnings for an existing map.
Validation
validate_assets · validate_connectivity
validate_assets scans every data file for referenced graphic and audio filenames — tilesets, autotiles, panoramas, fogs, battlebacks, character, battler and icon graphics, animations, windowskin, title, gameover, transition, BGM/BGS/ME and map event sprites — and reports any with no file on disk. Broken references are otherwise silent until runtime. Checks the project's Graphics/ and Audio/ first, then the RTP, matching base name regardless of extension.
validate_connectivity builds the world transfer graph and reports maps unreachable from the start map, transfers pointing at a missing map or an out-of-bounds tile, and dead ends.
Tileset identification & preview
create_tileset_identification_harness · get_tileset_catalog · save_tileset_catalog · validate_tileset_catalog · render_tileset_atlas · render_map
`create_tileset_identification_harness` builds an evidence-first review bundle: the source sheet, a labelled copy with burned-in tile IDs, isolated transparent tile images, source rows, autotile sources, engine metadata, a catalog template and an interactive browser page. Reviewed labels, intended uses, object grids, layers and confidence live in a separate catalog, so passability or visual resemblance cannot silently become a semantic claim. See TILESET-CATALOG.md.
`render_tileset_atlas` renders a tileset to a labelled PNG — scaled with a grid, each tile's id burned in, passability dots (red = blocked, orange = partial) and a legend of the 7 autotile slots.
`render_map` renders a map's tile layers to a flat top-down PNG preview outside the editor, so you can *see* what you built. Composites all three layers using the tileset graphic (ids ≥ 384) and its autotiles (ids 48–383, via a cross-verified 48-variant quadrant table). Options: layers, scale, region, drawGrid, drawEvents, passability. Writes to Data/.mcp-preview/map .png and returns the path.
*Layout p
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요