The Summer Engine MCP server exposes 52 tools across six categories: Scene (14), Debug and Play (10), Project (9), Asset Library (6), Generation (6), and Summer Cloud (7).Scene, Debug, and Project tools talk to the running engine on localhost:6550 and require Summer Engine to be open with a project loaded. If the engine is not running, those tools return a clear error and a summer run hint. Asset Library, Generation, and Summer Cloud tools call the Summer Engine cloud and require you to be signed in (run npx summer-engine login once); the import side of asset tools needs the engine running too. Summer Cloud tools work on the project directory directly and do not need a running engine.Critical: value formats. Properties like position, rotation_degrees, and mesh use engine string syntax, not raw JSON objects. See Value Formats below.
Create a new empty scene file. To prevent accidental destructive edits you must explicitly pass allow_temporary_scene_mutation=true; the tool opens a template scene, removes its children, saves to the new path, then restores the previous scene.
Parameter
Type
Required
Description
path
string
Yes
New scene path, e.g. res://scenes/empty_level.tscn
rootName
string
No
Root node name for the new scene (default Main)
allow_temporary_scene_mutation
boolean
No
Safety gate. Must be true to proceed (default false)
Remove a node from the scene tree. All children are removed too. Cannot remove the root node. Supports undo. Destructive: do not delete multiple top-level nodes unless the user explicitly asks for destructive changes.
Replace a node with a different type or scene, preserving its position in the tree and its children. Useful for swapping a StaticBody3D for a RigidBody3D, or a placeholder for a proper prefab.
Parameter
Type
Required
Description
path
string
Yes
Node path to replace
type
string
No
New node type, e.g. RigidBody3D
scene
string
No
Scene to replace with, e.g. res://enemies/boss.tscn
Add an existing scene or 3D model as a child node. Use for .tscn prefabs or .glb/.gltf models. The scene must already exist in the project; import external sources first with summer_import_from_url.
Parameter
Type
Required
Description
parent
string
Yes
Parent node path
scene
string
Yes
Scene/model path, e.g. res://player.tscn or res://models/tree.glb
Get all editable properties of a node with their current values, types, and resource info. Returns every property the inspector would show. Call this before modifying a node to understand its current state.
Parameter
Type
Required
Description
path
string
Yes
Node path from the scene tree, e.g. Player, World/Enemies/Boss
Execute multiple operations in a single call, grouped into one undo step. The user can undo everything with a single Ctrl+Z. Use when building something that involves multiple nodes and properties at once.
Parameter
Type
Required
Description
ops
array
Yes
Array of operation objects, each with op plus its parameters
Each op uses the same shape as the individual tools:
Quick overview of all errors and warnings from both the editor console and the runtime debugger. Returns error counts and a guidance message. Call this first before diving into the console or debugger details.
Parameters
None
Workflow: call summer_get_diagnostics; if there are errors, read summer_get_console, summer_get_debugger_errors, or summer_get_debugger_warnings; fix; then call summer_get_diagnostics again to verify.
Read recent messages from the editor’s Output panel. Output is deduped for token economy: consecutive identical messages collapse into one entry with a (xN) count, and the response carries a _filter summary of what was hidden.
Parameter
Type
Required
Description
max_lines
number
No
Max lines to return after dedupe (default 100)
filter
string
No
Only return lines containing this string
type
enum
No
Filter by message type: error, warning, std, editor
errors_only
boolean
No
Drop info/std noise, keep errors and warnings (default true)
strict_errors
boolean
No
Drop warnings too, return errors only (default false)
Read runtime errors from the debugger (null references, missing nodes, physics errors). These occur while the game is running and are distinct from console output. Deduped: identical errors firing every frame collapse into one entry with a (xN) count.
Read runtime warnings from the debugger: missing optional resources, dead signal connections, deprecated API use, large allocations, physics warnings. Same structured shape as summer_get_debugger_errors, filtered to severity warning. Use this when summer_get_diagnostics shows a non-zero debugger.warnings count.
Check a GDScript file for parse/compile errors without running the game. Returns line numbers, error messages, and severity. Much faster than running the game to discover script errors. Use after writing or editing a .gd file.
Start running the game in the engine. The game runs inside Summer Engine’s viewport. After starting, use summer_get_diagnostics to check for runtime errors. You can run a specific scene instead of the main scene.
Parameter
Type
Required
Description
scene
string
No
Scene to run instead of the main scene, e.g. res://levels/test_level.tscn
Capture a frame from the running Summer Engine and return it as an image the MCP client can see directly. Use to visually verify scene layout, asset placement, and gameplay state. Captures the editor viewport by default, or the running game with target="game".
Parameter
Type
Required
Description
target
enum
No
What to capture: viewport (editor, default) or game (running game)
The router to call at the start of any substantial AI game-building task. Takes the user’s goal and returns the recommended Summer workflow: skill routes, MCP tool groups, host-file boundaries, asset policy, user confirmation gates, and verification steps.
Parameter
Type
Required
Description
goal
string
Yes
The user’s game-building goal or task
mode
enum
No
Task mode override (default auto)
target
enum
No
Content/system target override (default auto)
assetPolicy
enum
No
How aggressively to use paid generation (default ask-before-paid-generation)
verification
enum
No
How much engine verification to plan for (default full)
The AI-first operating guide for Summer Engine MCP. Call at the start of a fresh chat before touching scenes. Returns the safe workflow, anti-patterns, and recovery steps.
Get essential project context before editing: engine health, project name and path, current scene path, main scene path from project settings, and a lightweight .summer project memory summary. Use this first in every fresh chat to avoid guessing scene filenames or editing the wrong scene.
Open the project’s configured main scene from project settings. Safer than guessing scene names like main.tscn or Main.tscn. Call this when you get “no scene open”.
Get the full scene tree of the currently open scene. Use before structural edits (add/remove/replace). If you get “no edited scene”, call summer_open_main_scene first.
Download a file from a URL and import it into the project. Triggers the engine’s full import pipeline: generates .import files, extracts textures from .glb models, creates materials. Use for 3D models (.glb, .gltf, .obj), textures (.png, .jpg, .webp), and audio (.ogg, .wav, .mp3).
Parameter
Type
Required
Description
url
string
Yes
HTTP(S) URL to download from
path
string
No
Target path, e.g. res://assets/player.glb. Auto-inferred from the URL if omitted.
Download multiple files from URLs in one operation. Performs a single filesystem scan after all downloads, which is faster than importing one at a time.
The public asset library is free for all signed-in users, with per-user rate limits. These tools need you signed in (npx summer-engine login); the import tools also need the engine running.
Search the Summer Engine asset library and your own assets. Hybrid search combines keywords and semantic similarity, so it finds assets by name and by meaning. Returns names, types, preview URLs, and import-ready file URLs.
Parameter
Type
Required
Description
query
string
Yes
Natural language search, e.g. low-poly tree, sci-fi weapon. For my_assets, can be empty to list recent.
assetType
enum
No
2d_image, animation, 3d_model, audio, music, or all (default all)
limit
number
No
Max results, 1 to 20 (default 10)
source
enum
No
library (public 25k+), my_assets, or all (default library)
Search the asset library and import the best match into the project in one step. Use when the user wants a specific asset added: “Add a tree to the scene”, “Import a wooden barrel”. Searches, picks the top result, downloads and imports it, then optionally adds it to the scene.
Parameter
Type
Required
Description
query
string
Yes
What to find, e.g. low-poly tree, wooden crate
parent
string
No
Parent node path to add the asset under, e.g. ./World. Omit to import only.
Import an exact Summer asset ID into the current project. Unlike summer_import_asset, this does not search or guess: it fetches the asset by ID, downloads it, and runs the import pipeline. Use it right after generation, after picking from summer_list_my_assets, or after a search.
Parameter
Type
Required
Description
assetId
string
Yes
Summer asset ID
path
string
No
Target res:// path. Inferred from asset type and filename if omitted.
parent
string
No
Parent node path. For 3D models, imports and instantiates under this node.
List or search the signed-in user’s generated and uploaded assets. Use after generation jobs complete, or when the user refers to “the model I made” or “my last character”. Returns exact asset IDs plus file and import URLs.
Fetch one asset by exact Summer asset ID. Use after a generation job returns assetId/rigAssetId/animationAssetId, or after search results, when you need the stable file URL, download URL, viewer URL, metadata, license, visibility, or provider details.
Get a downloadable URL for a specific asset file. Prefer this over handing users a raw fileUrl when they explicitly ask to download; the response shape is future-proofed for signed URLs.
Generation runs in Summer Engine Studio and consumes credits. These tools need you signed in (npx summer-engine login). Confirm with the user before spending on paid generation, then import results into the project with summer_import_asset_by_id or summer_import_from_url.
Generate an image with AI models. Supports text-to-image (just pass prompt) and image-to-image editing (pass prompt plus referenceImageUrl). Returns the asset with a hosted fileUrl and a temp localPath on disk you can read to show the user for approval.
Parameter
Type
Required
Description
prompt
string
Yes
Description of the image to generate
model
string
No
Model name or full provider ID (default nano-banana-2)
style
string
No
Style preset: realistic (default), cartoon, anime, or none
Generate a 3D model. Returns a jobId; by default the tool waits for completion (up to 5 minutes) and returns the result directly. Set wait=false to poll manually with summer_check_job.
Parameter
Type
Required
Description
prompt
string
No
Description of the model, e.g. a low-poly treasure chest (required for text-to-3d)
kind
string
No
text-to-3d (default), image-to-3d, or texture
model
string
No
hunyuan (default), trellis, meshy, or any fal-ai model ID
imageUrl
string
No
Source image URL for image-to-3d or texture
wait
boolean
No
Wait for completion (default true). Set false to get the jobId immediately.
Optional rig pass (image-to-3d only): set options.rig = true to add an auto-rig pass. The job result includes a rigAssetId you can feed to summer_generate_motion to add animation clips.
Generate audio. The capability selects the mode; options is passed through to the provider for fine control (stability, similarity_boost, style, speed, etc.).
Parameter
Type
Required
Description
capability
string
Yes
text_to_speech, sound_effects, music, or text_to_dialogue
text
string
No
Text for TTS, or description for sound effects
prompt
string
No
Music description (for music)
voiceId
string
No
Voice ID for TTS
modelId
string
No
Provider model ID, e.g. eleven_multilingual_v2
durationSeconds
number
No
Duration for SFX or music
inputs
array
No
Dialogue lines {text, voiceId} for text_to_dialogue
Generate an animation clip for a rigged humanoid character. Requires a rigged target whose rigAssetId came from a prior summer_generate_3d call with options.rig=true. Picks a clip from a curated mocap set by name. Waits for completion by default; set wait=false to poll with summer_check_job.
Parameter
Type
Required
Description
rigAssetId
string
Yes
Asset ID of a rigged character
motionName
string
Yes
Curated motion name: walk, run, attack_sword, idle, jump, etc.
Check the status of an async generation job. Use when you called a generation tool with wait=false, or to re-check a job that timed out. Status values: waiting, active, completed, failed, delayed, unknown.
Content-addressed project sync: the whole project tree, including big binary assets, syncs across machines without Git. These tools mirror the summer cloud CLI commands 1:1 and operate on the project directory on disk plus the Summer Cloud API; they do not require a running engine. All of them accept an optional project parameter (project root path, defaults to the current working directory) and return a JSON result with a message, notices, and details. See the Summer Cloud guide for the sync model and the Cloud CLI Reference for command-line equivalents.
Enable Summer Cloud for a project. Creates the cloud project at version 0 and writes summer-cloud.json (the project’s cloud binding, the only cloud file that belongs in Git) at the project root. Safe to call on an already-bound project.
Parameter
Type
Required
Description
project
string
No
Project root path (defaults to the current working directory)
Push local project changes to Summer Cloud. Hashes the tracked tree, uploads only missing blobs, and commits a new manifest version. Pulls remote changes first if needed so the pushed version reflects a converged tree.
Parameter
Type
Required
Description
project
string
No
Project root path
confirmDeletes
boolean
No
Required true when the push would delete many cloud files (more than 10, at least 20% of the project, or all of it). Default false
bootstrap
string
No
First-sync choice when both local tree and cloud have content but no sync history exists on this machine: keep-cloud, keep-local, or merge
adoptPath
boolean
No
Accept that the project folder moved on disk and update the recorded path
Pull Summer Cloud changes into the local project. Stages downloads, verifies every blob’s sha256, writes a local checkpoint before touching existing files, then applies changes atomically.
Parameter
Type
Required
Description
project
string
No
Project root path
bootstrap
string
No
First-sync choice: keep-cloud, keep-local, or merge
adoptPath
boolean
No
Accept that the project folder moved on disk and update the recorded path
Restore a retained cloud version (creates a new head version with that version’s contents, then pulls; history is never rewritten), or roll the local tree back to a pre-sync checkpoint via checkpointStamp.
Parameter
Type
Required
Description
project
string
No
Project root path
version
number
No
Cloud version number to restore
checkpointStamp
string
No
Local checkpoint stamp (see summer_cloud_checkpoints)
List local pre-sync checkpoints. Before any sync modifies or deletes existing files, a full-tree checkpoint is written; the last 20 are kept. Returns the stamps that summer_cloud_restore accepts.
List local conflict sets, or restore a preserved conflict file with restorePath. When concurrent edits collide, the cloud version wins the path and the losing local bytes are preserved; this tool recovers them as a fresh local edit. Push afterwards to make the restored file canonical.
Parameter
Type
Required
Description
project
string
No
Project root path
restorePath
string
No
Project-relative path to restore from the conflict sets
set
string
No
Conflict set stamp (defaults to the newest set containing the path)