BLACK SOULS MCP
This server lets an AI agent directly control and observe the RPG game BLACK SOULS (RPG Maker VX Ace/RGSS3) through a local stdio bridge — no screenshots, OCR, or mouse simulation required.
Process & Diagnostics: Check status/health, launch, kill, list saves, recovery recommendations.
State Reading: Get scene, player, party, messages, windows, battle state; map details (tiles, passability, regions, events) up to radius 20; situation snapshots with suggestions; specific event and deep scene details.
Game Data: Read variables and switches by ID (up to 64 each), inventory, detailed party stats/skills/equipment.
Input Control: Inject single or sequences (up to 200) of allowlisted inputs (move, confirm, cancel, menu, dash, etc.) with frame waits; wait for conditions like scene change, message clear, battle end.
High-Level Actions: Pathfind/navigate to coordinates, interact with events, advance dialogue/choices, list and execute battle actions (attack, skill, magic, guard, item, flee), save/load game.
Memory & Goals: Session scratchpad, long-term memory categorized by map/NPC/item/boss/strategy/lore/etc., persistent objective hierarchy with active goals.
Session Logging & Evaluation: Append/read session log, check scenario completion conditions against live state for automated testing.
Diagnostics: Health checks and recovery recommendations.
Click on "Install 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., "@BLACK SOULS MCPcheck game status and launch if ready"
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.
BLACK SOULS MCP
一个 BLACK SOULS 的 MCP。最直白的说法:让 Claude Code / Codex 这类 agent 直接接入这款游戏。纯娱乐。
原理很简单:读游戏内部对象拿状态,再把动作送进游戏自带的按键输入循环。不截图、不模拟鼠标、也不需要图片模型,所以非图像模型也能用。寻路、对话、菜单、战斗都在真机上校准过,不是概念 demo。
本仓库只包含桥接程序与 MCP 源码,不包含、不下载、也不分发游戏本体、存档、素材、密钥或解包后的商业游戏数据。使用前请自行准备合法获得的游戏文件。
能干嘛?
接入后,MCP 客户端能拿到:
场景、地图、坐标、朝向、通行信息
附近事件、消息、选项菜单
队伍等级、生命、魔力、异常状态、金钱
战斗阶段、双方单位、当前可用指令
也能操控角色:移动、确认、取消、翻页、冲刺,或者一次提交一整套连续动作,比如"往前走三步,再打开菜单看装备"。
输入只经过游戏自身的移动 / 事件 / 菜单 / 战斗处理逻辑,接口不会直接改生命、物品、变量或剧情开关。命令带着进程 ID、启动代次、帧号和命令编号,旧状态和重复命令会被拒绝;快照损坏会自动跳过;游戏在后台被 RPG Maker 暂停时,桥接能恢复键盘循环,不抢前台窗口。
Related MCP server: GachaMCP
跟截图 OCR和鼠标模拟比,差在哪?
截图 / OCR 方案 | 鼠标模拟方案 | BLACK SOULS MCP | |
状态来源 | 图像识别,容易看错、看漏 | 图像识别 | 直接读游戏内部对象,逐帧精确 |
需要窗口置顶 / 前台 | 通常需要 | 需要 | 不需要,后台也能恢复输入循环 |
是否联网 | 常需要视觉模型服务 | 视实现而定 | 纯本地 stdio,不开端口 |
输入路径 | 模拟点击 / 按键 | 模拟点击 | 走游戏原生输入循环,帧同步 |
会不会误改存档 / 剧情 | 视实现而定 | 视实现而定 | 不直接改生命、物品、变量、剧情开关 |
更准、更快、更不容易翻车,而且不需要多模态
MCP 工具
共 36 个工具,按用途分组:
分组 | 工具 | 用途 |
进程与诊断 |
| 检查游戏文件与桥接、启动或强制结束游戏、列出存档、一键自诊断并给出恢复建议 |
状态读取 |
| 场景、角色、消息、菜单、战斗;附近或大范围地图;事件页与触发条件;场景深层状态 |
游戏数据 |
| 变量、开关、背包物品与装备、队伍详细属性和技能 |
输入 |
| 白名单键盘动作、多步连续动作、等待某个游戏条件成立 |
高层动作 |
| 自动寻路、走到事件旁交互、列出本回合全部可选项(含特技/魔法二级菜单每一条的消耗与是否可用)、一次调用完成战斗回合(攻击/特技/魔法/防御/道具/逃跑)、推进对话并选择选项、存档落盘校验与读档;菜单导航全部闭环回读真实光标,已通过真实游戏校准 |
AI 记忆 |
| 会话便签、长期游戏知识库、目标层级、持久会话日志,跨上下文重置保留 |
评测 |
| 供 |
工作原理
MCP 客户端
│ stdio
▼
Node.js / TypeScript 服务
│ 原子文件 + 启动令牌
▼
BridgeRuntime
│ RGSS3 Input 与游戏对象
▼
使用者准备的 BLACK SOULS 独立副本桥接脚本每秒约更新 10 次状态;地图仅在位置或地图变化时生成新快照。命令由游戏主线程逐帧处理,不依赖窗口焦点,也不依赖视觉识别。查询类命令(变量、开关、背包、全图等)走同一条通道即时应答,不占用帧步进。
项目状态
平台 | Windows 10/11 |
传输方式 | 本地 |
支持引擎 | RPG Maker VX Ace / RGSS3 |
发布方式 | 从源码安装;当前未发布 npm 包 |
游戏版本 | 内置一个开发时验证过的 |
开始之前
需要准备:
Windows 10/11
Node.js 18 或更新版本
自己的 BLACK SOULS 游戏副本
Python 3.11+(仅用于桥接脚本写入工具)
已从自己的副本准备好
Data/Scripts.rvdata2;本项目不会自动下载或解包游戏资源
快速开始
1. 获取源码并检查
git clone https://github.com/yk4464/black-souls-mcp.git
Set-Location .\black-souls-mcp
npm.cmd ci
npm.cmd run check2. 准备独立运行目录
默认目录结构:
runtime/
├─ game/
│ ├─ Game.exe
│ ├─ Game.ini
│ ├─ Game.rgss3a~
│ └─ Data/Scripts.rvdata2
└─ backup/runtime/ 已被 Git 忽略。准备步骤概述:把自己的游戏副本复制到 runtime/game/,确保 Data/Scripts.rvdata2 已解出(可用 scripts/extract_rgss3a_file.py),然后用桥接写入工具把 rgss/BlackSoulsBridge.rb 注入脚本档:
python .\scripts\patch_rvdata2_binary.py .\runtime\game\Data\Scripts.rvdata2 .\rgss\BlackSoulsBridge.rb --backup .\runtime\backup\Scripts.rvdata2.bakpatch_rvdata2_binary.py 只用 Python 标准库,保持原字节布局,优先使用;备选的 patch_rvdata2.py 需要先 python -m pip install -r requirements-tools.txt。
3. 安装到 Codex
Set-ExecutionPolicy -Scope Process Bypass
.\install.ps1使用外部目录:
.\install.ps1 `
-RuntimeRoot 'D:\BlackSoulsRuntime' `
-GameDir 'D:\BlackSoulsRuntime\game'安装脚本会先备份当前用户的 Codex config.toml,再写入 black_souls MCP 注册。完成后重启 Codex。
4. 验证
重启 Codex 后先调用:
请调用 black_souls_status,检查游戏文件和桥接状态。随后可以依次调用:
black_souls_launch
black_souls_get_state
black_souls_get_map连续动作参数示例:
{
"steps": [
{ "action": "move_up" },
{ "wait_frames": 12 },
{ "action": "confirm" }
]
}游戏版本指纹
获取自己的 Game.exe SHA-256:
(Get-FileHash -Algorithm SHA256 -LiteralPath '.\runtime\game\Game.exe').Hash然后在当前终端指定:
$env:BLACK_SOULS_GAME_EXE_SHA256 = '<YOUR_SHA256>'设为空字符串会跳过指纹比较,但仍会检查必需文件是否存在。只有在确认游戏文件来源后才应这样做。
环境变量
变量 | 说明 |
| 运行目录;默认 |
| 准备好的独立游戏目录 |
| 可选的 |
| 单元测试临时目录 |
| 可选的集成测试最少存档数 |
测试
npm.cmd run check # 构建、MCP 握手、工具发现与合成测试
npm.cmd run test:integration # 需要已准备的运行目录
npm.cmd run test:live # 启动游戏并执行真实键盘输入
.\check.ps1 -IncludeRuntime # 检查源码、游戏副本和 Codex 注册
node evals\runner.mjs menu_navigation # 运行一个评测场景(需要真实游戏)真实测试会改变当前游戏会话中的位置或菜单,但不会主动保存。运行前仍建议保留自己的存档副本。
限制与故障提示
游戏资源准备与解包方式取决于发行版本,因此未做成自动下载流程
RPG Maker 在后台可能暂停键盘循环;服务使用已核对进程和路径的 Windows 消息恢复循环,不模拟鼠标,也不把窗口切到前台
命令超时后若提示"游戏可能已经接收",应先读取最新状态,再决定是否重试,避免重复动作
本项目仅面向本机可信目录,不应把
BridgeRuntime放到其他用户可写的位置
卸载与回滚
.\uninstall.ps1
.\rollback.ps1两者只处理 Codex 注册及其配置备份,不删除游戏或存档。指定某个备份进行回滚:
.\rollback.ps1 -ConfigBackup 'D:\BlackSoulsRuntime\backup\config.toml.before-black-souls-....bak'安全与隐私
服务只使用本地
stdio,不会监听网络端口命令动作使用固定白名单,并限制队列、步骤和总帧数
仓库忽略游戏、存档、运行快照、日志、依赖缓存和构建产物
提交问题前请移除个人路径、存档内容和游戏文件
安全问题请通过 GitHub Security Advisory 私下报告;其他问题使用 Issues。
参与贡献
请先阅读 CONTRIBUTING.md。package.json 中保留 private: true,用于防止误发布到 npm;这不影响 GitHub 上的 MIT 开源源码。
许可证与声明
本仓库源码采用 MIT License。
BLACK SOULS、RPG Maker、相关名称和游戏资产归各自权利人所有;本项目是非官方社区工具,与游戏作者、发行商及引擎厂商无隶属关系。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityFmaintenanceMCP server to interact with Obsidian via the Local REST API community plugin.134,295MIT
- Flicense-qualityDmaintenanceA Python MCP server that helps AI interact with Gacha games through screenshot capture and click automation, enabling game analysis and automated actions.
- AlicenseAqualityAmaintenanceMCP server for Hotkeyless AHK HTTP API. It lets your agent control your whole computer using hotkeys.42MIT
- AlicenseAqualityBmaintenanceMCP server for the mGBA Game Boy Advance emulator. Read and write GBA memory, inject button presses, take screenshots, save/load state, and step the emulator through a Lua bridge.18491MIT
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for understanding Javascript internals from ECMAScript specification.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yk4464/black-souls-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server