游戏模组开发工具

STS2 Modding MCP是一个专为《Slay the Spire 2》设计的模组开发工具集,提供151种工具支持逆向工程、代码生成、构建部署、实时场景检查和自动化测试等功能。

  • by elliotttate
  • Python
  • 本地部署
  • 25 星标
  • 更新于
在 GitHub 查看 elliotttate/sts2-modding-mcp

使用说明

STS2改装MCP

A. 模型上下文协议 服务器 杀死尖塔2 改装。连接到任何兼容MCP的AI助手(Claude Code、Claude Desktop、Cursor、Windsurf等),并提供 151工具 用于对游戏进行逆向工程,生成模组代码,构建/部署,实时检查正在运行的Godot引擎,以及自主测试模组。

  • 逆向工程 --使用Roslyn语法树反编译C#程序集,索引3048+个实体和144个钩子,提取15000+个Godot资源
  • 代码生成 --适用于30多种实体类型、Harmony补丁、Godot UI、VFX、网络消息和完整mod项目的生产就绪C#
  • 代码智能 -来自自然语言的挂钩建议、补丁建议、调用图、API兼容性检查
  • 构建和部署 --构建mods,打包Godot PCK文件,部署到游戏中,验证资源和本地化,监视更改
  • 现场检查 --浏览正在运行的Godot场景树,读取/写入节点属性,切换可见性,使用Tween设置动画
  • 自动游戏测试 --开始种子跑步、打牌、浏览每个屏幕、以20倍的速度跑步、截图、设置断点
  • 29个内置导轨 --钩子、和谐、本地化、多人游戏、Godot UI、IL转译器、战斗、保存文件等

您的里程数将根据您使用的LLM而有所不同。这个项目是一个有趣的实验——如果你有问题、想建议一个功能或发现一个bug,请给我打电话。

先决条件

  • Python 3.11+ --检查一下 python --version
  • .NET SDK 9.0 --用于构建mods、Roslyn代码分析器和反编译
  • .NET 8.0运行时 --要求由 ilspycmd (见下文注释)
  • ilspycmd — dotnet tool install -g ilspycmd (用于C#反编译)
  • GDRE工具 --用于Godot资源提取(可选,安装向导可以下载)
  • 杀死尖塔2 --游戏本身

.NET版本说明: ilspycmd 目标。网8.0。如果你有。NET 9.0+安装后,反编译将失败并出现运行时错误。解决方法是 也 安装 .NET 8.0运行时 在你的旁边。NET 9.0 SDK。两者可以毫无问题地共存。

快速开始

git clone https://github.com/elliotttate/sts2-modding-mcp.git
cd sts2-modding-mcp
python -m venv venv

# Activate the virtual environment:
source venv/bin/activate         # macOS / Linux
# source venv/Scripts/activate   # Windows (Git Bash)
# venv\Scripts\activate.bat      # Windows cmd
# venv\Scripts\Activate.ps1      # Windows PowerShell

pip install .
python -m sts2mcp.setup          # auto-finds game, installs tools, decompiles

安装向导会自动找到您的Steam安装 ilspycmd 如果需要,可以反编译游戏源代码,可以选择下载GDRE Tools进行资产提取,并构建Roslyn代码分析器。在CI或非交互式shell中,使用 python -m sts2mcp.setup -y 自动接受所有提示。

连接到AI助手

MCP服务器连接到支持以下功能的任何AI工具 模型上下文协议.将配置指向 venv的Python 因此依赖关系始终可用。

替换 /path/to/sts2-modding-mcp 使用克隆仓库的实际路径。

克劳德代码(CLI):

# macOS / Linux:
claude mcp add sts2-modding /path/to/sts2-modding-mcp/venv/bin/python -- /path/to/sts2-modding-mcp/run.py

# Windows:
claude mcp add sts2-modding C:\path\to\sts2-modding-mcp\venv\Scripts\python.exe -- C:\path\to\sts2-modding-mcp\run.py

克劳德桌面 --编辑配置文件(%APPDATA%\Claude\claude_desktop_config.json 在Windows上, ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "sts2-modding": {
      "command": "/path/to/sts2-modding-mcp/venv/bin/python",
      "args": ["/path/to/sts2-modding-mcp/run.py"]
    }
  }
}

在Windows上,使用带反斜杠的完整路径: "command": "C:\\Users\\YourName\\sts2-modding-mcp\\venv\\Scripts\\python.exe".

Cursor/Windsurf/其他MCP客户端 --大多数编辑器使用相同的JSON配置格式。查看编辑器的MCP文档,了解将其放置在何处。

验证它是否有效

  • 克劳德桌面: 点击聊天输入底部的锤子图标——你应该会看到列出的sts2修改工具。尝试: “有哪些改装指南?”
  • 克劳德代码: 跑 /mcp --你应该看看 sts2-modding 列为已连接。尝试: “使用get_game_info向我显示服务器状态。”

如果服务器未连接,请运行 python run.py 直接在激活的venv中检查启动错误。

用法示例

连接后,询问您的AI助手以下问题:

  • “创建一个名为FlameForge的新模组,使用一张造成20点伤害并施加2点脆弱的卡牌”
  • “我应该用哪个钩子来添加额外的抽牌?”
  • “每次战斗第一次受到伤害时,生成一个能提供3点力量的遗迹”
  • “构建我的mod并安装它,然后开始试运行并进行战斗”
  • “显示Bash卡的源代码”
  • “Harmony IL转译器是如何工作的?”

更新游戏后补丁

STS2更新时:

  1. C#源代码 --奔跑 decompile_game (或手动重新运行 ilspycmd)以刷新反编译的源代码。Roslyn索引会在下一个查询时自动重建。
  2. Godot资源 --奔跑 recover_game_project 从更新的PCK中重新提取场景、纹理、资源和GDScript。

文档

详细参考资料见 docs/ 目录:

许可证

麻省理工学院