Token导航 LogoToken导航TokenDH.com
MCP Game (Sbaumgartner) logo
AI代理未说明官方级别未说明来源级核验

MCP Game (Sbaumgartner)

MCP Server

一个专为AI代理设计的经典多用户地下城游戏引擎,通过模型上下文协议(MCP)实现动态地下城生成、角色扮演机制和战斗系统。

工具数

14

提示词数

0

GitHub Stars

0

资源数

0
PythonAI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sbaumgartner

提供方

sbaumgartner

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP MUD 游戏

一个专为通过模型上下文协议(MCP)实现AI代理交互而设计的经典多人文字冒险游戏(MUD)。此项目允许AI代理在一个动态生成的地下城环境中扮演角色,包含角色扮演游戏(RPG)机制、战斗和探索元素。

特点/功能

核心游戏系统

  • 完整的角色扮演游戏角色系统职业(战士、法师、盗贼、牧师)包含属性、等级和成长路径
  • 动态地牢生成AI驱动的地下城主创建房间、遭遇战和谜题
  • 回合制战斗类似《龙与地下城》(D&D)的战斗系统,包括掷骰子、攻击判定和伤害计算
  • 拼写系统具有法力值消耗和各种效果的专类法术
  • 技能检定与环境互动时的力量、敏捷、智力检定
  • 库存管理设备、武器、盔甲和消耗品

技术架构

  • MCP服务器为AI代理提供与游戏互动的工具
  • RabbitMQ回合制动作处理的消息队列系统
  • DynamoDB(注:DynamoDB是亚马逊提供的一种完全托管的NoSQL数据库服务,其名称在中文中通常不翻译,直接使用原名)角色、房间和游戏状态的持久存储
  • n8n 代理在Docker容器中运行的AI代理作为玩家和动态管理者(DM)
  • Ollama(注:Ollama是一个开源的机器学习框架,用于训练和部署机器学习模型,但在此语境下,若仅作为名称翻译,则保持原样)用于人工智能决策的本地大型语言模型(LLM)

快速入门

先决条件

  • Docker 和 Docker Compose
  • Git

安装

  1. 克隆仓库
   git clone 
   cd mcp-mud-game
  1. 运行安装脚本
   chmod +x scripts/setup.sh
   ./scripts/setup.sh
  1. 启动游戏服务器
   docker-compose up -d mcp-mud-server
  1. 启动AI代理
   docker-compose up -d n8n-player1 n8n-player2 n8n-dm

接入点

  • MCP 服务器localhost:8080
  • RabbitMQ 管理http://localhost:15672 (访客/访客)
  • n8n 玩家1http://localhost:5679 (玩家1/玩家1)
  • n8n 玩家 2http://localhost:5680 (玩家2/玩家2)
  • n8n 地下城主(或:n8n 玩家游戏主持人): http://localhost:5681 (dm/dm)
  • Ollama APIhttp://localhost:11434

游戏机制

字符类别

勇士

  • 主要属性力量
  • 技能近战格斗,盾击,恐吓
  • 起始设备铁剑,皮甲,木盾

魔法师

  • 主要属性智慧
  • 技能烈焰弹,魔法飞弹,奥术知识
  • 启动设备木杖,法师长袍,法术材料

《Rogue》(注:Rogue在此处可能指的是一款游戏或某种特定名称,根据上下文可能有不同的翻译,但直接翻译为“流氓”并不准确,因此保留原英文名称以避免歧义。若确需翻译为中文且指游戏名,则可能根据具体游戏内容翻译为“冒险者”或“游侠”等,但在此无具体上下文的情况下,直接保留原名更为稳妥。)

  • 主要属性灵巧性
  • 技能开锁、潜行、背后偷袭
  • 启动设备匕首、开锁工具、皮甲

神职人员

  • 主要属性智慧
  • 技能治疗术,驱散亡灵,神之眷顾
  • 起动设备棍棒、锁子甲、圣徽

战斗系统

战斗采用Dungeons & Dragons(龙与地下城)风格的机制:

  • 攻击检定20面骰(d20)加上攻击加值,对抗护甲等级(Armor Class)
  • 损害;损坏武器伤害骰 + 属性修正
  • 暴击自然20(掷骰子结果)翻倍伤害
  • 重大失误自然1总是错失(或总是失误)

技能检定

技能检定采用以下难度等级:

  • 琐碎的;微不足道的直流5(伏)
  • 简单直流10伏
  • 中等直流15(伏特)
  • 艰难直流20(伏特)
  • Epic(史诗般的;宏大的)直流25伏
  • 传奇的直流30

MCP 工具

玩家行动

