MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

MCP server for Naninovel, enabling AI-assisted visual novel development with screenshot support.

Created 1/22/2026
Updated about 1 month ago
Repository documentation and setup instructions

Naninovel MCP Server

Unity C# plugin that exposes Naninovel script authoring and playback controls via the Model Context Protocol (MCP), enabling AI assistants to write, edit, and test visual novel scripts.

Features

  • Independent of Play Mode - Server runs in Editor at all times
  • NaniScript CRUD - Create, read, update, delete script files
  • Direct Playback - Skip title screen and jump to any script/label
  • Input Simulation - Advance dialogue, simulate key presses
  • Visual Verification - Screenshot capture for scene validation

Quick Start

  1. Open Unity Editor
  2. Server auto-starts (or open Window > Nani MCP > Server Status)
  3. Connect your MCP client to http://localhost:6274

For Antigravity, add to your mcp_config.json:

{
  "mcpServers": {
    "nani-mcp": {
      "serverUrl": "http://localhost:6274"
    }
  }
}

Available Tools

Script File Operations (Editor Mode)

| Tool | Description | |------|-------------| | list_scripts | Lists all .nani files in Scenarios folder | | read_script | Reads content of a script file | | write_script | Creates or overwrites a script file | | edit_script | Insert, replace, or delete lines in a script | | delete_script | Deletes a script file (with backup) |

Playback Controls (Play Mode)

| Tool | Description | |------|-------------| | quick_play | Play a script directly, bypassing title screen | | execute_command | Execute a single Nani command | | play_script | Load and play a script | | stop_player | Stop current playback | | goto_label | Jump to a specific label | | get_playback_status | Get current playback state |

Scene & State (Play Mode)

| Tool | Description | |------|-------------| | capture_screenshot | Capture current Game View as PNG | | get_scene_state | Get visible actors and positions | | get_variables | List all custom variables | | set_variable | Set a variable value |

Input Simulation (Play Mode)

| Tool | Description | |------|-------------| | continue_dialogue | Advance to next dialogue line | | simulate_key | Simulate keyboard key press | | simulate_click | Simulate mouse click |

Unity Editor Controls

| Tool | Description | |------|-------------| | enter_play_mode | Start Unity Play Mode (from title screen) | | exit_play_mode | Stop Unity Play Mode | | get_unity_status | Get Unity Editor status and Play Mode state | | list_scenes | List all Unity scenes in Build Settings |

Example: Writing a Script

{
  "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!"
    }
  }
}

Example: Quick Play

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "quick_play",
    "arguments": {
      "script": "events/new_scene",
      "resetState": true
    }
  }
}

Configuration

Open Window > Nani MCP > Server Status to configure:

  • Port: WebSocket server port (default: 6274)
  • Auto-start: Start server automatically when Editor opens

License

MIT License

Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/shar0/naninovel-mcp
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "shar0-naninovel-mcp": { "command": "git", "args": [ "clone", "https://github.com/shar0/naninovel-mcp" ] } } }