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许可证