本项目实现了MCP(模型上下文协议)服务器,用于在Roo Code中创建类似AI地下城风格的角色扮演游戏(RPG)体验。
在开始之前,请确保你已经在VS Code环境中安装并配置了Roo Code。Roo Code是一个由人工智能驱动的编码助手,它将与这些MCP服务器进行交互。
code --install-extension RooVeterinaryInc.roo-clinecd game-state-server
npm install
npm run build
cd ../combat-engine-server
npm install
npm run build
.env 文件进行配置。
DATABASE_PATH:SQLite数据库文件的路径(例如,./data/game.db)。默认值为 ./data/game.db。PORT:服务器监听的端口(例如,3001)。默认值为 3001。PORT:服务器监听的端口(例如,3002)。默认值为 3002。
game - state - server 的 .env 文件示例:DATABASE_PATH=./data/my_game.db
PORT=3001
npm start 或 node dist/index.js。
例如:cd game-state-server
npm start
# 在新的终端中:
cd ../combat-engine-server
npm start
mcp_settings.json 文件中进行配置。该文件通常位于 C:\Users\YOUR_USERNAME\AppData\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json。
以下是每个服务器的配置示例。将 cwd(当前工作目录)路径调整为你克隆或放置 rpg - mcp - servers 仓库并构建服务器的位置。{
"mcpServers": {
// ... 其他服务器 ...
"rpg-game-state": {
"name": "rpg-game-state-server",
"command": "node",
"args": [
"dist/index.js"
],
"cwd": "PATH_TO_YOUR_PROJECT/rpg-mcp-servers/game-state-server",
"enabled": true,
"alwaysAllow": [
"create_character",
"get_character",
"get_character_by_name",
"list_characters",
"update_character",
"add_item",
"get_inventory",
"save_world_state",
"get_world_state",
"create_npc",
"create_npc_group",
"get_npc",
"list_npcs",
"update_npc",
"remove_npc",
"save_story_progress",
"add_quest",
"get_active_quests",
"update_quest_state",
"assign_quest_to_character"
]
},
"rpg-combat-engine": {
"name": "rpg-combat-engine-server",
"command": "node",
"args": [
"dist/index.js"
],
"cwd": "PATH_TO_YOUR_PROJECT/rpg-mcp-servers/combat-engine-server",
"enabled": true,
"alwaysAllow": [
"roll_dice",
"attack_roll",
"damage_roll",
"saving_throw",
"get_combat_log",
"start_combat",
"end_turn",
"next_turn"
]
}
// ... 其他服务器 ...
}
}
注意:
PATH_TO_YOUR_PROJECT 替换为你系统上 rpg - mcp - servers 目录的实际绝对路径。例如,如果你将其克隆到 C:\projects\rpg - mcp - servers,那么 game - state - server 的 cwd 应为 C:/projects/rpg - mcp - servers/game - state - server。alwaysAllow 数组列出了Roo Code每次使用时无需用户明确许可的工具。你可以自定义此列表。start_combat 工具已添加到 rpg - combat - engine - server 的 mcp_settings.json 示例中。请确保该工具在服务器中实际实现。dungeon - master - mode.json 配置),以便通过Roo与这些服务器进行交互。设置完成后,你可以:
2d20kh1(优势)和 2d20kl1(劣势)roll_check 工具:简化能力/技能检查remove_item 和 update_item 工具update - summary.md。