Skip to content

Repository files navigation

PlayCanvas Editor MCP Server

npm Version CI License Context Discord Reddit X

| 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 <number> 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.

Releases

Used by

Contributors

Languages