游戏AI桥接工具

连接Claude Code与Cyberpunk 2077的MCP服务器,支持执行Lua代码、查询游戏状态、操作TweakDB、管理库存和观察游戏事件。

  • by Y4rd13
  • Lua
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Y4rd13/cyber-engine-tweak-mcp

使用说明

CET-MCP-赛博朋克2077 AI桥

MCP服务器,将克劳德代码连接到赛博朋克2077中的赛博引擎调整(CET)。执行Lua代码、查询游戏状态、操纵TweakDB、管理库存和观察游戏事件——所有这些都是在游戏运行时从您的终端完成的。

运作原理

Claude Code → stdio/JSON-RPC → MCP Server → TCP (RedSocket) → CET Bridge Mod → Game Engine

MCP服务器作为Claude Code子进程运行。它在上打开一个TCP服务器 localhost:27010CET桥接模块(Lua)通过以下方式连接到它 RedSocket 并在游戏的Lua VM中执行命令。如果未安装RedSocket或TCP端口已在使用中(支持多个会话),则自动回退到基于文件的IPC。

与配对 WolvenKit MCP 完整的人工智能辅助建模管道。

需求

设置

# 1. Clone and build
git clone https://github.com/y4rd13/cyber-engine-tweak-mcp.git
cd cyber-engine-tweak-mcp
npm install
npm run build

# 2. Copy CET mod to game directory
cp -r cet-mod/CETBridge "/path/to/Cyberpunk 2077/bin/x64/plugins/cyber_engine_tweaks/mods/CETBridge"

# 3. Add to Claude Code globally
claude mcp add cet-bridge -s user \
  -e "CET_BRIDGE_DIR=/path/to/cyber_engine_tweaks/mods/CETBridge" \
  -e "CET_TRANSPORT=tcp" \
  -- node /path/to/cyber-engine-tweak-mcp/build/index.js

工具(37)

执行

工具 说明
execute_lua 在CET控制台中运行Lua代码
evaluate_expression 计算Lua表达式并返回结果
batch_execute 在一次往返中执行多个Lua语句

游戏状态

工具 说明
get_player_info 玩家等级、健康状况、街头信誉、位置
get_game_state 游戏时间、场景级别、天气、区域类型
add_item 按TweakDB ID将商品添加到库存
teleport 将玩家传送到世界坐标
set_time 更改游戏时间
set_weather 天气变化(晴、雨、雾、沙尘暴等)

库存

工具 说明
get_inventory 使用类型筛选列出玩家库存
remove_item 从库存中删除项目
get_equipped 显示当前装备的武器、服装、网络软件

玩家

工具 说明
set_stat 修改玩家属性(生命值、护甲、等级等)
apply_status_effect 为玩家应用增益/去增益
remove_status_effect 删除状态影响
get_active_effects 列出玩家的所有活动状态效果
toggle_god_mode 打开/关闭抗毁性
set_level 直接设置玩家等级和/或街头信誉
get_appearance_info 获取玩家当前的视觉外观
get_vehicle_list 列出玩家车库中的所有车辆

世界

工具 说明
spawn_vehicle 在玩家附近制造车辆
get_nearby_entities 扫描附近的NPC、车辆、物品
kill_nearby_npcs 杀死半径内的敌方(或所有)NPC
show_notification 显示游戏内UI通知
play_sound 在游戏中播放声音事件
get_scanner_info 获取您正在查看的实体的信息

任务

工具 说明
get_quest_fact 读取任务进度标志
set_quest_fact 设置任务进度标志

TweakDB

工具 说明
get_tweakdb_value 读取TweakDB平面图或记录
set_tweakdb_value 写入TweakDB平面值
search_tweakdb 按模式搜索TweakDB记录
dump_type 反思游戏RTTI类型(方法、属性)

观察

工具 说明
observe_events 通过CET Observe订阅游戏活动
get_observations 读取缓冲事件观察结果

开发工具

工具 说明
get_connection_status 检查网桥连接和传输类型
read_log 阅读CET脚本.log
list_mods 列出已安装的CET模组

配置

变量 默认值 描述
CET_BRIDGE_DIR (参见.mcp.json) CETBridge mod目录的路径
CET_TRANSPORT tcp 运输: tcp (RedSocket)或 file (回退)
CET_TCP_PORT 27010 TCP服务器端口

多会话支持

可以使用多个Claude Code会话 cet-bridge 同时:

  • 第一次会议:绑定TCP端口27010(快速,约1ms)
  • 额外会议:自动回退到基于文件的IPC(~16-33ms)
  • 没有会话崩溃——回退是无缝的

建筑

看 docs/architecture.md 查看详细图表。

组件 语言 角色
MCP服务器 TypeScript 克劳德代码的stdio传输,游戏网桥的TCP服务器
CET Bridge Mod Lua 在游戏中运行,向CET Lua VM发送命令

发展

npm run build    # Compile TypeScript
npm run dev      # Watch mode
npm run inspect  # Test with MCP Inspector

更改Lua文件后,将其复制到游戏目录:

cp cet-mod/CETBridge/*.lua "/path/to/cyber_engine_tweaks/mods/CETBridge/"

安全

  • TCP绑定到 localhost 只是——没有网络曝光
  • 所有用户代码都在中运行 pcall() --错误被发现,永远不要让游戏崩溃
  • 这是一个 开发工具 --不适用于多人游戏或制作用途
  • Lua中的无限循环 将冻结游戏 (没有本机代码就无法缓解)

许可证

麻省理工学院