安装
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
cmd /c scripts\build_native.cmdmmd-mcp 是一个面向 Windows 的 stdio MCP 服务器,用于控制 MikuMikuDance(MMD)的作者化操作与 MME 特效设置。适合它的前提很明确:你必须在 Windows 上、已自行启动 MMD 9.32 x64(日文发行版,服务器会拒绝不支持的版本),并愿意完成源码编译安装(需要 Python x64 和 Visual Studio 2022/Build Tools 的 C++ 桌面开发组件)。它不会自动启动 MMD,也不监听网络。如果你的环境不满足这些条件,或者不想动编译工具链,它不适合作为首选。
适合谁
- 在 Windows 上做 MMD 动画制作的人,需要通过程序化方式调整模型、相机、灯光、物理、时间轴,或编辑 MME 的 EMM 特效分配、输出 AVI 视频。
- 验证环境为日文发行版 MMD 9.32 x64、日文 Windows、Python 3.10 x64;使用其他 MMD 版本会被拒绝,因此其他版本用户应视为不受支持。
- 不适合:macOS/Linux 用户、尚未安装 MMD 或使用非验证版本的人、不想装 Visual Studio C++ 组件的人。官方证据未提及 macOS/Linux 支持,这一点未知。
3 分钟完成第一次尝试
注意:这条主路径不是 3 分钟就能跑完的,源码编译 DLL 需要较长时间;"3 分钟"指的是步骤数量少。
前提:
- Windows 环境,已安装 Python x64(验证环境为 3.10 x64)。
- 已安装 Visual Studio 2022 或 Build Tools,并勾选 C++ 桌面开发组件(用于编译原生 DLL)。
- 已启动日文版 MMD 9.32 x64——服务器不会自动启动 MMD。
安装(在仓库目录下,官方给出的 PowerShell 命令):
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
cmd /c scripts\build_native.cmd
第三条命令会编译原生 DLL,这是必须步骤,编译产物落在本地。
注册到 MCP 客户端(stdio 方式),官方示例配置:
"command": "C:/Tools/mmd-mcp/.venv/Scripts/python.exe",
"args": ["-m", "mmd_mcp.server"]
路径需替换为你自己的 venv 位置。
第一次调用建议用 mmd_list_windows:它只列出窗口,不改动场景,是最低风险的首次调用。成功信号是返回当前 MMD 窗口列表及其 hwnd。如果启动了多个 MMD 实例,后续每次调用都需要把 mmd_list_windows 返回的 hwnd 传入。官方未说明 mmd_list_windows 是否标注为只读提示(readOnlyHint),不要把任何工具当作零风险。
其他安装方式:官方仅给出上述源码安装路径,未提供 pip 安装包或预编译二进制的说明。
使用案例
案例一:确认连接与多实例管理。场景:你刚配置好客户端,想确认它能找到 MMD。调用 mmd_list_windows,观察返回的窗口列表与 hwnd。若只开了一个 MMD,之后可直接调用其他工具;若开了多个 MMD,按官方说明把对应 hwnd 传给每次调用以指定目标。可确认到这一步:窗口枚举与 hwnd 传递机制,更细的输出格式以实际返回为准。
案例二:批量写入相机关键帧并导出视频。场景:你做好了一段动作,想程序化设置相机运镜并输出 AVI。官方 v0.3.0 提供 50 个工具,其中 mmd_batch_camera_keys 可批量写入相机关键帧,mmd_export_video 可输出 AVI。注意这两个都是对当前 MMD 工程的写操作:关键帧写入和视频导出会改变/生成工程内容,调用前应确认当前打开的工程可被修改或已有备份。官方证据未说明这些工具是否有撤销路径,也未说明导出参数细节,调用前请在客户端里核对具体参数定义。
使用边界
- 读写性质:50 个工具中既有窗口/场景查询类调用,也有模型选择、骨骼/相机关键帧批量写入、EMM 特效分配读写(
mmd_read_effect_assignments/mmd_write_effect_assignments)、AVI 导出等写操作。写操作直接作用于你已打开的 MMD 工程。 - 环境绑定:验证环境限定 MMD 9.32 x64(日文发行版,官方按特定 SHA-256 校验),不支持的构建会被拒绝。
- 前提与副作用:必须预先手动启动 MMD;服务器不自动启动 MMD、不监听网络;多实例时必须传
hwnd指定目标,否则目标不明确。 - 本地写入:安装过程会在本地创建 venv 并编译原生 DLL,这是必需的本地改动。
- 未确认项:官方证据未说明工具是否提供撤销机制、各写操作的参数细节、以及中文/英文 Windows 或其他 Python 版本的兼容性。这些信息缺失不等于没有风险,使用写操作前请自行备份工程。