Token导航 LogoToken导航TokenDH.com
Re Engine MCP logo
AI代理未说明官方级别未说明来源级核验

Re Engine MCP

MCP Server

一个允许AI代理通过MCP协议实时访问和修改RE Engine游戏状态的服务器,支持多种游戏如《生化危机》、《怪物猎人》等。

工具数

37

提示词数

0

GitHub Stars

20

资源数

0
游戏开发C#ClaudeClaudeCursor

安装说明

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

作者 / 组织

praydog

提供方

praydog

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

RE引擎MCP服务器

MCP(模型上下文协议) 该服务器为AI代理提供实时、编程访问任何正在运行的RE引擎游戏的权限,包括《生化危机》、《怪物猎人》、《鬼泣》、《龙的教条》等。

  • 检查一切。 100000多种类型,每个单例,每个字段,每个方法——可以从正在运行的游戏中搜索和导航。调用任何方法,在对象图上链接多步查询,在单个请求中执行批处理操作。
  • 读写实时状态。 玩家健康、敌人AI、库存、位置、装备——代理人实时看到游戏中看到的内容。
  • 在对话中构建模组。 编写C#插件,将它们热加载到正在运行的游戏中,读取编译错误,修复,重新部署——完整的开发循环,中间没有人。
  • 跨游戏工作。 同样的工具适用于RE2、怪物猎人荒野、RE9、DMC5、DD2和任何其他RE引擎游戏。每个游戏端点(X先生追踪器、怪物HP、自适应难度)会自动亮起。

网络仪表盘 --玩家统计数据、敌人名单、库存、X先生实时跟踪器——完全由人工智能代理使用这些MCP工具在单个对话中构建,而无需事先了解每个游戏的内部。

设置

先决条件

  • REFramework夜间构建 为您的游戏安装。 您必须使用夜间构建 --稳定版本不包括。NET支持。
  • csharp-api.zip相同的夜间发布页面.将其提取到游戏中 reframework/ 文件夹以获取。NET运行时和插件所需的引用程序集。
  • .NET 10运行时和SDK --由C#API和MCP服务器所要求。如果要从源代码构建MCP服务器,请安装SDK,如果使用预构建版本,则只需安装运行时。

1.安装游戏插件

复制 reframework/ 将文件夹放入游戏目录。它反映了REFramework期望的确切文件夹结构:

/reframework/plugins/source/TestWebAPI.cs
/reframework/plugins/source/WebAPI/

REFramework将在下次游戏发布时热编译插件。你应该看看 [WebAPI] Listening on http://localhost:8899/ 在REF框架日志中。

2.连接MCP客户端

回购根包含 .mcp.json --支持工作区级MCP配置(Claude Code、Cursor等)的代理将在您打开项目时自动检测到它。

要在任何MCP客户端手动注册,请将以下内容添加到您的MCP配置中:

{
  "mcpServers": {
    "reframework": {
      "command": "dotnet",
      "args": ["run", "--project", "/path/to/mcp-server"],
      "env": {
        "REFRAMEWORK_API_URL": "http://localhost:8899"
      }
    }
  }
}

或者使用中的辅助脚本 mcp-server/ (install.cmd / install.sh)通过注册 claude CLI。

3.启动游戏

加载REFramework开始游戏。插件会自动编译并启动HTTP服务器。MCP服务器在第一次工具调用时连接到它。

Web仪表板

打开 http://localhost:8899 在游戏运行时在浏览器中。仪表板会自动检测正在运行的游戏并显示相关卡片:

  • 玩家 --带有滑块、位置、状态徽章(毒药、战斗等)的HP栏
  • 敌人 --带有HP栏、距离、杀伤追踪的活动敌人列表
  • 库存 --带有武器弹药/耐久性条、装备武器、物品数量的物品袋
  • X先生追踪器 (RE2)——实时人工智能状态(追逐/搜索/眩晕/遥信)、距离接近栏、位置、杀死/眩晕计时器、屏幕检测
  • 游戏信息 --场景、难度、自适应难度等级以及伤害/中断倍数、保存计数
  • 怪物 (MH Wilds)--大型怪物HP、种类、位置、距离
  • 天气 (MH Wilds)-当前/下一个天气、混合率、游戏内时钟
  • 设备 --武器属性、护甲、装饰
  • 对象资源管理器 --浏览单例、浏览对象图、交互式检查字段和方法

