RPG Maker MZ MCP 服务器
一个高质量的模型上下文协议(MCP)服务器,用于RPG Maker MZ的集成。该服务器通过MCP协议提供了全面的工具来管理游戏数据、地图、事件和系统设置。
特点/功能
- 演员管理创建、读取、更新和搜索演员信息
- 物品/设备管理管理物品、武器、防具和技能
- 技能创造使用自然语言创建自定义技能(新增功能!)
- 伤害技能、治疗技能、增益效果、减益效果、状态效果 - 为常见技能类型提供的简化辅助工具 - 全面定制支持
- 地图管理访问和修改地图数据、瓦片和属性
- 活动管理创建、更新和管理地图事件及命令
- 系统配置更新游戏设置、变量、开关和词汇
- 类型安全全面支持TypeScript,提供完整的类型定义
- 错误处理强大的错误处理和验证机制
安装
npm install
npm run build配置
将RPG Maker MZ项目路径设置为环境变量:
# Windows
set RPGMAKER_PROJECT_PATH=C:\path\to\your\rpgmaker\project
# macOS/Linux
export RPGMAKER_PROJECT_PATH=/path/to/your/rpgmaker/project使用方法
运行服务器
npm start或者直接:
node dist/index.js在Claude桌面版中进行配置
在您的Claude Desktop配置文件中添加:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS(发音:/ˈmækOS/,中文常译为“苹果电脑操作系统”或简称“苹果系统”): ~/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_actor- 通过ID获取特定演员update_actor- 更新演员的属性create_actor- 创建一个新的演员search_actors- 按名字或昵称搜索演员
项目工具
get_items- 获取项目中的所有项目get_weapons- 获取项目中的所有武器get_armors- 获取项目中的所有盔甲get_skills- 获取项目中的所有技能update_item- 更新项目的属性search_items- 按名称或描述搜索项目
技能工具(新推出!)
get_skill- 通过ID获取特定技能create_skill- 创建一个自定义技能,拥有完全控制权create_damage_skill- 创建一个造成伤害的技能(简化版)create_healing_skill- 创建一个治疗技能(简化版)create_buff_skill- 创建一个增益技能(简化版)create_state_skill- 创建一个施加状态效果的技能(简化版)update_skill- 更新技能的属性search_skills- 按名称或描述搜索技能
地图工具
get_map- 通过ID获取地图数据get_map_infos- 获取所有地图的信息get_map_events- 从特定地图中获取所有事件get_map_event- 从地图中获取特定事件update_map_event- 更新地图事件的属性create_map_event- 在地图上创建一个新事件search_map_events- 在地图上按名称搜索事件add_event_command- 在事件页面上添加一个命令
系统工具
get_system- 获取系统数据get_variables- 获取所有游戏变量名set_variable_name- 设置变量名get_switches- 获取所有游戏机的名称set_switch_name- 设置开关名称get_game_title- 获取游戏标题update_game_title- 更新游戏标题update_starting_position- 更新游戏起始位置
示例用法
配置完成后,您就可以使用Claude与您的RPG Maker MZ项目进行交互:
示例1:获取所有演员
Show me all actors in my RPG Maker MZ project克劳德将使用 get_actors 用于检索并显示所有演员的工具。
示例2:更新一个演员(或:修改一个演员的信息)
Update actor 1's name to "Hero" and initial level to 5克劳德将使用 update_actor 带有适当参数的工具。
示例3:创建新项目
Create a new item called "Health Potion" that restores 50 HP克劳德将帮助您创建具有适当结构的项目。
示例4:搜索地图事件
Find all events on map 1 that contain "treasure" in their name克劳德将使用 search_map_events 用于查找匹配事件的工具。
示例5:更新游戏设置
Change the game title to "My Epic Adventure"克劳德将使用 update_game_title 用于更新系统数据的工具。
示例6:创建自定义技能
Create a fire magic skill called "Fireball" that costs 15 MP,
targets a single enemy, and deals "a.mat * 4 - b.mdf * 2" damage克劳德将使用 create_damage_skill 创建该技能的工具。
示例7:创建一个治疗技能
Create a group healing spell called "Mass Heal" that costs 30 MP,
targets all allies, and heals "a.mat * 3 + 100" HP克劳德将使用 create_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 documentation)
indent: number; // Indentation level
parameters: any[]; // Command parameters
}常见事件命令代码
101- 显示文本102- 显示选项111- 条件分支112- 循环113- 跳出循环121- 控制开关122- 控制变量125- 更换黄金126- 更改项目201- 转会球员356- 插件命令
如需完整列表,请参阅RPG Maker MZ的文档。
发展
建筑
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安全与最佳实践
- 备份您的项目在对RPG Maker MZ项目进行更改之前,务必先做好备份
- 关闭RPG Maker MZ编辑器使用此服务器时,请关闭RPG Maker MZ编辑器以避免冲突
- 验证更改在做出更改后测试你的游戏,以确保一切正常运行
- 版本控制为你的项目使用 Git 或其他版本控制系统
局限性
- 此服务器直接修改JSON文件。使用时请确保RPG Maker MZ编辑器已关闭
- 某些高级功能可能需要在RPG Maker MZ编辑器中手动编辑
- 插件特定的数据结构可能不完全受支持
故障排除
“无效的RPG Maker MZ项目路径”
确保 RPGMAKER_PROJECT_PATH 环境变量指向一个包含以下内容的有效RPG Maker MZ项目目录:
game.rmmzproject文件data/包含目录的System.json
更改未显示
- 确保RPG Maker MZ编辑器已关闭
- 验证项目路径是否正确
- 检查JSON文件是否具有写权限
未找到工具
更新配置文件后,重启Claude桌面版。
做出贡献
欢迎投稿!请确保:
- 代码遵循TypeScript的最佳实践
- 所有功能均包含适当的错误处理
- 针对新特性更新了类型定义
- 相关文档已相应更新
许可证
麻省理工学院(MIT)
资源
支持
对于问题和功能请求,请在项目仓库中提交一个问题。
