Rpg Mcp Servers

Rpg Mcp Servers

🚀 Roo Code AI地下城的RPG MCP服务器

本项目实现了MCP(模型上下文协议)服务器,用于在Roo Code中创建类似AI地下城风格的角色扮演游戏(RPG)体验。

🚀 快速开始

前提条件

在开始之前,请确保你已经在VS Code环境中安装并配置了Roo Code。Roo Code是一个由人工智能驱动的编码助手,它将与这些MCP服务器进行交互。

  • 安装Roo Code
    • VS Code市场安装。
    • 或者通过命令行界面(CLI)安装:code --install-extension RooVeterinaryInc.roo-cline
  • 配置AI提供商:安装完成后,在Roo Code扩展设置中添加你的AI模型API密钥(例如,OpenAI、Anthropic)。
  • 有关Roo Code的更多详细信息,请访问Roo Code网站官方文档

设置说明

  1. 为两个服务器安装依赖项
    cd game-state-server
    npm install
    npm run build
    
    cd ../combat-engine-server
    npm install
    npm run build
    
  2. 配置MCP服务器: 每个服务器都可以通过环境变量或其各自目录中的 .env 文件进行配置。
    • 游戏状态服务器(game - state - server)
      • DATABASE_PATH:SQLite数据库文件的路径(例如,./data/game.db)。默认值为 ./data/game.db
      • PORT:服务器监听的端口(例如,3001)。默认值为 3001
    • 战斗引擎服务器(combat - engine - server)
      • PORT:服务器监听的端口(例如,3002)。默认值为 3002game - state - server.env 文件示例:
    DATABASE_PATH=./data/my_game.db
    PORT=3001
    
  3. 启动MCP服务器: 要运行服务器,请导航到它们各自的目录并使用 npm startnode dist/index.js。 例如:
    cd game-state-server
    npm start
    # 在新的终端中:
    cd ../combat-engine-server
    npm start
    
  4. Roo Code集成: 要在Roo Code中使用这些服务器,你需要在 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 - servercwd 应为 C:/projects/rpg - mcp - servers/game - state - server
    • alwaysAllow 数组列出了Roo Code每次使用时无需用户明确许可的工具。你可以自定义此列表。
    • start_combat 工具已添加到 rpg - combat - engine - servermcp_settings.json 示例中。请确保该工具在服务器中实际实现。
  5. 为AI地下城主创建自定义模式(例如,在AI地下城实验仓库中使用 dungeon - master - mode.json 配置),以便通过Roo与这些服务器进行交互。

使用方法

设置完成后,你可以:

  • 创建新角色
  • 管理物品栏
  • 进行战斗遭遇
  • 跟踪故事进度
  • 并且所有操作在不同会话之间都能保持持久状态!

✨ 主要特性

  • 持久状态:游戏数据存储在SQLite数据库中
  • 战斗引擎:完整实现D20系统
  • 关注点分离:叙事(AI)与机制(MCP服务器)分离
  • 可扩展性:易于添加新功能

🎲 最新更新

  • 修复骰子表示法:现在支持 2d20kh1(优势)和 2d20kl1(劣势)
  • 添加 roll_check 工具:简化能力/技能检查
  • 增强物品栏功能:添加了 remove_itemupdate_item 工具
  • 怪物管理:添加了创建、获取、更新和列出NPC/怪物的工具。
  • 故事和任务管理:添加了保存故事进度和管理任务的工具。
  • 修正优势/劣势规则:正确实现了D&D 5e规则 完整详情请参阅 update - summary.md

📚 详细文档

项目结构

  • game - state - server/:基于SQLite的持久游戏状态管理
  • combat - engine - server/:D&D风格的战斗机制和骰子滚动
  • 0 关注
  • 0 收藏,35 浏览
  • system 提出于 2025-10-07 01:39

相似服务问题

相关AI产品