不适用于当前游戏的卡片会自动隐藏。相同的插件二进制文件,相同的仪表板代码——它只是适应。

整个仪表板——每张卡、每个端点、每一行CSS——都是由AI代理使用此仓库中的MCP工具构建的。没有人写玩家HP栏、敌人列表、库存渲染器或X先生跟踪器。

过程:一个代理探索了实时游戏的对象图,以发现可用的数据。它编写了API端点来公开数据,编写了HTML/JS/CSS来呈现数据,针对正在运行的游戏进行了测试,并进行了迭代,直到它工作为止。完整的RE2仪表板——玩家、敌人、库存、游戏信息、X先生追踪器——大约需要30分钟。

每场比赛检测、自适应卡片可见性、RE2特定功能——所有这些都是通过回购提供的相同工具自主构建的。仪表板既是一个有用的功能,也是MCP服务器使之成为可能的证明。

运作原理

游戏插件使用REFramework.NET访问RE引擎的托管对象系统。每个游戏对象、单例、类型、字段和方法都可以通过类型数据库(TDB)访问。插件将其公开为REST API:

  1. 键入查询 直接转到TDB——不需要实时实例
  2. 物体检查 从游戏托管堆中的活动对象读取字段值
  3. 方法调用 通过REFramework的托管互操作层调用游戏方法
  4. 链查询 在服务器端遍历对象图,在单个请求中展开字段、调用方法、过滤和收集结果

MCP服务器是一个精简的翻译层。每个MCP工具都映射到一个HTTP端点。命名管道通道为编译/日志操作提供了一个辅助通信路径,这些操作必须在加载HTTP插件之前工作。

建筑

三个组件,每个组件都独立有用:

  AI Agent / MCP Client
        |
        | MCP protocol (stdio)
        v
  +-----------------+
  |   MCP Server    |  mcp-server/     .NET console app
  |  (stdio bridge) |  Translates MCP tool calls -> HTTP
  +-----------------+
        |
        | HTTP (localhost:8899)
        v
  +-----------------+
  |  Game Plugin    |  plugin/          C# REFramework.NET plugin
  |  (HTTP server)  |  Runs inside the game process
  +-----------------+
        |
        | REFramework.NET API
        v
  +-----------------+
  |   RE Engine     |  The actual game
  |   Game Process  |
  +-----------------+

reframework/plugins/source/TestWebAPI.cs --加载的C#插件 重构框架 游戏内部。它在上启动HTTP服务器 localhost:8899,暴露 /api/* 通过REFramework.NET的托管API调用游戏引擎的端点,并从 WebAPI/ 文件夹。

reframework/plugins/source/WebAPI/ --一个带有实时对象浏览器和玩家仪表板的静态web前端。打开 http://localhost:8899 在游戏运行时在浏览器中。

mcp-server/ --一个独立的。NET 10控制台应用程序,通过stdio与MCP通信。它将MCP工具调用转换为对游戏插件的HTTP请求。还有一个命名的管道通道,用于带外操作(编译状态、日志、错误),这些操作甚至在HTTP插件加载之前就可以工作。

支持的游戏

REFramework支持的任何RE引擎标题:

游戏便利性端点
怪物猎人:荒野玩家、装备、怪物、地图、天气、大厅、库存、palico、材料、聊天、狩猎日志
生化危机2玩家、敌人、库存、游戏信息(场景/难度/自适应等级)、X先生跟踪器(AI状态、距离、计时器)
生化危机9玩家、装备、敌人、地图、库存
《鬼泣5》、《龙的教条2》、RE 3/4/7/8、MH Rise、SF6。..核心浏览器端点(适用于任何RE引擎游戏)

