Slay the Spire 2本地控制栈

sts2-mcp是一个高性能的本地控制栈,用于Slay the Spire 2游戏,通过Model Context Protocol (MCP)连接游戏内部状态与外部AI代理。

  • by Yidhar
  • JavaScript
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 Yidhar/sts2-mcp

使用说明

sts2 mcp🌌

sts2-mcp 是一个高性能的本地控制栈,用于 杀死尖塔2。它使用 模型上下文协议(MCP).

与传统的屏幕抓取或基于OCR的解决方案不同, sts2-mcp 使用a 本机C#桥模块 提取精确的游戏数据并直接暴露法律行为,确保100%的准确性和亚毫秒级的延迟。


🏗️ 建筑

该项目由两个主要部分组成:

1. mods/sts2-bridge (“传感器和执行器”)

C#/。NET 9 mod,直接注入Slay the Spire 2进程。

  • 状态序列化:将复杂的游戏内对象(Run、Combat、Rewards、Maps)转换为干净的JSON。
  • 动作执行:直接调用游戏方法来执行纸牌游戏、选择和导航。
  • 发现:自动创建会话文件,供MCP服务器查找和连接。

2. packages/mcp-server (“接口”)

一个实现标准MCP的Node.js 22服务器。

  • 工具映射:将桥接HTTP端点转换为标准MCP工具。
  • 安全:实施 state_version 防守以防止“过时”的行为(例如,试图打出一张已经用尽的牌)。
  • 优化:处理奖励、商店和篝火的复杂批处理,以尽量减少LLM往返。

🛠️ MCP工具参考

服务器向任何符合MCP的代理(如Claude Desktop或Antigravity)公开以下工具:

工具 说明
sts2_get_state 获取完整的当前游戏状态(屏幕、健康、甲板、遗迹等)。
sts2_get_deck 返回完整的主甲板,用于低频战略规划。
sts2_list_actions 列出玩家当前可用的所有法律行动。
sts2_perform_action 通过其唯一ID执行单个操作,可选 return_state_after 对于完整的原始动作后桥接状态。
sts2_play_card_sequence 按顺序玩多张牌,并自动手动重新索引。
sts2_execute_combat_sequence 运行混合战斗序列,可以结合纸牌游戏、药水使用和 end_turn 在一次通话中。
sts2_resolve_room_rewards 领取所有金币/魔药,并可在一次通话中选择一张牌。
sts2_resolve_rest_site 执行休息/史密斯操作,然后返回地图。
sts2_resolve_card_selection 完美处理卡片拾取/跳过/转换屏幕。
sts2_pick_option 选择索引奖励/事件/休息/卡选择选项,而不进行原始动作id猜测。
sts2_travel_to_coordinate 解决清理问题,等待稳定的地图快照,然后移动到坐标。
sts2_resolve_shop_visit 一次性购买多件商品并移除一张卡片。

🚀 入门指南

先决条件

  • 操作系统:Windows(Slay the Spire 2目前仅适用于Windows)。
  • 运行时: Node.js 22+.
  • 游戏:《杀死尖塔2》的合法副本。

选项A:使用预编译版本(推荐)

  1. 下载最新 sts2-bridge 从“发布”页面发布(DLL和相关文件)。
  2. 创建一个名为的文件夹 sts2-bridge 在你的游戏里 mods 目录。
    • 例子: <PATH_TO_STS2>\mods\sts2-bridge
  3. 将下载的文件放入该文件夹。

选项B:从源头开始构建

如果你更喜欢自己编译,你还需要 .NET 9 SDK. 设置游戏安装路径并构建项目:

$env:STS2_DIR = "<PATH_TO_STS2>"
dotnet build .\mods\sts2-bridge\sts2-bridge.csproj

注意:这将自动将构建输出复制到游戏的 mods\sts2-bridge 文件夹。

下一步。..

  1. 启动游戏:《杀死尖塔2》。网桥将在以下位置初始化并创建会话文件 %APPDATA%\SlayTheSpire2\bridge\session.json.
  2. 启动MCP服务器:
node .\packages\mcp-server\index.js

🗺️ 路线图和TODO

  • [ ] 更好的工具:扩展MCP工具集,以实现更精细的状态查询和复杂的操作序列。
  • [ ] 多人游戏支持:使代理能够与合作/多人游戏机制进行交互或管理。
  • [ ] 游戏内对话整合:将AI策略文本和推理直接注入游戏的对话框中,以获得更身临其境的视觉体验。

📝 配置

MCP服务器会自动查找网桥会话文件。您可以通过环境变量覆盖它:

  • STS2_BRIDGE_SESSION_FILE:自定义会话JSON的路径。

战斗使用说明:

  • 不要将连续的战斗游戏与重复的战斗游戏并行化 sts2_perform_action 电话。
  • 使用 sts2_play_card_sequence 对于卡只转。
  • 使用 sts2_execute_combat_sequence 当一个回合混合了纸牌游戏、药水使用或 end_turn.

⚖️ 免责声明和许可

免责声明这是一个非官方的社区项目。它与Mega Crit或Slay the Spire 2的开发者没有任何关联、背书或联系。使用风险自负。

许可证: 麻省理工学院