pypi renforgestdioMITupdated 12d ago
RenForge is an MCP (Model Context Protocol) server, CLI, and web dashboard for working with Ren'Py visual-novel projects.
What can you do with renforge?
RenForge
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.
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.
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.
| Audience | Start here |
|---|---|
| Human | Dashboard or game window โ launch โ click RF โ select from canvas or scene tree โ inspect / move where editable โ Save โ stop cleanly. |
| AI agent | renforge_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:
# Full install โ MCP + CLI + web dashboard
pipx install "renforge[ui]"
renforge ui
# Slim install โ MCP server + CLI only (no dashboard deps)
pipx install renforge
renforge 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 with | How to update |
|---|---|
uvx โฆ @latest |
Nothing to do โ @latest fetches the newest release on each start |
| pipx (full or slim) | pipx upgrade renforge |
| pip / venv | pip 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:
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
claude mcp add renforge -- uvx renforge@latest serve
Codex CLI
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:
{
"mcpServers": {
"renforge": {
"command": "uvx",
"args": ["renforge@latest", "serve"]
}
}
}
| Client | Config file |
|---|---|
| Claude Desktop | claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Cline | cline_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. Thenrenforge_measurereports alignment, spacing, overlap, fit, and WCAG contrast as numbers an agent can act on. - Autopilot โ auto-play the game across branches and report label coverage and crashes.
- 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
renforge --version
renforge 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.
Install
Add renforge to your client. Pick the one you use.
claude mcp add renforge -- uvx renforgecodex mcp add renforge -- uvx renforgeamp mcp add renforge -- uvx renforge{
"mcpServers": {
"renforge": {
"command": "uvx",
"args": [
"renforge"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"renforge": {
"command": "uvx",
"args": [
"renforge"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"renforge","command":"uvx","args":["renforge"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"renforge": {
"command": "uvx",
"args": [
"renforge"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"renforge": {
"command": "uvx",
"args": [
"renforge"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"renforge": {
"command": "uvx",
"args": [
"renforge"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"renforge": {
"type": "local",
"command": "uvx",
"args": [
"renforge"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"renforge": {
"command": {
"path": "uvx",
"args": [
"renforge"
]
}
}
}
}Add to your Zed `settings.json`.
uvx renforgeRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance25/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 4 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 0.7.1Latest | Aug 17, 2026 |
| 0.7.0 | Aug 11, 2026 |
| 0.6.6 | Jul 24, 2026 |
| 0.6.5 | Jul 21, 2026 |
| 0.6.4 | Jul 20, 2026 |
| 0.6.3 | Jul 20, 2026 |
| 0.6.2 | Jul 19, 2026 |
| 0.6.1 | Jul 19, 2026 |