该插件在预处理器符号后面有每个游戏的便利端点(#if MHWILDS, #elif RE9, #elif RE2).核心资源管理器端点——类型搜索、对象检查、字段读/写、方法调用——无需修改即可在任何RE引擎游戏中工作。

50+MCP工具

类别工具它们的作用
游戏状态get_player, get_equipment, get_map, get_monsters, get_inventory, get_stalker, get_weather, get_lobby, get_camera阅读玩家数据、装备、敌人、库存、X先生追踪器、天气、大厅
类型数据库search_types, get_type, get_tdb搜索和检查100k+类型数据库
对象资源管理器get_singleton, get_singletons, inspect_object, summary, read_field, call_method, get_array导航、检查和读取内存中的任何活动对象
突变invoke_method, write_field, set_health, set_position写入字段、调用方法、修改游戏状态
遍历chain, batch多步对象图导航和批处理操作
材料get_materials, set_material_visibility检查并切换网格材料可见性
本地化localize_guid将邮件GUID解析为本地化文本
开发工具compile_status, wait_compile, get_errors, clear_errors, get_log, clear_log监控热重载、读取编译错误、尾部日志
系统get_game_info, get_plugins, help游戏路径、加载的插件、代理导航指南

使用示例

连接后,您可以向您的代理询问以下问题:

  • *“我目前的健康状况和职位是什么?”*
  • *“找到管理天气的类型,并向我展示它的字段。”*
  • *“将我的健康设置为最大。”*

但真正的力量在于开放式的请求。你不需要知道游戏的内部——代理会弄清楚的:

  • *“弄清楚保存系统是如何工作的,并编写一个模块,将其扩展到90个保存槽。”*
  • *“找出控制物品掉落率的因素,并制作一个将其加倍的插件。”*
  • *“对损伤公式的工作原理进行逆向工程,然后编写一个添加损伤日志覆盖的C#插件。”*
  • *“我想改变天气,让它永远阳光明媚。找到合适的单身汉,弄清楚田地,然后实现它。”*

现实世界示例:查询地图上的每个大型怪物(怪物猎人荒野,约7分钟)

一位用户问: *“当前加载了哪些大型怪物?请告诉我每个怪物的种类、生命值、最大生命值、位置以及与角色的距离。”*

该代理对游戏的敌方系统一无所知。它找到了敌人管理器单例,导航了一个多步骤对象图 chain 查询,并过滤到boss类型的敌人。它通过GUID定位解析怪物名称,读取HP和位置,并计算3D距离。在此过程中,它发现并纠正了一个不明显的枚举偏移错误 SPECIES_FixedSPECIES 变体。输入15个单词的问题,格式化表格。

怪物物种生命值最大生命值距离
Doshaguma尖牙野兽1440014400512米
拉拉·巴里纳滕诺克兰1048310483348米
拉提安飞天飞人1177211794207米
Rathalos飞禽1350013500309米
乌思·杜纳利维坦2019620196607米

Full step-by-step breakdown

  1. 获取玩家的位置 通过 get_player --稍后需要进行距离计算。
  2. 找到敌方经理 -- get_singleton("app.EnemyManager") 获取敌方对象图的根。
  3. 浏览敌人名单 --多步骤 chain 查询: EnemyManager -> _EnemyListcManagedArray) -> get_Array() ->展开数组->过滤 get_CharacterValid=True -> get_Context() -> get_Em() -> Basic ->过滤条件 get_IsBoss=True。这从全部敌人池中产生了5个boss类型的敌人。
  4. 解析怪物名称 --呼叫 EnemyDef.EnemyName(ID) 让每个老板都获得一个GUID,然后通过批量解析这些GUID localize_guid 以获取本地化名称。
  5. 阅读HP --导航每个敌人的 Context -> Chara -> HealthManager 并致电 get_Health() / get_MaxHealth().
  6. 读取位置 --呼叫 get_Pos() 每个敌人的 ManageInfo 对象以获取世界坐标。
  7. 解析物种名称 -- EnemyDef.Species(ID) 返回a SPECIES_Fixed 枚举,但是 EnemyDef.EmSpeciesName() 期望非固定 SPECIES 枚举。这些看起来是相同的(相同的成员名称),但具有不同的底层整数值—— _Fixed 变量从0开始,而非固定变量从-1开始,将每个值移动1。代理通过比较数据对象上的支持字段、推断偏移模式、更正枚举值并获得正确的物种名称来发现这一点。
  8. 计算距离 --从每个怪物的位置到玩家的欧几里德3D距离。

