视觉小说脚本控制插件

Unity C#插件,通过模型上下文协议(MCP)暴露Naninovel脚本编写和播放控制,使AI助手能够编写、编辑和测试视觉小说脚本。

  • by shar0
  • C#
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 shar0/naninovel-mcp

使用说明

Naninovel MCP服务器

Unity C#插件,通过模型上下文协议(MCP)公开Naninovel脚本创作和播放控件,使AI助手能够编写、编辑和测试视觉小说脚本。

特性

  • 独立于游戏模式 -服务器始终在编辑器中运行
  • NaniScript CRUD -创建、读取、更新、删除脚本文件
  • 直接播放 -跳过标题屏幕,跳到任何脚本/标签
  • 输入模拟 -高级对话,模拟按键
  • 目视验证 -用于场景验证的屏幕截图

快速开始

  1. 打开Unity编辑器
  2. 服务器自动启动(或打开 窗口>Nani MCP>服务器状态)
  3. 将您的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许可证