Renforge

io.github.alex-jordan547由 GitHub 账号 alex-jordan547 发布v0.7.3更新于 Nov 4, 2026

Inspect, drive and debug a running Ren'Py game: state, screenshots, guarded clicks, saves, builds.

概览

AI 生成的概览

面向 Ren'Py 视觉小说项目的 MCP 服务器、CLI 与仪表板:可检查项目、启动并操控运行中的游戏、截图以及构建发布包。

可以做什么
  • 检查 Ren'Py 项目:汇总结构,扫描脚本、标签与素材,解析 lint 输出
  • 启动并操控运行中的游戏:推进对话、选择选项、求值表达式、读写 store 变量、发送文本/按键/滚轮输入、轮询事件、抓取画面
  • 以结构化场景树读取画面(边界、层级、样式),并测量对齐、间距、重叠与对比度
  • 在 Live Editor 中编辑屏幕控件,支持源码安全预览与保存;自动试玩并报告标签覆盖率
  • 审计素材与翻译:查找孤立或缺失文件、列出语言、生成翻译文件、导出对话文本
  • 执行桌面与网页构建,并检索 Ren'Py 离线文档
适用场景
适合助手处理 Ren'Py 视觉小说时使用:了解陌生项目、排查布局或运行问题、用数值核对场景摆放,或自动化试玩与翻译工作。它面向本地桌面开发,而非无界面或网页环境。
运行要求
通过 uvx 以 stdio 在本地运行,需要 Python 3.11+ 与 uv。无需预先安装 Ren'Py:RenForge 会复用本机已有的 SDK,或在首次启动时自动下载。每次工具调用都需传入 project_path 参数。安装可选仪表板会引入额外依赖。
安装前请注意
启动游戏会注入游戏内桥接与 Live Editor,Live Editor 可写入受保护的 .rpy 源码文件;构建与翻译生成也会写入项目。软件处于 alpha 阶段,API 可能变动。仪表板默认仅监听本机。依赖前请先检查对源码的改动。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Renforge,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

RenForge

[PyPI] [Python] [License: MIT] [CI]

RenForge is an MCP (Model Context Protocol) server, CLI, and web dashboard for working with Ren'Py visual-novel projects.

It lets an AI agent — or a human via the dashboard — inspect a project, launch a game with the Live Editor enabled by default, select and inspect on-screen controls, preview layout changes before writing guarded .rpy source, drive runtime state, capture screenshots, generate translations, find orphaned assets, run builds, and search Ren'Py's docs.

Status: alpha, actively developed. The core surfaces (MCP tools, in-game bridge, Live Editor, CLI, dashboard) are functional; APIs may still change.

[RenForge Live Editor — selected editable control with scene tree, handles, inspector, and style panel]

Live Editor — select an editable control, inspect it, preview moves, then Save to source

[RenForge dashboard — live control of a running game] [Live Editor — locked selection with a clear human-readable reason]
Dashboard — live control of a running gameLive Editor — locked targets stay inspectable with a clear reason
[Story map — interactive graph of labels and transitions] [Assets — orphaned, missing and undefined asset audit]
Story map — click a node to warp the running gameAsset audit — orphans, missing files, undefined images

Quick start — dashboard

Requires Python 3.11+ and uv — nothing else. You don't even need Ren'Py installed: RenForge reuses an SDK it finds on your machine, or downloads one automatically on first launch.

bash
uvx --from "renforge[ui]@latest" renforge ui

Then choose your game in the dashboard's project picker — no path to type. (Or skip the picker with --project /path/to/your/game.) Launch the game and click the floating RF control to open the Live Editor.

Live Editor

The Live Editor is the headline 0.7 feature: edit eligible on-screen controls inside the running game, preview layout changes at runtime, and Save only when a target is source-safe. Locked or unsupported targets stay inspectable with a clear reason — they are not silently forced.

AudienceStart here
HumanDashboard or game window → launch → click RF → select from canvas or scene tree → inspect / move where editable → Save → stop cleanly.
AI agentrenforge_info (read live_editor) → renforge_launch → poll renforge_launch_status → renforge_screenshot / renforge_scene_tree → guarded renforge_click_at or renforge_click_element → verify → renforge_stop.

Full human and agent workflows, source-safety rules, and screenshots: docs/LIVE_EDITOR.md.

Install

uvx needs no install at all. For a persistent renforge command on your PATH, use pipx:

bash
# Full install — MCP + CLI + web dashboardpipx install "renforge[ui]"renforge ui
# Slim install — MCP server + CLI only (no dashboard deps)pipx install renforgerenforge serve

[ui] pulls in the optional dashboard stack (Starlette, uvicorn, watchfiles). Skip it if you only need the MCP server or CLI.

On managed systems (Debian/Ubuntu), plain pip install is blocked by PEP 668 — use uvx or pipx instead.

Update

Installed withHow to update
uvx … @latestNothing to do — @latest fetches the newest release on each start
pipx (full or slim)pipx upgrade renforge
pip / venvpip install -U "renforge[ui]" (or renforge for slim)

What's new: CHANGELOG.md · GitHub releases.

Set up the MCP server (AI agents)

The server command is the same for every client:

bash
uvx renforge@latest serve

Every RenForge tool takes a project_path argument, so the agent passes your game's path on each call — copy the configs below as-is, no path substitution.

Claude Code

bash
claude mcp add renforge -- uvx renforge@latest serve

Codex CLI

bash
codex mcp add renforge -- uvx renforge@latest serve

Claude Desktop, Cursor, Windsurf, Cline, Gemini CLI — same mcpServers JSON shape in each client's config file:

json
{  "mcpServers": {    "renforge": {      "command": "uvx",      "args": ["renforge@latest", "serve"]    }  }}
ClientConfig file
Claude Desktopclaude_desktop_config.json
Cursor.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
Clinecline_mcp_settings.json
Gemini CLI~/.gemini/settings.json

VS Code (Copilot), Zed, Windows PATH issues, and the pipx variant are covered in the MCP guide.

Verify it works — ask the agent:

Inspect my Ren'Py project at /path/to/game

The agent should call renforge_inspect_project with that path and return a JSON summary of the project (labels, scripts, assets, and related metadata).

What it does

  • Live Editor (default on launch) — in-game selection, inspection, and source-safe preview/Save for editable controls; locked targets stay inspectable. Guide: docs/LIVE_EDITOR.md.
  • Project inspection — summarize structure, scan scripts/labels/assets, parse lint output.
  • Live game control — launch a project with an injected in-game bridge and Live Editor, then advance dialogue, list/select choices, evaluate expressions, get/set store variables, send focused text/key/scroll input, poll pushed events, and capture frames the model can literally see.
  • Scene perception (pixel-perfect, no vision needed) — read the whole frame as structured logical-coordinate nodes (renforge_scene_tree): every sprite, control, and text block with bounds, z-order, colour, and style, plus an ASCII wireframe and structural scene diffs. Then renforge_measure reports alignment, spacing, overlap, fit, and WCAG contrast as numbers an agent can act on.
  • Autopilot — auto-play choices backed by Ren'Py menu items across fresh replays, including custom-named and one-item menus, while reporting label coverage and crashes. Custom call_screen interactions that do not expose Ren'Py menu items are not currently explored automatically.
  • Assets & translations — find orphaned/missing image+audio assets, list languages, compute translation stats, generate/update game/tl/<lang>/ files, export dialogue as text.
  • Builds — package desktop distributions and web builds.
  • Docs — search and read Ren'Py's offline documentation.
  • Web dashboard — live story map, activity log, autopilot coverage, lint view, and game-state controls (default 127.0.0.1:8765).

CLI

bash
renforge --versionrenforge inspect <project>      # lightweight project summary (JSON)renforge serve [--project .]    # start the MCP server (stdio transport)renforge ui [--project <project>] [--port 8765]  # start the web dashboard

Documentation

  • Live Editor — human and agent workflows, editable vs locked targets, source-safety, public screenshots.
  • MCP guide — full tool catalogue, agent workflows (Live Editor, hot reload, saves, pixel-perfect placement, scene perception).
  • Runtime policy — operation-level risk enforcement vs MCP ToolAnnotations, authorization, and the compatibility plan.
  • Architecture — code layout, live-control flow, Ren'Py SDK resolution, packaging.
  • Contributing — dev setup, frontend build, PRs.
  • Cloud / CI environment — Cursor Cloud Agents, Xvfb, Ren'Py SDK bootstrap, and env smoke.
  • Changelog — release history.
  • examples/demo_game/ — small sample Ren'Py project to try everything on.

License

MIT

Contributors

Special thanks to the people who have contributed to RenForge:

  • @AxelBeary — complete Simplified Chinese dashboard translation and related internationalization fixes.

来源:README.md,提交 3fb9031

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.7.3最新Oct 7, 2026
  2. v0.7.2Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分