BGA MCP服务器
A. 模型上下文协议 为AI助手提供工具的服务器 BoardGameArena(BGA) 游戏开发。
特性
| 类别 | 工具 |
|---|---|
| 文档 | 搜索BGA Studio维基,获取特定维基页面 |
| 脚手架 | 生成状态类、动作、通知、完整游戏框架 |
| 验证 | Lint一个项目的转换失败,缺少zombie(),JS↔PHP操作不匹配等 |
| 迁移 | 扫描项目中不推荐使用的模式,转换状态.inc.php,迁移指南 |
| 本地项目 | 列出文件,读取文件,分析状态。inc.php,列出播放器操作 |
先决条件
- Node.js 18+
- npm
设置
npm install
npm run build用法
运行服务器
npm start与VS代码(MCP)一起使用
这 .vscode/mcp.json 文件已配置。构建完成后,VS Code将自动检测并启动服务器,以便与GitHub Copilot和其他MCP兼容的AI工具一起使用。
运行MCP检查器
npm run inspector可用工具
文档
bga_list_doc_pages–列出所有精选的BGA Studio维基页面(按类别分组)bga_get_doc_page–通过别名获取页面(例如。game_states,notifications)或原始wiki页面名称
脚手架
bga_generate_state_class生成一个现代的PHP State类(modules/php/States/ClassName.php)使用新GameState基础阶级和#[PossibleAction]属性bga_generate_state_action–生成一个#[PossibleAction]在State类中添加的方法存根bga_generate_notification–使用生成PHP(后端)+JS(前端)通知存根bgaSetupPromiseNotificationsbga_scaffold_game–使用现代状态类方法生成完整的BGA游戏框架
验证
bga_validate_project–查找项目中的常见错误和不一致之处:
- 🔴 错误:转换目标损坏、状态ID重复、文件名/类名不匹配、缺失 PossibleAction 进口, bgaPerformAction 没有匹配的PHP方法的调用 - 🟡 警告:无法访问的状态,缺失 zombie() 关于玩家状态,没有JS处理程序的PHP通知 - 🔵 信息:短粗的 getGameProgression(),没有JS调用者的PHP操作,没有PHP发送者的JS通知处理程序
迁移
bga_migration_status–扫描本地项目并报告哪些文件仍然使用不推荐使用的模式(states.inc.php、self::checkAction、ajaxcall、notifqueue)与现代State类方法bga_convert_states_inc–阅读现有states.inc.php并为其中的每个状态生成一个现代PHP状态类存根bga_migration_guide–返回从旧体系结构迁移到State类的分步演练
本地项目
bga_list_project_files–列出本地BGA游戏目录中的文件bga_read_project_file–从本地项目读取文件bga_analyze_game_states–分析和总结states.inc.phpbga_list_player_actions–在主游戏类中列出PHP动作方法
环境变量
| 变量 | 目的 |
|---|---|
BGA_WORKSPACE_PATH | BGA工作区根路径(通过自动设置 .vscode/mcp.json) |
项目结构
src/
index.ts Entry point – sets up MCP server and routes tool calls
config.ts Central configuration – edit this to customise the server
tools/
docs.ts BGA wiki documentation tools
scaffold.ts Code generation / scaffolding tools (State classes)
validate.ts Project linting / validation
migrate.ts Migration tools (legacy → State classes)
project.ts Local game project file tools发展
npm run dev # Watch mode (recompiles on save)
npm run build # One-time build