角色管理

  • create_character(player_id, name, character_class) - 创建一个新角色
  • get_character_status(player_id) - 获取角色属性和状态
  • rest_character(player_id) - 休息以恢复生命值和魔法值

行动与探索

  • move_character(player_id, direction) - 向某个方向移动
  • examine_object(player_id, target) - 检查房间、物品或生物

战斗与行动

  • attack_target(player_id, target, weapon?) - 攻击怪物
  • cast_spell(player_id, spell_name, target?) - 施放一个咒语
  • use_item(player_id, item_name, target?) - 使用一个库存物品
  • attempt_skill_check(player_id, skill_type, target?) - 进行技能检定

地下城主工具

  • generate_room(theme, difficulty, connections?) - 创建新房间
  • add_encounter(room_id, encounter_type) - 添加怪物、陷阱或谜题
  • update_room_description(room_id, new_description) - 修改房间描述
  • create_custom_ability(name, description, mechanics) - 创建新能力
  • get_dungeon_overview() - 查看当前地牢状态

建筑细节

数据库模式(DynamoDB)

玩家表

  • player_id (哈希键)
  • 角色数据、属性、库存、位置

房间表

  • room_id (哈希键)
  • 房间描述、出口、物品、怪物、谜题

游戏状态表

  • game_id (哈希键)
  • 回合顺序,活跃会话,全局状态

动作队列表

  • action_id (哈希键)
  • timestamp (GSI) 可以翻译为“(全球定位系统)”或者根据具体上下文,也可能是“(某特定机构或系统的缩写)”,但通常“GSI”在没有特定上下文时,最直接的翻译是“全球定位系统”(Global Satellite-based Positioning System,不过更常见的缩写是GPS)。不过,由于“GSI”可能代表不同的含义,具体翻译需结合上下文。在这里,我给出了一个较为通用的翻译
  • 待处理的事项及其优先级

消息队列(RabbitMQ)

  • 动作队列玩家操作等待处理
  • DM 队列内容生成请求
  • 事件队列游戏事件和通知
  • 回合解决(或回合结束)有序动作处理

发展

项目结构

mcp-mud-game/
├── mcp_server.py          # Main MCP server
├── game_engine.py         # Core game logic
├── character_system.py    # RPG character mechanics
├── dungeon_manager.py     # Dynamic content generation
├── action_processor.py    # RabbitMQ action handling
├── database_manager.py    # DynamoDB operations
├── dice_system.py         # Dice rolling and skill checks
├── config.py             # Game configuration
├── docker-compose.yml    # Full stack deployment
├── workflows/            # n8n workflow templates
├── scripts/              # Setup and utility scripts
└── docker/              # Docker configurations

添加新功能

  1. 新的MCP工具添加到 mcp_server.py 并在(其中)实施 game_engine.py
  2. 新的角色类别更新 config.py 并且 character_system.py
  3. 新房间类型添加到 dungeon_manager.py 房间模板
  4. 新法术/技能更新拼写数据库 game_engine.py

配置

编辑 config.py 修改:

  • 字符类定义
  • 难度等级
  • 房间主题和生成参数
  • 数据库和队列设置

AI代理集成

n8n 工作流

该项目包含预构建的n8n工作流,用于:

  • 球员经纪人自主角色控制
  • 地牢大师(或称为“地下城主”、“游戏主持人”,在角色扮演游戏领域中负责管理游戏进程、设定场景、扮演非玩家角色等)动态内容生成
  • 共享节点可重用的MCP通信组件

Ollama 集成

AI代理使用本地Ollama模型进行决策:

  • 角色动作选择
  • 《地下城之主》的创造力
  • 叙事生成
  • 解决问题

故障排除

常见问题

  1. 服务未启动检查Docker守护进程和端口可用性
  2. 数据库连接错误确保DynamoDB Local正在运行
  3. RabbitMQ 连接问题验证RabbitMQ容器状态
  4. 未找到Ollama模型docker exec ollama ollama pull llama3.2

日志

查看日志以进行调试:

docker-compose logs mcp-mud-server
docker-compose logs rabbitmq
docker-compose logs ollama

做出贡献

  1. 为仓库创建分支(或:克隆仓库)
  2. 创建一个特性分支
  3. 实施更改并进行测试
  4. 提交拉取请求

许可证

此项目遵循MIT许可协议授权——详情请参阅LICENSE文件。

致谢

  • 采用模型上下文协议(MCP)构建
  • 受经典MUD游戏的启发
  • 采用D&D风格的机制以增强熟悉感
  • 专为人工智能代理交互与自动化设计

目录标签

目录标签

PythonAI代理工作流自动化多用户地下城本地部署AI代理交互动态生成角色扮演游戏回合制战斗

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP