Naninovel MCP服务器
Unity C#插件,通过模型上下文协议(MCP)公开Naninovel脚本创作和播放控件,使AI助手能够编写、编辑和测试视觉小说脚本。
特性
- 独立于游戏模式 -服务器始终在编辑器中运行
- NaniScript CRUD -创建、读取、更新、删除脚本文件
- 直接播放 -跳过标题屏幕,跳到任何脚本/标签
- 输入模拟 -高级对话,模拟按键
- 目视验证 -用于场景验证的屏幕截图
快速开始
- 打开Unity编辑器
- 服务器自动启动(或打开 窗口>Nani MCP>服务器状态)
- 将您的MCP客户端连接到
http://localhost:6274
对于Antigravity,添加到您的 mcp_config.json:
{
"mcpServers": {
"nani-mcp": {
"serverUrl": "http://localhost:6274"
}
}
}
可用工具
脚本文件操作(编辑器模式)
| 工具 |
说明 |
list_scripts |
列出Scenarios文件夹中的所有.nani文件 |
read_script |
读取脚本文件的内容 |
write_script |
创建或覆盖脚本文件 |
edit_script |
在脚本中插入、替换或删除行 |
delete_script |
删除脚本文件(带备份) |
播放控制(播放模式)
| 工具 |
说明 |
quick_play |
直接播放脚本,绕过标题屏幕 |
execute_command |
执行单个Nani命令 |
play_script |
加载并播放脚本 |
stop_player |
停止当前播放 |
goto_label |
跳转到特定标签 |
get_playback_status |
获取当前播放状态 |
场景和状态(播放模式)
| 工具 |
说明 |
capture_screenshot |
将当前游戏视图捕获为PNG |
get_scene_state |
获得可见的演员和职位 |
get_variables |
列出所有自定义变量 |
set_variable |
设置变量值 |
输入模拟(播放模式)
| 工具 |
说明 |
continue_dialogue |
前进到下一条对话线 |
simulate_key |
模拟键盘按键 |
simulate_click |
模拟鼠标点击 |
Unity编辑器控件
| 工具 |
说明 |
enter_play_mode |
启动Unity播放模式(从标题屏幕) |
exit_play_mode |
停止Unity播放模式 |
get_unity_status |
获取Unity编辑器状态和播放模式状态 |
list_scenes |
在构建设置中列出所有Unity场景 |
示例:编写脚本
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_script",
"arguments": {
"path": "events/new_scene.nani",
"content": "; New Scene\n@back Classroom\n@char NaniChan\nNaniChan: Bonjour!"
}
}
}
示例:快速播放
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "quick_play",
"arguments": {
"script": "events/new_scene",
"resetState": true
}
}
}
配置
打开 窗口>Nani MCP>服务器状态 配置:
- 端口:WebSocket服务器端口(默认值:6274)
- 自动启动:编辑器打开时自动启动服务器
许可证
MIT许可证