当前位置: 首页 > news >正文

让 AI 写你的视觉小说:renpy-mcp,让 Cursor 原生开发 Ren‘Py 的 MCP 服务器

让 AI 写你的视觉小说:renpy-mcp,一个让 Cursor 原生开发 Ren’Py 的 MCP 服务器

你还在手动贴报错给 AI?还在复制.rpy代码片段问 ChatGPT?这篇文章介绍一个让 AI直接读懂、直接修改、直接编译验证你的 Ren’Py 项目的开源工具——renpy-mcp。

仓库地址:https://gitee.com/gdouage/renpy-mcp (欢迎 Star ⭐)


📌 目录

  • 一、痛点:Ren’Py 开发者为什么需要这个工具
  • 二、renpy-mcp 是什么
  • 三、15 个工具,AI 能做什么
  • 四、核心能力详解
  • 五、5 分钟上手
  • 六、真实工作流演示
  • 七、技术架构
  • 八、为什么不用 ChatGPT 直接问
  • 九、项目信息与反馈

一、痛点:Ren’Py 开发者为什么需要这个工具

如果你写过 Ren’Py,大概率经历过这些场景:

  1. 报错看不懂Exception: Could not find return labelUnicodeDecodeErrorSyntaxError……你只能把整段代码复制给 AI,AI 猜了半天还猜错。
  2. 改完不知道对不对:AI 给你改了代码,但你得自己点「启动项目」、自己跑 lint、自己看控制台报错、再复制回去问 AI——循环往复
  3. 文档查不到:Ren’Py 中文文档分散在doc.renpy.cn,AI 训练数据里未必有最新版,问它Movie(channel=...)怎么用,它可能给你编一个不存在的 API。
  4. 项目结构混乱:几百个 label、几十个 screen,谁调用了谁、哪个是死代码、哪个jump指向了不存在的标签——人肉看代码看到眼花

renpy-mcp 就是为了终结这个循环而生的。


二、renpy-mcp 是什么

renpy-mcp是一个 MCP(Model Context Protocol)服务器,让 Cursor、Claude Desktop 等 AI Agent 成为 Ren’Py 的原生开发助手

一句话概括:它让 AI 长出眼睛和手,能直接读你的项目文件、查官方文档、改代码、跑编译、修 bug——全程不用你当传话筒。

特性说明
🤖 AI 原生基于 MCP 协议,Cursor / Claude 开箱即用
📚 内置官方文档23 页 Ren’Py 中文文档打包在内,离线可搜
🔧 15 个工具读代码 / 写代码 / 编译验证 / 自动修复 / 素材管理 / 文档搜索
🌐 跨平台Windows / macOS / Linux 全支持,SDK 路径自动探测
🛡️ BOM 安全所有文件读写用utf-8-sig,不会漏掉第一行的 label

仓库地址:https://gitee.com/gdouage/renpy-mcp


三、15 个工具,AI 能做什么

renpy-mcp 给 AI 装上了 15 个工具,分成 7 大类:

🔍 读代码(4 个)

工具能力
list_labels列出全项目所有 label,rich 模式还能看参数、jump 目标、call 目标、是否 return 值
read_script读取指定 label 的完整代码块
find_references查找全项目中对某 label/screen 的所有 jump/call 引用
list_definitions盘点所有角色、立绘、transform、screen、default、define 声明

✏️ 写代码(1 个)

工具能力
exec_rpy往任意 .rpy 文件注入代码,支持 8 种定位模式(end/top/inside/after/before/replace/replace_all/自动建文件)

✅ 编译验证(3 个)

工具能力
compile_project编译 .rpy → .rpyc,抓语法错误
lint_project跑 Ren’Py lint 静态分析
check_project一次跑完编译 + lint

🩺 自动修复(2 个)

工具能力
auto_fix自动检测并修复 5 类常见问题,修完重新编译验证
list_fixers列出所有可用修复器

💾 存档管理(1 个)

工具能力
manage_saveslist / clear / clear_stale(清陈旧存档,修复崩溃报错)

🖼️ 素材管理(2 个)

工具能力
copy_asset拷贝图片/字体/音频到项目
get_image_size获取图片尺寸(算立绘定位用)

📖 文档搜索(2 个)

工具能力
search_docs搜索内置的 23 页 Ren’Py 中文官方文档
list_doc_pages列出所有可用文档页面

四、核心能力详解

1. 内置官方文档,AI 不再瞎编 API

这是 renpy-mcp 最硬核的能力之一。23 页 Ren’Py 中文官方文档(共 580KB)被打包在src/renpy_mcp/docs/里,包括:

  • quickstart.txt— 快速入门
  • screens.txt— 界面语言(77KB)
  • screen_actions.txt— 界面行为(60KB)
  • transforms.txt— 变换和 ATL(43KB)
  • gui.txt— GUI 定制化(44KB)
  • movie.txt— 视频播放
  • audio.txt— 音频
  • ……共 23 个页面

AI 调用search_docs("Movie")就能拿到官方文档里关于视频播放的真实段落,不再凭训练记忆瞎编。离线可用,不需要网络。

2. auto_fix:5 类常见 bug 一键修复

Ren’Py 开发里有几个反复出现的经典坑,renpy-mcp 能自动检测并修复:

修复器解决什么问题
return_valuesRen’Py label 里写return True/False会崩,自动改成$ _label_result = True/False+return
missing_fromcall xxxfrom子句会导致动态脚本报错,自动补from _call_xxx_N
bom_normalize有中文的文件没 BOM 会漏掉第一行 label,自动加 BOM
missing_labels检测 jump/call 到不存在的标签(只报告)
stale_saves检测_reload-*/_tracesave-*残留存档(只报告)

那个著名的Could not find return label报错,很多时候就是return True+ 陈旧存档导致的,renpy-mcp 能一次性解决。

3. find_references:重构前必查

要改一个 label,但不知道有多少地方调用了它?find_references("arrow_round")一调用,全项目所有jump arrow_roundcall arrow_round全列出来,还告诉你这个标签是否真的被定义了——没定义就是有 jump 指向了空气。


五、5 分钟上手

环境要求

  • Python3.12+
  • Ren’Py SDK8.0+
  • Cursor 或 Claude Desktop

安装

gitclone https://gitee.com/gdouage/renpy-mcp.gitcdrenpy-mcp# 创建虚拟环境python-mvenv .venv# Windows.venv\Scripts\pipinstall-e.# macOS / Linux.venv/bin/pipinstall-e.

配置 Cursor

编辑~/.cursor/mcp.json(不存在则创建):

{"mcpServers":{"renpy-mcp":{"command":"D:/absolute/path/to/renpy-mcp/.venv/Scripts/python.exe","args":["-m","renpy_mcp.server"],"env":{"PYTHONPATH":"D:/absolute/path/to/renpy-mcp/src","RENPY_SDK_PATH":"D:/absolute/path/to/renpy-sdk"}}}}

配置 Claude Desktop

编辑claude_desktop_config.json

{"mcpServers":{"renpy-mcp":{"command":"/absolute/path/to/renpy-mcp/.venv/bin/python","args":["-m","renpy_mcp.server"],"env":{"PYTHONPATH":"/absolute/path/to/renpy-mcp/src","RENPY_SDK_PATH":"/absolute/path/to/renpy-sdk"}}}}

macOS / Linux 用bin/python替代Scripts/python.exeRENPY_SDK_PATH不设也会自动扫描常见路径。

重启客户端

重启 Cursor / Claude Desktop,MCP 服务自动启动。现在对 AI 说「帮我看看这个项目的结构」,它就会自己调用list_labels去读了。


六、真实工作流演示

场景 1:接手一个陌生项目

你:帮我看看这个 Ren'Py 项目的结构 AI:[调用 list_labels(rich=True)] [调用 list_definitions()] AI:这个项目有 47 个 label,入口是 start,跳转到 chapter_01。 定义了 3 个角色(ab、paopao、zhao),12 个 screen,5 个 transform……

场景 2:写一个视频播放功能

你:帮我加一个循环播放的背景视频 AI:[调用 search_docs("Movie")] ← 查官方文档怎么用 Movie AI:[调用 exec_rpy(...)] ← 根据文档写正确的代码 AI:[调用 check_project()] ← 编译 + lint 验证 AI:编译通过,lint 无报错,视频已加到 fight_movie.rpy

场景 3:项目跑不起来

你:报错 Could not find return label,怎么办 AI:[调用 auto_fix()] ← 自动检测 5 类问题 AI:发现 arrow_qte.rpy 里有 return True,已自动修复 AI:[调用 manage_saves("clear_stale")] ← 清掉陈旧存档 AI:[调用 check_project()] ← 重新编译验证 AI:修好了,现在能正常跑了

全程不用你复制一行代码、不用你点一次启动按钮。


七、技术架构

┌──────────────────────────────────────────────┐ │ AI Agent (Cursor / Claude) │ │ via MCP Protocol calls │ └──────────────────────┬───────────────────────┘ ▼ ┌──────────────────────────────────────────────┐ │ renpy-mcp Server │ │ (FastMCP, 15 tools) │ ├──────────┬──────────┬──────────┬──────────────┤ │ 读代码 │ 写代码 │ 验证修复 │ 文档知识库 │ ├──────────┴──────────┴──────────┴──────────────┤ │ 正则解析 .rpy │ BOM安全文件读写 │ subprocess 调 SDK │ └──────────────────────────────────────────────┘ ▼ ┌──────────────────────────────────────────────┐ │ Ren'Py SDK (renpy.py) │ │ compile · lint · 项目文件 (.rpy/.rpyc) │ └──────────────────────────────────────────────┘

技术栈:MCP 协议 / FastMCP / Python 3.12+ / Pillow / setuptools


八、为什么不用 ChatGPT 直接问

对比项直接问 ChatGPT用 renpy-mcp + Cursor
看项目结构你手动复制粘贴AI 自己读,全项目视角
查 APIAI 凭记忆,可能编AI 搜内置官方文档,准
改代码AI 给你片段,你手动贴AI 直接写进文件
验证你自己点启动看报错AI 自己跑编译 lint
修 bug你描述报错,AI 猜AI 自己检测自己修
循环次数来回十几轮一句话搞定

一句话:renpy-mcp 把 AI 从「顾问」变成了「实习生」——能看、能写、能跑、能改。


九、项目信息与反馈

📦 仓库gitee.com/gdouage/renpy-mcp
📄 协议MIT
👤 作者abbuibuibui
✉️ 联系3244940576@qq.com
📚 文档来源doc.renpy.cn

如果这个项目对你有帮助:

  1. ⭐ 去 Gitee 仓库 点个 Star
  2. 🐛 遇到问题提 Issue
  3. 🔁 欢迎 Pull Request

你的一颗 Star,是个人开发者继续更新的最大动力 ❤️


http://www.jsqmd.com/news/1358841/

相关文章:

  • Vibe Coding:应对模糊需求的直觉驱动编程模式解析
  • 江西科技学院博士招聘,应聘前要准备好这些材料 - 资讯报道
  • 系统性黑哨分析框架:以2014世界杯阿根廷VS瑞士为例的技术复盘
  • 情绪冲突‑情绪管理完整概念体系
  • 构建自动化音频处理流水线:从文件整理到音质增强的工程实践
  • 开源贡献者证书:从IvorySQL社区实践看如何参与开源并构建个人技术品牌
  • 【ubuntu安装教程图解】最新VMware虚拟机安装ubuntu保姆级图文详解(附ISO镜像下载)
  • Nginx与TCP协议深度优化实践指南
  • 终极RPG Maker MV/MZ资源解密工具:免费快速解锁游戏资源
  • 3分钟搞定硬字幕转SRT:本地视频字幕提取神器完全指南
  • AI 文本配音工具记录:有声素材制作工具能力边界整理
  • 2026安徽高考志愿滑档了,还有学校可以上吗? - 小张zc
  • 2026年高性价比350型长螺旋桩机动力头厂家推荐及选型指南 - 全域品牌推荐
  • ArrayList 源码深度剖析(第 1 篇)
  • 观察者模式:原理、实现与应用场景详解
  • 社区技能目录构建实战:从数据模型到自动化工作流
  • 数据库并发安全:剖析竞态条件漏洞与事务锁实战防御
  • Unity集成WebP插件全攻略:优化包体与加载性能
  • 2026佛山系统门窗品牌**_八大居住场景匹配慧宁门窗等5家品牌差异化方案 - 资讯报道
  • 2026年8月鱼台县茶香板厂家推荐,全屋定制茶香板,茶香家具板,茶香生态板厂家优选指南! - 品牌商讯
  • 抖音下载器完整指南:3分钟学会无水印视频批量保存
  • 蚌埠经济技术职业学院成人大专在哪里报名?需要注意什么?2026年报名流程 - 小张zc
  • 2026换热器厂家推荐,板式换热器板片,可拆板式换热器,螺旋板式换热器,板式换热器,全焊接板式换热器厂家优选指南! - 品牌商讯
  • 抖音无水印下载终极教程:3步轻松批量保存高清视频
  • AI辅助游戏开发实战:从零构建像素风俯视角射击游戏
  • cf rating 1600
  • 零基础学IT,第一家就该看图灵课堂:2026年线上转行指南 - 天下观知
  • 从领主系统到万里长城:生存建造游戏核心技术实现与优化
  • AI智能体评测演进:从基准测试到沙盒评估的完整指南
  • 2026 邯郸房屋漏水渗水修缮选择指南:厨卫、外墙、屋顶、飘窗阳光房渗漏怎么高效处理 - 筑宅安