playcanvas_editor-mcp-server logo

playcanvas_editor-mcp-server

by MCP-Mirror

An MCP Server for automating the PlayCanvas Editor using an LLM. It provides a set of tools to interact with the editor programmatically.

View on GitHub

Last updated: N/A

██████╗ ██╗      █████╗ ██╗   ██╗ ██████╗ █████╗ ███╗   ██╗██╗   ██╗ █████╗ ███████╗
██╔══██╗██║     ██╔══██╗╚██╗ ██╔╝██╔════╝██╔══██╗████╗  ██║██║   ██║██╔══██╗██╔════╝
██████╔╝██║     ███████║ ╚████╔╝ ██║     ███████║██╔██╗ ██║██║   ██║███████║███████╗
██╔═══╝ ██║     ██╔══██║  ╚██╔╝  ██║     ██╔══██║██║╚██╗██║╚██╗ ██╔╝██╔══██║╚════██║
██║     ███████╗██║  ██║   ██║   ╚██████╗██║  ██║██║ ╚████║ ╚████╔╝ ██║  ██║███████║
╚═╝     ╚══════╝╚═╝  ╚═╝   ╚═╝    ╚═════╝╚═╝  ╚═╝╚═╝  ╚═══╝  ╚═══╝  ╚═╝  ╚═╝╚══════╝

███╗   ███╗ ██████╗██████╗        ███████╗███████╗██████╗ ██╗   ██╗███████╗██████╗ 
████╗ ████║██╔════╝██╔══██╗       ██╔════╝██╔════╝██╔══██╗██║   ██║██╔════╝██╔══██╗
██╔████╔██║██║     ██████╔╝       ███████╗█████╗  ██████╔╝██║   ██║█████╗  ██████╔╝
██║╚██╔╝██║██║     ██╔═══╝        ╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██╔══╝  ██╔══██╗
██║ ╚═╝ ██║╚██████╗██║            ███████║███████╗██║  ██║ ╚████╔╝ ███████╗██║  ██║
╚═╝     ╚═╝ ╚═════╝╚═╝            ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚══════╝╚═╝  ╚═╝

An MCP Server for automating the PlayCanvas Editor using an LLM.

<img width="1864" alt="Screenshot 2025-03-21 at 15 50 10" src="https://github.com/user-attachments/assets/393ffe73-40eb-4e1b-9442-2295bbb63326" />

[!IMPORTANT]
At the moment, the MCP Server needs to be driven by Anthropic's Claude. Our experience shows that the free tier for Claude does not deliver a big enough chat context to operate the MCP Server reliably. Therefore, we strongly recommend subscribing to a Pro Claude account.

Available Tools

  • create_entities
  • modify_entities
  • duplicate_entities
  • reparent_entity
  • delete_entities
  • list_entities
  • add_components
  • remove_components
  • list_assets
  • delete_assets
  • instantiate_template_assets
  • create_script
  • set_script_text
  • script_parse
  • create_material
  • set_material_diffuse
  • add_script_component_script
  • modify_scene_settings
  • query_scene_settings
  • store_search
  • store_get
  • store_download

Installation

Run npm install to install all dependencies.

Install Chrome Extension

  1. Visit chrome://extensions/ and enable Developer mode
  2. Click Load unpacked and select the extensions folder
  3. Load the PlayCanvas Editor. The extension should be loaded.

Run MCP Server

The MCP Server can be driven by Cursor or Claude Desktop.

[!TIP]
We have found Claude Desktop to be generally more reliable.

Claude Desktop
  1. Install Claude Desktop.
  2. Go to Claude > Settings.
  3. Select Developer and then Edit Config.
  4. This will open claude_desktop_config.json, your MCP Config JSON file.
Cursor
  1. Install Cursor.
  2. Select File > Preferences > Cursor Settings.
  3. Click + Add new global MCP server.
  4. This will open mcp.json, your MCP Config JSON file.

[!TIP]
Also in Cursor Settings, select Features and scroll to the Chat section. Activate Enable auto-run mode to allow the LLM to run MCP tools without requiring constant authorization. You do this at your own risk (but we prefer it)!

MCP Config JSON File

This is how your config should look:

Windows

{
  "mcpServers": {
    "playcanvas": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "tsx",
        "C:\\path\\to\\mcp-editor\\src\\server.ts"
      ]
    }
  }
}

macOS

{
  "mcpServers": {
    "playcanvas": {
      "command": "npx",
      "args": [
        "tsx",
        "/path/to/mcp-editor/src/server.ts"
      ]
    }
  }
}

The MCP server and Chrome extension should now be running. You can enter a command!

[!IMPORTANT]
In Cursor, ensure you have Agent selected. Ask and Edit modes will not recognize the MCP Server.