Galgame MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Galgame MCP Unpack the XP3 archive in my workspace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Galgame MCP
面向 Galgame / 视觉小说汉化的 标准 MCP(Model Context Protocol)服务器(stdio 传输)。 任意支持 MCP 的客户端都可接入(Cursor、Claude Desktop、其它 MCP host 等),不是 Cursor 专用。
运行时:Node.js(MCP 入口)+ Python(算法与侧车)
原生侧车:
native/下 DLL/EXE 可 1:1 部署到游戏目录(含注入)工作区:环境变量
GALGAME_WORKSPACE指向游戏/工程根目录文档:人类看
README.md;给 AI 的工作提示词是单独的mcp-instructions.md(MCPinstructions+ promptgalgame_workflow)
环境要求
组件 | 版本 | 用途 | 必需? |
Windows 10/11 x64 | — | 侧车 DLL/EXE、多数游戏目标平台 | 推荐(完整能力) |
Node.js | ≥ 20 | MCP 服务、 | 必需 |
Python | ≥ 3.11 | 封包/脚本/图像等原生逻辑 | 必需 |
pip 包 | 任意近版 | PE 解析( | 推荐 |
pip 包 | 任意近版 | 反汇编( | 推荐(逆向) |
JDK 21+ | OpenJDK / Temurin / Microsoft | 跑 Ghidra | 仅用 Ghidra 时需要 |
磁盘 | 建议预留 ≥ 3 GB | Ghidra≈570MB + Rizin/x64dbg/Cutter 等 | 装 RE 套件时 |
可选商业工具(不重新分发;装好后 MCP 可发现并启动):
IDA Free / Pro → 设
IDA_DIR或把ida64.exe加入 PATHBinary Ninja → 设
BN_INSTALL_DIR
Related MCP server: OpenWebGAL Assistant
安装
1. 进入仓库
cd Galgame-mcp2. Node 依赖并编译
npm install
npm run build入口:dist/server.js。
3. Python 依赖
python -m pip install pefile capstone
python --version
python -c "import pefile, capstone; print('ok')"4.(可选)高档逆向套件
下载到 native/re_tools/(也可在 MCP 里调用 re_install):
re_status
re_install
re_install tool=rizin
re_install tool=x64dbg
re_install tool=ghidra
re_install tool=cutterJDK(Windows 示例):
winget install --id Microsoft.OpenJDK.21 -e或设置 JAVA_HOME / 把便携 JDK 放到 native/re_tools/jdk/。
5. 自检
npm run buildMCP 内调用 gal_status 核对插件数 / scheme / 侧车 / re_tools。
接入任意 MCP 客户端
本服务走 MCP over stdio:由宿主进程拉起 node …/dist/server.js,用标准输入输出做 JSON-RPC。
配置写法因宿主而异,核心都是 command + args + env。
示例(路径改成你的绝对路径):
{
"mcpServers": {
"Galgame-mcp": {
"command": "node",
"args": [
"C:/path/to/Galgame-mcp/dist/server.js"
],
"env": {
"GALGAME_WORKSPACE": "C:/path/to/your/game-or-workspace",
"GALGAME_PYTHON": "python"
}
}
}
}手工拉起(调试用;正常应由 MCP 宿主托管 stdio):
node dist/server.js环境变量 | 含义 |
| 默认工作区根(相对路径基准) |
| Python 可执行文件(默认 |
| 可选;覆盖 |
| 可选;本机工具路径 |
改配置后重启对应 MCP 宿主即可。
功能介绍
方向 | 能做什么 | 入口工具 |
封包 | 探测 / 列表 / 解压 / 重封 |
|
XP3 解密 | ~127 内置 scheme;标题解析;未知方案助搓 |
|
脚本汉化 | 多引擎抽取/回写;Sjis 隧道;bundle |
|
图像 | PNG ↔ TLG5/6 等 |
|
音频 | 探测/解码/部分编码; |
|
Kirikiri | 解扰乱、patch、加密旁路 |
|
原生侧车 | version.dll / VNTextProxy / 工具 EXE |
|
逆向 | Rizin / Ghidra / x64dbg / Cutter + PE/字符串/反汇编 |
|
规模(以本机构建为准,见 gal_status):封包插件 554(pack 248)、XP3 scheme ~127、侧车 kit 15。
封包 / XP3
archive_probe→archive_list/archive_unpack/archive_pack(format用下表 ID)xp3_unpack/xp3_pack;xp3_resolve_scheme(title=…)未知加密:
xp3_re_scan_game→xp3_re_exe_inspect→xp3_re_try_schemes/xp3_re_scaffold无 TPM:优先扫官方 EXE 控制块;否则
native_deploy kit=kirikiri_unencrypted+ 启动官方 EXE
脚本 / 补丁流
解包 → kirikiri_descramble_tree → 翻译
→ kirikiri_stage_patch(..., pack=true)
→ 加密包:native_deploy kit=kirikiri_unencrypted + 跑官方 EXEvnt_extract / vnt_insert 覆盖多脚本引擎;vnt_proxy_* 处理 SJIS 隧道。
侧车 kit
kit | 作用 |
|
|
| 字体与 SJIS 隧道注入 |
| VNTextPatch.exe |
| 对应上游工具 |
逆向 re_*
能力 | 工具 |
状态/安装 |
|
快扫 |
|
CLI |
|
Ghidra |
|
GUI |
|
上游源码树对应
源码树 | 本仓库 |
GARbro-Mod | 封包/图像/音频 Python 移植 |
KirikiriTools | 算法 + unencrypted 侧车 + |
VNTranslationTools | 引擎 + vnt_proxy / vntextpatch |
KAGConfigEX2 / kagexpress |
|
KrKrZSceneManager |
|
krdevui | TLG / sig / loop + |
常用工具速查
gal_status
archive_probe / archive_list / archive_unpack / archive_pack / archive_list_formats
xp3_list_schemes / xp3_resolve_scheme / xp3_unpack / xp3_pack
xp3_re_workflow / xp3_re_scan_game / xp3_re_exe_inspect / xp3_re_scaffold
vnt_extract / vnt_insert
kirikiri_descramble_tree / kirikiri_stage_patch / kirikiri_pack_unencrypted
native_list_sidecars / native_deploy / native_run
re_status / re_install / re_rizin / re_ghidra_headless / re_launch
image_convert / audio_decode / kagconfig_set / loop_read完整注册见 src/server.ts。
封包 ID 全表
数据来自运行时 archives.support_matrix()(MCP:archive_list_formats)。共 554 项;pack=否 表示当前仅 list/unpack(或上游本身不写)。
ID | 扩展名 | list | unpack | pack |
| .acd | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dsk, .bin, .dat, .pft | 是 | 是 | 否 |
| .pak | 是 | 是 | 否 |
| .dat, .cg, .arc | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat, .scr, .wav | 是 | 是 | 否 |
| .pak | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .pac | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .ard, .snf | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat, .gwd, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .ani | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat, .snl | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .air | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .epk | 是 | 是 | 否 |
| .dat, .ogg, .tmp | 是 | 是 | 是 |
| .grp, .bin, .dat, .vc, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .arc | 是 | 是 | 否 |
| .pk, .dat, .scr | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .gpk, .gtb, .dwq | 是 | 是 | 否 |
| .vpk, .vtb, .vaw | 是 | 是 | 否 |
| .ads | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .bmd | 是 | 是 | 否 |
| .hse | 是 | 是 | 否 |
| .gsp, .dat, .pak, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .pak | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .snn, .inx, .tmp | 是 | 是 | 是 |
| .pack | 是 | 是 | 否 |
| .dat | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .ns6, .ns5, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp, .pida, .dat | 是 | 是 | 是 |
| .tmp, .pida, .dat | 是 | 是 | 是 |
| .zt | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .pak, .grp, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .cpk | 是 | 是 | 否 |
| .spc, .bip | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .ogg, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .appendix, .app | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .pak | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tm2 | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .hed | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .bin | 是 | 是 | 否 |
| .bin, .tmp | 是 | 是 | 是 |
| .dxa, .hud, .usi, .med, .dat, .bin | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .idx, .gr | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .arc | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat, .tmp | 是 | 是 | 是 |
| .pkk, .skn | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .mes, .lib, .a, .a6, .msk, .x | 是 | 是 | 否 |
| .bin, .pak | 是 | 是 | 否 |
| .vol | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .epk | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .psb, .pimg, .dpak, .psbz, .psp, .mmo, .mtn | 是 | 是 | 否 |
| .enigma1 | 是 | 是 | 否 |
| .pac | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .noa, .dat, .rsa, .arc, .emc | 是 | 是 | 否 |
| .pac | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .arc | 是 | 是 | 是 |
| .alf, .aai | 是 | 是 | 否 |
| .snd, .snh, .wav | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .res, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .bin, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .bdt | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .pak, .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat, .lst, .so4, .so5 | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .def, .dsf, .ogg | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .paq, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .gz, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .chr | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .273 | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat, .pcg, .spf | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .arc, .bin | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat, .gdp, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .lpc | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tan | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .pack, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .lb5, .idx, .tmp | 是 | 是 | 是 |
| .pb, .tmp | 是 | 是 | 是 |
| .pd | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .asd, .mp3, .wav | 是 | 是 | 否 |
| .ar2, .idx | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .klz, .tm2 | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .p2t, .bin, .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .arc, .tmp | 是 | 是 | 是 |
| .lpk, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .mpk | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .xfl, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .flk | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .aos, .cmp, .abm, .tmp | 是 | 是 | 是 |
| .fga | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .elg | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat, .wda, .bgm, .scr, .msk, .tmp | 是 | 是 | 是 |
| .dxr, .cxt, .cct, .dcr, .dir, .exe | 是 | 是 | 否 |
| .swf | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .gpa | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .s, .tmp | 是 | 是 | 是 |
| .bmp | 是 | 是 | 否 |
| .cpn, .dat, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .wav, .mid | 是 | 是 | 否 |
| .mbl, .dns, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .msc, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .bin | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .frc, .tmp | 是 | 是 | 是 |
| .mpk, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .png | 是 | 是 | 否 |
| .png, .ogg, .sc, .avi, .mpg, .mpeg | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .pac | 是 | 是 | 否 |
| .nfs, .scb | 是 | 是 | 否 |
| .cdt, .pdt, .vdt, .ovd | 是 | 是 | 否 |
| .pcd | 是 | 是 | 否 |
| .nkpack | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .lst | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .npa | 是 | 是 | 是 |
| .npa | 是 | 是 | 是 |
| .dat | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .s | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .png, .jpg, .jpeg, .bmp, .tga, .webp | 是 | 是 | 是 |
| .ns2, .tmp | 是 | 是 | 是 |
| .nsa, .nbz, .bmp, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat, .hed, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .pak, .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .arc | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .pck, .dat, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .pac, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .idx, .pac, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .mgr | 是 | 是 | 否 |
| .qpk | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .png, .bmp, .jpg, .ogg, .argb | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .ovk, .nwk, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .arc | 是 | 是 | 否 |
| .rad, .tmp | 是 | 是 | 是 |
| .ici | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .sar, .nsa, .dat, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .ogg, .wav, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .pma | 是 | 是 | 否 |
| .pmx | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .bnd | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .arc, .tmp | 是 | 是 | 是 |
| .arc, .tmp | 是 | 是 | 是 |
| .awf, .mp3 | 是 | 是 | 否 |
| .arc | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .spl | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .pac, .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .wav, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .nor, .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 是 |
| .dat | 是 | 是 | 是 |
| .pr3 | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dll | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .af, .png, .bmp, .jpg, .jpeg, .tga | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .bnd | 是 | 是 | 是 |
| .chr, .cls, .ev | 是 | 是 | 否 |
| .pac | 是 | 是 | 是 |
| .ogg, .grd, .srp | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tct, .tsf, .spd, .ogg, .wav | 是 | 是 | 否 |
| .fx, .gx | 是 | 是 | 否 |
| .iaf | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .iaf | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .arc | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .det, .nme, .atm, .at2 | 是 | 是 | 否 |
| .cdt, .spt | 是 | 是 | 是 |
| .sdt | 是 | 是 | 否 |
| .bin | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .gpk, .tpk, .wpk, .mpk | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .assets, .asset, .ress, .resource | 是 | 是 | 否 |
| .idx, .bin | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .resource, .ress | 是 | 是 | 否 |
| .ncl | 是 | 是 | 否 |
| .am2, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .odn, .dat, .pni | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 是 |
| .uca, .arc | 是 | 是 | 否 |
| .alh, .usf, .udc, .uwb, .arc | 是 | 是 | 否 |
| .uwf, .arc | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .s, .scr, .wsc, .ws2, .arc, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .ws2, .json, .arc, .ar2, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .tmp | 是 | 是 | 是 |
| .bmp, .png, .jpg, .tmp | 是 | 是 | 是 |
| .ifx, .tmp | 是 | 是 | 是 |
| .xp3 | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .gd, .dll, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat, .lst | 是 | 是 | 否 |
| .pkg | 是 | 是 | 否 |
| .yks, .tmp | 是 | 是 | 是 |
| .dat, .tmp | 是 | 是 | 是 |
| .dat, .tmp | 是 | 是 | 是 |
| .dat, .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .tmp | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
| .pkd | 是 | 是 | 是 |
| .dat | 是 | 是 | 否 |
| .dat | 是 | 是 | 否 |
目录结构
Galgame-mcp/
src/ # MCP TypeScript(stdio server)
dist/server.js # 编译入口
galgame_native/ # 算法、worker、re_tools、侧车逻辑
native/ # DLL/EXE 侧车 + re_tools 下载目录
README.md # 人类:安装 / 功能 / 封包全表
mcp-instructions.md # AI:MCP instructions + prompt galgame_workflow
mcp.example.json # 宿主配置示例许可
第三方算法与工具保留原作者版权声明,见 galgame_native/NOTICE。
开源逆向套件按其原许可证使用;IDA / Binary Ninja 需自备授权。
Available Tools
99 toolsarchive_listB
List archive entries without extracting.
Inputs: path (required), limit, format, offset.
archive_list_formatsA
List all native archive format plugins and pack support.
Inputs: no named parameters.
archive_packD
Create an archive using a native writer.
Inputs: input (required), output (required), format, version, +2 more.
archive_probeB
Detect archive format (not for script/JSON conversion).
Inputs: path (required).
archive_unpackC
Unpack a natively supported archive (NOT script→JSON).
Inputs: path (required), output (required), format, scheme, +2 more.
audio_decodeB
Decode supported game audio to WAV/OGG/MP3.
Inputs: input (required), output (required).
audio_list_formatsA
List implemented native audio decoders.
Inputs: no named parameters.
audio_probeC
Detect native audio format and decode container hint.
Inputs: path (required).
gal_list_dirA
List files without opening or modifying them.
Inputs: path.
gal_statusA
Show native runtime, workspace, formats, and task_routing_hint.
Inputs: no named parameters.
gal_tool_guideA
【选工具】用户说法→正确 MCP 工具对照表。不确定用哪个时先调这个。尤其区分「scn转json」vs bundle.jsonl vs PSB/TJS2100。
Inputs: no named parameters.
image_convertB
Convert between PNG, TLG5, TLG6 and other supported image formats.
Inputs: input (required), output (required), format.
image_pack_xp3C
Pack a folder into XP3 using the native XP3 writer.
Inputs: input (required), output (required), version, compress_index, +1 more.
image_probeB
Detect PNG/TLG and other native image formats without vision/AI.
Inputs: path (required).
kagconfig_list_keysA
List known Config.tjs keys from KAGConfigEX2 Form1/Form2 (types, quote modes, Form1 r/w coverage).
Inputs: no named parameters.
kagconfig_loadC
Load Config.tjs into a flat key→value map (KAGConfigEX2 semantics).
Inputs: path (required).
kagconfig_setB
Update Config.tjs keys in place (UTF-16, preserves comments when possible).
Inputs: path (required), values, updates.
kagconfig_summarizeB
Summarize a KAG/Kirikiri Config.tjs (title, resolution, keys).
Inputs: path (required).
kirikiri_cxdec_probeC
CxdecHelper static probe: IsCxdecArchive / archive:// URL map / game scan.
Inputs: url, path, folder, game_dir.
kirikiri_descrambleB
Decode Kirikiri scrambling modes 0, 1 or 2 natively.
Inputs: input (required), output (required).
kirikiri_descramble_treeB
Descramble all .ks/.tjs/.txt/.csv/.ini under a folder (KirikiriDescrambler).
Inputs: input (required), output.
kirikiri_kagex_apply_configC
Update Config.tjs / AppConfig.tjs highlights on an existing KAGeXpress project.
Inputs: project_dir (required), maker, title, width, +10 more.
kirikiri_kagex_init_projectC
Copy KAGeXpress Template text assets and write Config/AppConfig highlights (no EXE/DLL).
Inputs: dest (required), maker, title, width, +14 more.
kirikiri_kagex_locate_templateA
Locate KAGeXpress Template (源码/kagexpress/Template); no binaries.
Inputs: template_dir.
kirikiri_list_patch_archivesB
List existing patchN.xp3 (or custom base) and unencrypted.xp3.
Inputs: game_dir (required), base.
kirikiri_list_text_refsA
Collect [text num=N] indices from a KAG .ks file.
Inputs: path (required).
kirikiri_load_scenario_textC
Load KAGeXpress multilingual scenario .txt lines.
Inputs: path (required), encoding.
kirikiri_next_patch_stemC
Suggest next patch / patch2 / … or custom base (patch_cn) stem.
Inputs: game_dir (required), base.
kirikiri_pack_patchA
Pack a folder into patch XP3 with zero adlr checksums (KirikiriTools Xp3Pack).
Inputs: input (required), output, compress_index, compress_contents.
kirikiri_pack_unencryptedC
Pack folder to unencrypted.xp3 (KirikiriUnencryptedArchive override; zero adlr).
Inputs: input (required), output, game_dir, compress_index, +1 more.
kirikiri_pimg_packC
Repack N.res into .pimg/PSB (KrKrZ PSBResManager.Export).
Inputs: input (required), output (required), resource_dir (required), compress, +1 more.
kirikiri_pimg_unpackA
Unpack .pimg/PSB chunk resources to N.res (KrKrZ PSBResManager.Import).
Inputs: path (required), output_dir (required).
kirikiri_psb_analyzeC
PSB Analyzer (KrKrZ): bytecode/strings for RE — NOT translation JSON.
Inputs: path (required).
kirikiri_psb_analyze_exportA
Export PSB analyzer strings (debug/RE). NOT「scn转json」; use vntextpatch_extractlocal for that.
Inputs: input (required), strings (required), output, compress.
kirikiri_psb_try_recoveryB
Repair empty chunk-table header offsets (KrKrZ PSBStrMan.TryRecovery; MDF-aware).
Inputs: path (required), output.
kirikiri_scrambleC
Re-scramble plain text to Kirikiri FE FE modes 0/1/2 (Scrambler.cs).
Inputs: input (required), output (required), mode.
kirikiri_scramble_treeA
Scramble all .ks/.tjs/.txt/.csv/.ini under a folder (symmetric to descramble_tree).
Inputs: input (required), mode, force, output.
kirikiri_stage_patchB
Descramble a tree into the next patch folder; optional pack_patch.
Inputs: game_dir (required), source_dir (required), base, pack, +2 more.
kirikiri_stage_unencryptedC
Stage files into unencrypted.xp3 and/or loose unencrypted/ folder.
Inputs: game_dir (required), source_dir (required), mode, pack.
kirikiri_tjs2100_exportC
Replace TJS2100 DATA string table and rebuild blob (KrKrZSceneManager).
Inputs: input (required), strings (required), output.
kirikiri_tjs2100_importA
Import UTF-16 string table from compiled TJS2100 (KrKrZ). NOT VNTextPatch「scn→json」— for that use vntextpatch_extractlocal.
Inputs: path (required).
kirikiri_tjs2100_list_sectorsC
List TJS2100 DATA/Other/TJS2 sectors (KrKrZ Split metadata).
Inputs: path (required).
kirikiri_tjs2100_mergeB
Rebuild TJS2100 from a sector dump folder (KrKrZ Merge).
Inputs: output (required), dump_dir (required).
kirikiri_tjs2100_splitB
Dump TJS2100 sectors to a folder (manifest.json + NNNN_TAG.bin).
Inputs: path (required), output_dir (required).
kirikiri_tools_capabilitiesB
List KirikiriTools / KAGeXpress ports, patch naming, and descramble→patch example.
Inputs: no named parameters.
kirikiri_write_scenario_textC
Write KAGeXpress multilingual scenario .txt lines.
Inputs: path (required), lines (required), encoding.
krdevui_sig_checkB
Verify Kirikiri RSA-PSS (SHA256) signature — embedded EXE or detached .sig.
Inputs: path (required), pubkey, public_key, pubkey_file, +1 more.
krdevui_sig_has_signatureC
True if EXE has XRELEASE_SIG____ mark (sigchecker CheckExeHasSignature).
Inputs: path (required).
krdevui_sig_inspectC
Locate Kirikiri EXE marks (OPT_EMBED / CORE_SIG / RELEASE_SIG / XP3).
Inputs: path (required).
krdevui_sig_signC
Sign a file like krdevui SignUnit (detached .sig or embedded; optional auto_krkr).
Inputs: path (required), ofs, krkr, privkey, +6 more.
loop_readA
Read Kirikiri WaveLoopManager .sli links/labels (looptuner2; no playback).
Inputs: path (required).
loop_writeC
Write Kirikiri #2.00 .sli loop/link/label file (WaveLoopManager).
Inputs: path (required), info, links, labels.
native_deployC
Copy a native sidecar kit into a game directory (optional backup).
Inputs: kit (required), game_dir (required), backup, proxy_name, +1 more.
native_list_sidecarsA
List native DLL/EXE kits under native/ (paths, files, proxies, tools, tool_guide).
Inputs: no named parameters.
native_runA
Run a catalogued native EXE with raw args. Common: vntextpatch extractlocal/insertlocal — but prefer vntextpatch_extractlocal / vntextpatch_insertlocal wrappers. Also krkrtpc, kagconfig, …
Inputs: tool (required), cwd, args, capture, +1 more.
native_undeployB
Remove deployed sidecar files; optionally restore newest backup.
Inputs: kit (required), game_dir (required), proxy_name, dest_subdir, +1 more.
npa_list_schemesA
List Nitroplus NPA EncryptionScheme titles from Formats.dat.
Inputs: no named parameters.
npa_resolve_schemeC
Resolve an NPA game title (or name_key+order_hex) to scheme params.
Inputs: query, title, scheme, name_key, +4 more.
re_disasmB
Capstone disassembly at file offset / RVA / VA.
Inputs: path (required), va, rva, arch, +2 more.
re_discoverB
Discover RE tool paths (PATH / env / native/re_tools bundling).
Inputs: ids.
re_ghidra_headlessC
Run Ghidra analyzeHeadless on a binary (needs bundled/system JDK).
Inputs: path (required), script, timeout, import_only, +3 more.
re_installA
Download open-source RE kits into native/re_tools (rizin/x64dbg/ghidra/cutter) or pip capstone/pefile.
Inputs: tool, force, refresh_url.
re_launchA
Launch a GUI RE tool (ghidra/ida/x64dbg/cutter/binary_ninja), optionally opening a PE.
Inputs: tool (required), args, path.
re_pe_infoC
PE headers / sections / imports / exports via pefile.
Inputs: path (required).
re_rizinC
Headless Rizin analysis (aaa + crypto/Cx string hunt by default).
Inputs: path (required), timeout, commands.
re_searchC
Byte/ASCII pattern search inside a binary.
Inputs: path (required), max_hits, pattern_hex, pattern_ascii.
re_statusB
Show installed/high-end RE tools (Ghidra/IDA/Rizin/x64dbg/…) and MCP ops.
Inputs: no named parameters.
re_stringsB
Extract interesting crypto/Kirikiri strings (+ control-block signature offset).
Inputs: path (required), utf16, min_len, keywords, +1 more.
re_workflowC
Playbook: drive Ghidra/Rizin/x64dbg/IDA for EXE crypto → XP3 scheme.
Inputs: no named parameters.
vnt_excel_line_statsC
VNTextPatch Excel line statistics (total/translated/checked/edited).
Inputs: path (required).
vntextpatch_extractlocalA
【scn/ks/…→JSON】经典 VNTextPatch extractlocal:脚本→每文件 .json。用户说「scn转json」「导出脚本json」用这个。不是 vnt_extract(bundle.jsonl),也不是 kirikiri_psb_*。
Inputs: input (required), script (required), format, timeout.
vntextpatch_insertlocalA
【JSON→脚本】经典 VNTextPatch insertlocal:把翻译后的 .json 写回脚本到独立 output。不是 vnt_insert。
Inputs: input (required), output (required), script (required), format, +2 more.
vnt_extractA
【AI bundle】目录→work/bundle.jsonl(按条目 ID 翻译)。不是「scn转json」。用户要经典每文件 .json 时用 vntextpatch_extractlocal。
Inputs: work (required), input (required).
vnt_google_docs_fetchB
Fetch a Google Spreadsheet into local CSV/TSV for google_docs extract/insert.
Inputs: output (required), spreadsheet_id (required), sheet, api_key, +3 more.
vnt_google_docs_line_statsC
Same line statistics for a google_docs CSV/TSV export.
Inputs: path (required).
vnt_google_docs_list_sheetsA
List sheet titles in a Google Spreadsheet (Sheets API, read-only).
Inputs: spreadsheet_id (required), api_key, service_account.
vnt_insertA
【AI bundle】把 bundle.jsonl 译文写回脚本到独立 output。对应 vnt_extract;经典 JSON→scn 用 vntextpatch_insertlocal。
Inputs: work (required), input (required), output (required).
vnt_list_formatsA
List script formats for the pure-Python vnt_* bundle layer (not VNTextPatch CLI).
Inputs: no named parameters.
vnt_proxy_capabilitiesD
VNTextProxy: SjisTunnel / SRT·ASS + native sidecar DLL deploy (implemented_via_native_sidecar).
Inputs: no named parameters.
vnt_proxy_sjis_decodeB
Decode SJIS+tunnel bytes using the current / loaded mapping table.
Inputs: bytes_hex (required), hex, sync_util.
vnt_proxy_sjis_encodeA
Encode Unicode via SjisTunnelEncoding (allocates sjis_ext slots).
Inputs: text (required), sync_util.
vnt_proxy_sjis_ext_loadC
Load sjis_ext.bin (UTF-16LE mapping table) into the tunnel encoder.
Inputs: path (required), sync_util.
vnt_proxy_sjis_ext_saveC
Write current tunnel mapping table as sjis_ext.bin.
Inputs: path (required), sync_util.
vnt_proxy_subtitle_parseB
Parse SRT (VNTextProxy) or ASS/SSA Dialogue cues; optional at_ms filter.
Inputs: path, text, at_ms, format, +2 more.
vnt_queryB
Search/page an extracted AI bundle.jsonl (after vnt_extract).
Inputs: work (required), q, limit, offset, +1 more.
vnt_statsC
Return AI bundle.jsonl translation completion statistics.
Inputs: work (required).
vnt_updateC
Update translations by stable entry ID in bundle.jsonl.
Inputs: work (required), items (required).
xp3_list_schemesA
List XP3 decryption schemes (name, params schema, status=ready).
Inputs: no named parameters.
xp3_packC
Create an unencrypted XP3 archive natively.
Inputs: input (required), output (required), version, compress_index, +1 more.
xp3_re_analyzeB
Analyze one XP3 for cxdec/encryption symptoms and recommend next RE steps.
Inputs: path (required), sample_entries.
xp3_re_exe_inspectB
Scan official game EXE for embedded Cx 'Encryption control block' (GARbro-style RE assist).
Inputs: path (required).
xp3_re_scaffoldB
Write a draft Python XP3 scheme under xp3_schemes/user_drafts/ for further RE.
Inputs: name (required), notes, output_dir, archive_hint.
xp3_re_scan_gameA
Scan a game folder for XP3/TPM/EXE and emit an RE playbook.
Inputs: game_dir (required).
xp3_resolve_schemeA
Resolve a game title to XP3 scheme + params from bundled Formats.dat map.
Inputs: title (required).
xp3_re_tpm_inspectA
Inspect a Kirikiri .tpm (or any PE): Cx control block + interesting strings.
Inputs: path (required).
xp3_re_try_schemesB
Try built-in XP3 schemes (+ optional XOR brute) and rank by file-magic score.
Inputs: path (required), entry, schemes, xor_brute, +2 more.
xp3_re_workflowC
XP3 reverse-engineering assist: what the RE tools can/cannot do + playbook.
Inputs: no named parameters.
xp3_re_xor_recoverB
Recover repeating XOR key from known plaintext vs cipher (or archive entry).
Inputs: entry, cipher, archive, max_key_len, +2 more.
xp3_unpackC
Unpack XP3 with an explicitly selected scheme.
Inputs: path (required), output (required), scheme, entries, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 99 tools
Many tools have overlapping purposes, such as multiple list/probe/extract tools (e.g., re_strings vs xp3_re_tpm_inspect, archive_list vs gal_list_dir). Despite detailed descriptions, the sheer number and similar names make it hard for an agent to pick the correct tool without reading every description.
Tool names use various inconsistent prefixes (re_, xp3_re_, kirikiri_, vnt_, vntextpatch_, native_, etc.) and mix verb-first and noun-first patterns. While subsets are internally consistent, the overall naming lacks a unified scheme, making it difficult to predict tool names.
With 99 tools, this server is extreme in size. Even for a broad domain like Galgame reverse engineering and translation, this number overwhelms an agent's selection process and suggests insufficient consolidation.
The tool set covers an impressively wide range of operations: archive manipulation, reverse engineering, script/text extraction, translation workflows, and native sidecar management. Minor gaps exist (e.g., some niche formats or automation steps), but overall it is a comprehensive surface for the domain.
Maintenance
Related MCP Connectors
MCP server for Crowdin — projects, files, strings, translation progress, tasks, and members.
An MCP server that provides asset auto generator
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Related MCP Servers
- FlicenseBqualityDmaintenanceA novel game server supporting multi-branch visual novel scenarios in English and Japanese, designed to help understand MCP Resources.36-
- FlicenseNot gradedqualityDmaintenanceMCP server that automates WebGAL game development tasks such as resource management, script editing, documentation lookup, and AI-powered voice generation using LLMs.6 npm1-
- FlicenseAqualityDmaintenanceAn MCP server that provides a visual novel world engine, enabling AI clients to drive interactive galgame experiences with narrative consistency.31-
- AlicenseCqualityBmaintenanceAn MCP server for Ren'Py project tooling that enables AI agents to inspect game state, evaluate expressions, read/write variables, and capture screenshots from running Ren'Py games.5459 PyPI12MIT