现实世界示例:为《生化危机2》构建X先生跟踪器(约5分钟)

一位用户问: *“将Mr.X跟踪器添加到仪表板。”*

特工从未见过RE2的敌方系统。它探索 EnemyManager,发现 Em6200ChaserController 列表(生成X先生时计数=1),并导航到 Em6200Think AI大脑及其状态标志和计时器。

在那里,它编写了完整的功能:API端点,具有优雅的缺席处理,带有彩色状态徽章和距离接近条的仪表板卡,CSS和MCP工具注册。所有这些都是通过热重新加载部署的,并在运行中的游戏中进行了测试。

{
  "active": true,
  "status": "Chasing (Aggressive)",
  "state": "Move",
  "location": "RPD",
  "playerDistance": 3.19,
  "ai": { "isSleeping": false, "isEncounting": true, "isKillingMode": true, "isGhostMode": false },
  "timers": { "killingTimer": 19.8, "sleepTimer": 0 }
}

Full step-by-step breakdown

  1. 找到入口点 -- get_singleton("app.ropeway.EnemyManager"),然后发现 get_Em6200ChaserController() 返回a List (当X先生出生时,计数=1,当他不在当前场景中时,计数为0)。
  2. 绘制控制器地图 --检查了控制器对象:运动状态(停止/移动/等待/开门/过门/鬼门开门)、鬼门模式、位置ID、安全室检测、带禁用定时器的始终追踪模式。
  3. 导航到AI大脑 -- get_Think() 控制器上的产量 Em6200Think,它持有真实的AI状态: IsSleeping, IsEncounting, IsKillingMode, IsGhostMode, IsScreenTarget,加上距离跟踪(PlayerDistanceSq)、击杀/眩晕计时器和攻击视线计时器。
  4. 处理缺席案件 --当X先生未被生成时,追逐控制器列表为空。端点返回 { active: false, reason: "Mr. X not spawned" } 而不是崩溃。
  5. 写入端点 --作者 GetStalkerRE2() 在插件中,注册了路由,通过热重载部署。
  6. 构建仪表板卡 --颜色编码的状态徽章(红色=追逐,黄色=搜索,绿色=震惊,紫色=遥信),随着X先生靠近而变为红色的距离接近栏,AI标志徽章和非零计时器显示。

自主发展

代理不仅可以读取游戏状态,还可以对实时游戏运行完整的开发循环:

  1. 发现。 在类型数据库中搜索相关单例。检查它们的字段和方法,探测活动对象以了解数据布局。代理扇出并行查询,以找到正确形状的填充集合。
  2. 写。 编写一个C#插件(或修改现有插件)并将其保存到游戏的 reframework/plugins/source/ 目录。
  3. 建造。 插件会自动进行热编译。代理通过MCP服务器读取编译状态和错误,无需手动检查。
  4. 测试。 部署执行特定行为的测试插件,从游戏日志中读取结果,并验证正确性。如果出现故障,代理会读取错误,修复代码并重新编译——所有这些都不需要人为干预。
  5. 迭代。 重复直到测试通过。代理可以定位候选对象,编写目标测试,修复错误输出中的字段名或类型不匹配,并自主收敛到工作代码。

例如:给定一个具有中断的集合迭代的C++API,代理会实时探测 Dictionary, HashSet, List,以及 Array 在多个游戏单例中使用对象来表征失败。它读取C++源代码以确定根本原因,编写修复程序并构建它。

然后它需要测试数据。它查询类型数据库并检查活动单例,以找到每种类型的已填充集合—— Dictionary 共有37个条目,a HashSet 共有113个条目,a Dictionary 使用结构键实现多样性。它组装了一个22测试回归套件,将其部署为热编译插件,读回日志,修复错误输出中的错误字段名,重新部署,并收敛为22 PASS,0 FAIL。在“修复损坏的枚举器”和最终结果之间,没有人触摸键盘。

代理商指南(help 工具)提供了详细的导航路径、链示例和提示——在任何新会话中都要先调用它。

许可证

麻省理工学院

目录标签

目录标签

游戏开发C#Claude本地部署实时数据访问AI代理游戏修改REEngine

支持客户端

ClaudeCursor

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

37

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP