RPG Maker MZ/MV MCP Server
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.
README
RPG Maker MZ/MV/MV MCP Server
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.
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/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
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/MV project:
Example 1: Get All Actors
Show me all actors in my RPG Maker MZ/MV 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/MV 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/MV 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/MV project before making changes
- Close RPG Maker MZ/MV Editor: Close the RPG Maker MZ/MV 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/MV editor is closed when using it
- Some advanced features may require manual editing in the RPG Maker MZ/MV editor
- Plugin-specific data structures may not be fully supported
Troubleshooting
"Invalid RPG Maker MZ/MV project path"
Make sure the RPGMAKER_PROJECT_PATH environment variable points to a valid RPG Maker MZ or MV project directory containing:
game.rmmzprojectfile (MZ) orGame.rpgprojectfile (MV)data/directory withSystem.json
Changes Not Appearing
- Make sure the RPG Maker MZ/MV 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
- RPG Maker MZ/MV Official Website
- Model Context Protocol Documentation
- RPG Maker MZ/MV Database Structure
Support
For issues and feature requests, please open an issue on the project repository.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.