loading…
Search for a command to run...
loading…
A Model Context Protocol server that enables management of RPG Maker MZ and MV project data, including actors, items, maps, and events. It allows users to creat
A Model Context Protocol server that enables management of RPG Maker MZ and MV project data, including actors, items, maps, and events. It allows users to create, update, and search game assets through natural language integration with MCP-compatible clients.
A Model Context Protocol (MCP) server for RPG Maker MZ/MV & MV integration. This server provides comprehensive tools for managing game data, maps, events, skills, and system settings through the MCP protocol.
npm install
npm run build
Set the RPG Maker MZ/MV project path as an environment variable:
# Windows
set RPGMAKER_PROJECT_PATH=C:\path\to\your\rpgmaker\project
# macOS/Linux
export RPGMAKER_PROJECT_PATH=/path/to/your/rpgmaker/project
npm start
Or directly:
node dist/index.js
Add to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"rpgmaker-mz": {
"command": "node",
"args": ["C:/path/to/rpgmaker-mz-mcp/dist/index.js"],
"env": {
"RPGMAKER_PROJECT_PATH": "C:/path/to/your/rpgmaker/project"
}
}
}
}
get_actors - Get all actors from the projectget_actor - Get a specific actor by IDupdate_actor - Update an actor's propertiescreate_actor - Create a new actorsearch_actors - Search actors by name or nicknameget_items - Get all items from the projectget_weapons - Get all weapons from the projectget_armors - Get all armors from the projectget_skills - Get all skills from the projectupdate_item - Update an item's propertiessearch_items - Search items by name or descriptionget_skill - Get a specific skill by IDcreate_skill - Create a custom skill with full controlcreate_damage_skill - Create a damage-dealing skill (simplified)create_healing_skill - Create a healing skill (simplified)create_buff_skill - Create a buff skill (simplified)create_state_skill - Create a state-inflicting skill (simplified)update_skill - Update a skill's propertiessearch_skills - Search skills by name or descriptionget_map - Get map data by IDget_map_infos - Get information about all mapsget_map_events - Get all events from a specific mapget_map_event - Get a specific event from a mapupdate_map_event - Update a map event's propertiescreate_map_event - Create a new event on a mapsearch_map_events - Search events on a map by nameadd_event_command - Add a command to an event pageget_system - Get system dataget_variables - Get all game variable namesset_variable_name - Set a variable nameget_switches - Get all game switch namesset_switch_name - Set a switch nameget_game_title - Get the game titleupdate_game_title - Update the game titleupdate_starting_position - Update the game starting positionOnce configured, you can use Claude to interact with your RPG Maker MZ/MV project:
Show me all actors in my RPG Maker MZ/MV project
Claude will use the get_actors tool to retrieve and display all actors.
Update actor 1's name to "Hero" and initial level to 5
Claude will use the update_actor tool with the appropriate parameters.
Create a new item called "Health Potion" that restores 50 HP
Claude will help you create the item with the proper structure.
Find all events on map 1 that contain "treasure" in their name
Claude will use the search_map_events tool to find matching events.
Change the game title to "My Epic Adventure"
Claude will use the update_game_title tool to update the system data.
Create a fire magic skill called "Fireball" that costs 15 MP,
targets a single enemy, and deals "a.mat * 4 - b.mdf * 2" damage
Claude will use the create_damage_skill tool to create the skill.
Create a group healing spell called "Mass Heal" that costs 30 MP,
targets all allies, and heals "a.mat * 3 + 100" HP
Claude will use the create_healing_skill tool to create the healing skill.
{
id: number;
name: string;
nickname: string;
profile: string;
classId: number;
initialLevel: number;
maxLevel: number;
characterName: string;
characterIndex: number;
faceName: string;
faceIndex: number;
battlerName: string;
traits: Trait[];
equips: number[];
note: string;
}
{
id: number;
name: string;
note: string;
pages: EventPage[];
x: number;
y: number;
}
{
code: number; // Command code (see RPG Maker MZ/MV documentation)
indent: number; // Indentation level
parameters: any[]; // Command parameters
}
101 - Show Text102 - Show Choices111 - Conditional Branch112 - Loop113 - Break Loop121 - Control Switches122 - Control Variables125 - Change Gold126 - Change Items201 - Transfer Player356 - Plugin CommandFor a complete list, refer to the RPG Maker MZ/MV documentation.
npm run build
npm run dev
rpgmaker-mz-mcp/
├── src/
│ ├── index.ts # Main MCP server
│ ├── tools/
│ │ ├── actorTools.ts # Actor management functions
│ │ ├── itemTools.ts # Item/equipment management
│ │ ├── mapTools.ts # Map and event management
│ │ └── systemTools.ts # System settings management
│ └── utils/
│ ├── fileHandler.ts # File I/O utilities
│ └── types.ts # TypeScript type definitions
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
Make sure the RPGMAKER_PROJECT_PATH environment variable points to a valid RPG Maker MZ or MV project directory containing:
game.rmmzproject file (MZ) or Game.rpgproject file (MV)data/ directory with System.jsonRestart Claude Desktop after updating the configuration file.
Contributions are welcome! Please ensure:
MIT
For issues and feature requests, please open an issue on the project repository.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"rpg-maker-mz-mv-mcp-server": {
"command": "npx",
"args": []
}
}
}