k4zuki0539/-rpgmaker-mz-mcp
If you are the rightful owner of -rpgmaker-mz-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A high-quality Model Context Protocol (MCP) server for RPG Maker MZ integration, providing tools for managing game data, maps, events, and system settings.
RPG Maker MZ MCP Server
A high-quality Model Context Protocol (MCP) server for RPG Maker MZ integration. This server provides comprehensive tools for managing game data, maps, events, and system settings through the MCP protocol.
Features
- Actor Management: Create, read, update, and search actors
- Item/Equipment Management: Manage items, weapons, armors, and skills
- Skill Creation: Create custom skills with natural language (NEW!)
- Damage skills, healing skills, buffs, debuffs, status effects
- Simplified helpers for common skill types
- Full customization support
- Map Management: Access and modify map data, tiles, and properties
- Event Management: Create, update, and manage map events and commands
- System Configuration: Update game settings, variables, switches, and vocabulary
- Type Safety: Full TypeScript support with comprehensive type definitions
- Error Handling: Robust error handling and validation
Installation
npm install
npm run build
Configuration
Set the RPG Maker MZ 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
Usage
Running the Server
npm start
Or directly:
node dist/index.js
Configuring in Claude Desktop
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"
}
}
}
}
Available Tools
Actor Tools
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 nickname
Item Tools
get_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 description
Skill Tools (NEW!)
get_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 description
Map Tools
get_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 page
System Tools
get_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 position
Example Usage
Once configured, you can use Claude to interact with your RPG Maker MZ project:
Example 1: Get All Actors
Show me all actors in my RPG Maker MZ project
Claude will use the get_actors tool to retrieve and display all actors.
Example 2: Update an Actor
Update actor 1's name to "Hero" and initial level to 5
Claude will use the update_actor tool with the appropriate parameters.
Example 3: Create a New Item
Create a new item called "Health Potion" that restores 50 HP
Claude will help you create the item with the proper structure.
Example 4: Search Map Events
Find all events on map 1 that contain "treasure" in their name
Claude will use the search_map_events tool to find matching events.
Example 5: Update Game Settings
Change the game title to "My Epic Adventure"
Claude will use the update_game_title tool to update the system data.
Example 6: Create a Custom Skill
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.
Example 7: Create a Healing 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.
Data Structure Reference
Actor Structure
{
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;
}
Map Event Structure
{
id: number;
name: string;
note: string;
pages: EventPage[];
x: number;
y: number;
}
Event Command Structure
{
code: number; // Command code (see RPG Maker MZ documentation)
indent: number; // Indentation level
parameters: any[]; // Command parameters
}
Common Event Command Codes
101- Show Text102- Show Choices111- Conditional Branch112- Loop113- Break Loop121- Control Switches122- Control Variables125- Change Gold126- Change Items201- Transfer Player356- Plugin Command
For a complete list, refer to the RPG Maker MZ documentation.
Development
Building
npm run build
Watch Mode
npm run dev
Project Structure
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
Safety and Best Practices
- Backup Your Project: Always backup your RPG Maker MZ project before making changes
- Close RPG Maker MZ Editor: Close the RPG Maker MZ editor when using this server to avoid conflicts
- Validate Changes: Test your game after making changes to ensure everything works correctly
- Version Control: Use git or another version control system for your project
Limitations
- This server modifies JSON files directly. Make sure the RPG Maker MZ editor is closed when using it
- Some advanced features may require manual editing in the RPG Maker MZ editor
- Plugin-specific data structures may not be fully supported
Troubleshooting
"Invalid RPG Maker MZ project path"
Make sure the RPGMAKER_PROJECT_PATH environment variable points to a valid RPG Maker MZ project directory containing:
game.rmmzprojectfiledata/directory withSystem.json
Changes Not Appearing
- Make sure the RPG Maker MZ editor is closed
- Verify the project path is correct
- Check that the JSON files have write permissions
Tool Not Found
Restart Claude Desktop after updating the configuration file.
Contributing
Contributions are welcome! Please ensure:
- Code follows TypeScript best practices
- All functions include proper error handling
- Type definitions are updated for new features
- Documentation is updated accordingly
License
MIT
Resources
Support
For issues and feature requests, please open an issue on the project repository.