Profile
Back to NewsBack
GitHub Trending 4 min
Reader Mode
playcanvas/editor-mcp-server: MCP Server for AI automation of the PlayCanvas Editor

playcanvas/editor-mcp-server: MCP Server for AI automation of the PlayCanvas Editor

15 hours ago

PlayCanvas Editor MCP Server

npm</a> Version</a> CI</a> License</a> Context</a> Discord</a> Reddit</a> X</a>

| npm | Developer Site | Editor Manual | API Reference | Blog | Forum |

An MCP server that lets AI agents automate the PlayCanvas Editor and check that scenes actually run. The MCP client is built into the Editor, so no browser extension is needed.

PlayCanvas Editor driven by an MCP client

Install

Add the server to your MCP client. For Claude Code:

claude mcp add playcanvas -- npx -y @playcanvas/editor-mcp-server

Requires Node.js 22.18+. Add the server once per agent: two servers take turns owning the Editor port.

Claude Desktop, Cursor, and a shared project .mcp.json

{
  "mcpServers": {
    "playcanvas": {
      "command": "npx",
      "args": ["-y", "@playcanvas/editor-mcp-server"]
    }
  }
}

Add this to claude_desktop_config.json (Settings > Developer > Edit Config), to Cursor's global MCP servers (Cursor Settings > MCP), or to a .mcp.json committed to the project root for Claude Code. On Windows, use "command": "cmd" with "args": ["/c", "npx", "-y", "@playcanvas/editor-mcp-server"].

Codex CLI and app

codex mcp add playcanvas -- npx -y @playcanvas/editor-mcp-server

On Windows, insert cmd /c before npx. If the first run times out while npx downloads, raise startup_timeout_sec under [mcp_servers.playcanvas] in ~/.codex/config.toml.

Then open your project in the Editor, click the MCP button below Publish, and click CONNECT. To start with no project open, use the MCP button next to NEW PROJECT on playcanvas.com/editor. Allow Chrome's Apps on device permission when prompted; if the Editor stays on Connecting, it is blocked. The default port is 52000; to change it, pass --port to the server and set the same port in the Editor.

Usage

Ask your agent for the outcome you want in the open project. For example:

Add a spinning cube with a rotate script to the current scene, launch it, and capture a screenshot
of the running app to confirm it turns.

Tools

| Category | Coverage | | --- | --- | | Projects | Listing, exact reads, creation, name, description and visibility edits, and opening a project in the connected Editor | | Entity | Exact reads, filtered lists, resolution, search, script lookup, creation, schema-safe batch edits, duplication, hierarchy changes, deletion and component lifecycle | | Scripts | Asset text reads and writes, parsing, attachment, attributes, ordering and removal | | Assets | Exact reads, reference graphs, native creation, streamed upload and atomic download up to 512 MiB, schema-safe edits, moves, duplication, source replacement, reimport, deletion and materials | | Templates | Instantiation and instance override inspection, application, reversion and unlinking | | Animation | Animation state graph reads and edits, mapping-safe state renames and animation events | | Processing | Lightmaps, model unwrap and cancellation, texture conversion, atlases, cubemaps, fonts, metadata, compressed variants, prefiltering, sprites and bundles | | Scene | Exact reads, listing, loading, creation, duplication, rename, deletion and scene settings | | Settings | Scoped project, private, user, session and scene settings reads and edits | | Viewport | Camera and viewport state, visibility, capture and focus | | Editor | Selection, edit-time logs, transform gizmo state, undo and redo | | Builds | Listing, exact reads, creation options, streamed downloads, primary build selection and deletion | | Store | PlayCanvas Store search and import, licenses, Sketchfab search and import, and My Assets search and import | | Runtime | Launch lifecycle and options, engine version discovery, screenshots, logs, live state inspection and keyboard, mouse and touch input | | VCS | Branches, checkpoints, restore and hard reset, merges, conflict resolution and checkpoint diffs |

Tools act on the project open in the connected Editor, one Editor at a time. Project tools also work from the project manager at playcanvas.com/editor with no project open; opening a project reloads the tab into it and reconnects automatically. Projects can't be deleted. Runtime tools open a Launch window, so allow pop-ups for the Editor.

Context cost

The 130 tool definitions total about 43,000 tokens (4 characters per token). Claude Code's MCP tool search is on by default and loads only tool names at start, about 1,000 tokens.

Data and network use

The server has no telemetry. It listens on 127.0.0.1:52000 for playcanvas.com and localhost pages, stops any other process holding that port, touches local files only for upload and download tools, and makes one outbound request: download_build fetches the archive URL the Editor reports.

Contributing

git clone https://github.com/playcanvas/editor-mcp-server.git
cd editor-mcp-server
npm install
npm run watch

Point your MCP client at src/server.ts with "command": "node". npm run debug opens the MCP Inspector and npm run build produces the published bundle. Report bugs in GitHub Issues.

License

The PlayCanvas Editor MCP Server is released under the MIT License.

Chat with me