io.github.SummerEngine/summer · version 4.9.1 · 3,247 weekly npm downloads · audited 2026-11-03
Notes
No hidden-instruction or invisible-character findings in any tool, prompt, or resource description.
Checks the directory's published tool requirements that are visible from tools/list. Passing them does not guarantee acceptance.
summer_run_script, summer_runtime_spawnsummer_write_filesummer_remove_node, summer_engine_delete_camera_bookmarkNot a vulnerability by itself. It tells you what an injected prompt could ask this server to do, so you can decide which tools need approval.
| Name | Title | Hint | Description |
|---|---|---|---|
summer_create_scene | Create a scene file | writes | Create a new, minimal .tscn file with the root type you name. It fails when the file exists and never touches the open scene. Build it out with summer_run_script and that scenePath. Guide: summer_docs_read {"id":"tool/cr… |
summer_add_node | Add a node | writes | Add one node of any type to the scene at scenePath (it need not be the open tab) and save it. For 3 or more edits, write one summer_run_script instead. Next: summer_set_prop. Guide: summer_docs_read {"id":"tool/add-node"… |
summer_set_prop | Set a node property | writes | Set one property of a node in the scene at scenePath and save it. Values use Godot syntax: "Vector3(0, 1, 0)", "Color(1, 0, 0, 1)", or a resource class such as "BoxMesh". For 3 or more edits, write one summer_run_script.… |
summer_set_resource_property | Set a property of a node's resource | writes | Set a property inside a resource a node holds, such as a collision shape's size or a material's albedo_color, and save the scene. The resource must exist first: assign it with summer_set_prop. Guide: summer_docs_read {"i… |
summer_remove_node | Remove a node | writes | Remove a node and all its children from the scene at scenePath and save it. The root cannot be removed. One undo step. Remove top-level nodes only when the person asked for it. Guide: summer_docs_read {"id":"tool/remove-… |
summer_save_scene | Save a scene | writes | Save the scene at scenePath, or save it under a new path. Scene edits already save once; use this for a standalone save or a save-as. Guide: summer_docs_read {"id":"tool/save-scene"} |
summer_open_scene | Open a scene in the editor | writes | Open a scene file in the editor and show its tab. A visible tab change for the person, not a target for edits: edits take scenePath. Take paths from summer_get_project_context; never guess them. Guide: summer_docs_read {… |
summer_instantiate_scene | Add a scene or model as a node | writes | Add an existing .tscn, .glb or .gltf as a child node in the scene at scenePath, placed in the same call (position, rotation_degrees, scale or transform). Pass target_size for imported models. Next: summer_screenshot. Gui… |
summer_connect_signal | Connect a signal | writes | Connect a signal of one node to a method of another so the saved scene keeps it, verified from the saved .tscn. The receiver should define the method. Then test it with summer_play. Guide: summer_docs_read {"id":"tool/co… |
summer_select_node | Select a node in the editor | writes | Select a node in the editor's scene tree and show it in the inspector, so the person sees it. The scene does not change. Guide: summer_docs_read {"id":"tool/select-node"} |
summer_view_set | Show the person a view | writes | Switch what the person sees while you work: the view (3d, 2d, script, game, chat, home, studio), the right rail, the node or file in focus and the nodes to frame. Only the screen changes. Which view when: the navigate-su… |
summer_replace_node | Replace a node | writes | Replace a node with another scene or node type, keeping its parent, index, name, transform and children; the saved file is read back to prove it. Next: summer_get_scene_tree. Guide: summer_docs_read {"id":"tool/replace-n… |
summer_inspect_node | Read a node's properties | read-only | Read one node of the open scene: every editable property with its value and type, or only the fields you name (transform, global_transform, scene_file_path, aabb). Next: summer_set_prop. Guide: summer_docs_read {"id":"to… |
summer_inspect_resource | Read a resource | read-only | Read a resource file (a mesh's bounds and surfaces, a scene's nodes, any resource's non-default properties) or a resource a node holds (nodePath and property). Next: summer_set_resource_property. Guide: summer_docs_read … |
summer_batch | Run engine ops in one call | writes | Send a list of raw engine ops (AddNode, SetProp, RunVerification...) in one call: one undo step unless an op must travel alone, and one save at the end. Ask for receipt summary on long lists. For computed edits, summer_r… |
summer_get_diagnostics | Read errors and warnings | read-only | Read the editor console, the runtime debugger and script errors together, with complete counts and errors first. The first read after a change and after play. Next: summer_get_debugger_errors or summer_get_console for th… |
summer_get_console | Read the editor console | read-only | Read recent editor Output messages, collapsed and filtered (errors and warnings by default; errors_only false for print output). A played game's runtime errors are not here: read summer_get_diagnostics first. Guide: summ… |
summer_clear_console | Clear the editor console | writes | Clear the editor's Output panel, for a clean slate before the game runs. Guide: summer_docs_read {"id":"tool/clear-console"} |
summer_get_debugger_errors | Read runtime errors | read-only | Read the played game's runtime errors from the debugger (null references, missing nodes, physics errors), collapsed, with call stacks on request. After a fix, read summer_get_diagnostics again. Guide: summer_docs_read {"… |
summer_get_debugger_warnings | Read runtime warnings | read-only | Read the played game's runtime warnings from the debugger, with file, line and call stack. Guide: summer_docs_read {"id":"tool/get-debugger-warnings"} |
summer_play | Play the game | writes | Play the game in the editor's real window (agents may; quiet: the editor keeps its tab and focus): main scene or a given one, embedded or a hidden offscreen instance, optional seed and fixed frame rate, or local multipla… |
summer_stop | Stop the game | writes | Stop the running game, or one offscreen instance by name. Scene edits stay as they are; nothing is undone or saved. Guide: summer_docs_read {"id":"tool/stop"} |
summer_is_running | Check whether the game runs | read-only | Check whether the game is running, and which scene it runs. Guide: summer_docs_read {"id":"tool/is-running"} |
summer_get_script_errors | Check a script for errors | read-only | Check one GDScript file for parse and compile errors without running the game: line, message and severity of each. The first check after writing a script. Guide: summer_docs_read {"id":"tool/get-script-errors"} |
summer_create_debug_report | Write a debug report | writes | Write a support-ready Markdown report: doctor checks, engine health, diagnostics, console and debugger output, and a hand-off prompt. No tokens or file contents; the person should still read it before sending it. Guide: … |
summer_screenshot | Take a screenshot | read-only | Return a frame as an image you see, to check your work by eye: the editor viewport, an offscreen render of a scene (preset, camera, bookmark or free pose, numbered marks) or the running game. A blank viewport frame means… |
summer_frame_nodes | Frame nodes and render them | writes | Fit a camera to the world bounds of some nodes and render them with the scene's real environment and lights; bookmark_name also saves the pose. Returns the image and a caption with the pose and bounds. Guide: summer_docs… |
summer_shot_sheet | Render a sheet of views | read-only | Render several bookmarks or poses into one labelled grid with real lighting, and compare each bookmark with its last render (difference map). The quick look at every hero view after a change. Guide: summer_docs_read {"id… |
summer_debug_views | Render debug views of a pose | read-only | Render one pose as a grid of debug views next to the beauty pass: lighting only, albedo, world normals, overdraw and wireframe. Shows why a shot looks wrong. Guide: summer_docs_read {"id":"tool/debug-views"} |
summer_zoom | Zoom into part of a frame | read-only | Render a close-up of part of a frame (a region, or mark N of a marks render) at full resolution: real detail, seams and gaps, not enlarged pixels. Guide: summer_docs_read {"id":"tool/zoom"} |
summer_frame_shot | Find camera poses for a shot | writes | Find, score and save camera poses for a shot type (establishing, eye level, low angle, detail, corridor), tested against the real geometry in the open editor. Returns the best 3 poses and a sheet to look at, and saves th… |
summer_scene_audit | Audit a 3D scene | read-only | Check a saved 3D scene for visual and placement problems: holes, exposed edges, floor gaps, floating or sunken props, overlaps, z-fighting, light limits. Returns issues by severity, each with the next tool. Changes nothi… |
summer_get_project_context | Read the project context | read-only | Bind this session to the project open in Summer Engine and read it: project, current and main scene, engine health, project memory and warnings. Call it first in every chat; the scene tree and settings come on request (i… |
summer_open_main_scene | Open the main scene | writes | Open the project's main scene (from project settings) in the editor, instead of guessing a scene file name. Guide: summer_docs_read {"id":"tool/open-main-scene"} |
summer_project_setting | Set a project setting | writes | Set one project.godot setting, such as application/run/main_scene, the window size, the renderer or the default gravity. Guide: summer_docs_read {"id":"tool/project-setting"} |
summer_input_map_bind | Bind input to an action | writes | Create an input action when it is missing and bind keys or mouse buttons to it, for example jump to Space. Then try it with summer_play. Guide: summer_docs_read {"id":"tool/input-map-bind"} |
summer_get_scene_tree | Read a scene's node tree | read-only | Read the node tree of a scene: names, types and paths. Pass scenePath for an exact scene and depth for deep trees; the engine stops at depth 2 and 200 nodes by default and says truncated. Next: summer_inspect_node. Guide… |
summer_import_from_url | Import a file from a URL | writes | Download one file (model, texture, audio) from a URL into the project and run the import, so it is ready to use. For a model, next: summer_instantiate_scene. Guide: summer_docs_read {"id":"tool/import-from-url"} |
summer_import_from_url_batch | Import files from URLs | writes | Download several files from URLs into the project in one call, with one import scan at the end. Guide: summer_docs_read {"id":"tool/import-from-url-batch"} |
summer_projects_create_local | Create a project on this computer | writes | Create a project on this computer. Writes a template (3d-basic by default) to a folder, no shell needed. Returns projectPath. Next: summer_projects_open_local. |
summer_projects_open_local | Open a project in Summer Engine | writes | Open a project in Summer Engine. Waits until it connects; installs the engine only with install: true (the person's yes). Next: summer_get_project_context. |
summer_read_file | Read a project file | read-only | Read a text file of the project (res://), a line or byte window of it, or parts of a .json, with the whole file's sha256. Pass that sha256 to summer_write_file or summer_replace_text to change the file safely. Guide: sum… |
summer_grep | Search project files | read-only | Search project files with a regular expression: file, line and text of each match, with optional context lines and a result cap. Then read the part you need with summer_read_file. Guide: summer_docs_read {"id":"tool/grep… |
summer_write_file | Write a project file | writes | Create a text file (create_only true) or overwrite one (expected_sha256 from summer_read_file); exactly one guard is required, so a stale write fails. Scripts, scenes, resources, JSON. Then check scripts with summer_get_… |
summer_replace_text | Replace text in a project file | writes | Replace text in an existing project file. The text must match exactly once unless replace_all is set; the write is guarded by the file's sha256. Then check scripts with summer_get_script_errors. Guide: summer_docs_read {… |
summer_import_asset_by_id | Import a Summer asset by id | writes | Import one Summer asset by its id (from a search, the person's assets or a generation) into the project; a 3D model can go straight into the scene at scenePath. Needs the Summer sign-in. Guide: summer_docs_read {"id":"to… |
summer_import_asset | Find and import a Summer asset | writes | Search the Summer asset library, import the best match into the project and, for a 3D model, add it to a scene. Needs the Summer sign-in. For an exact asset use summer_import_asset_by_id. Guide: summer_docs_read {"id":"t… |
summer_import_hdri | Import an HDRI sky | writes | Find a CC0 HDRI sky on Poly Haven (or take an exact id) and import it into res://sky/ for environment light. Returns a ready summer_run_script snippet that wires it into the WorldEnvironment. Guide: summer_docs_read {"id… |
summer_export_game | Export the game | writes | Export the game headless as the file the Summer Games store takes: a bundle for iPhone, Android, macOS and Windows, a web build or a desktop download. Returns path, sha256 and size. Upload it with store.upload_file. Guid… |
summer_export_templates | List or install export templates | writes | List or install Summer Engine export templates (web, macOS, Windows) from Summer's CDN, each sha256-checked. Needed only for summer_export_game with format download. Guide: summer_docs_read {"id":"tool/export-templates"} |
summer_capture_gameplay | Capture gameplay screenshots | read-only | Capture real gameplay frames (HUD included) from a hidden game window, no editor needed; game flags and player steps get past the title screen. Returns each frame's path and size: look at them before use. Guide: summer_d… |
summer_run_script | Run a script on a scene | writes | Run one GDScript func run(ctx) in the live editor on the scene at scenePath: the way to make 3 or more scene edits, loops, grids and procedural meshes. Returns reports, output and errors. Loop: summer_world_snapshot, thi… |
summer_run_editor_script | Run a script in a headless editor | writes | Run an EditorScript func _run() in a fresh headless editor against the project on disk: batch and project-wide jobs such as re-saving many scenes. It cannot see unsaved edits. For the open scene use summer_run_script. Gu… |
summer_api_docs | Look up an engine class | read-only | Look up an engine class offline before writing script code: inherits, properties, methods, signals and constants, or one member. Lists only members declared on that class (walk inherits). No engine needed. Next: summer_r… |
summer_world_snapshot | Take a scene snapshot | read-only | Take a structured snapshot of the edited scene: node paths, transforms, world bounds, fingerprints and counts, filtered by subtree, class or field. Returns snapshot_id, the baseline to diff after a change. Next: summer_s… |
summer_snapshot_diff | Compare two scene snapshots | read-only | Compare two scene snapshots: added, removed and changed nodes and count changes. The proof that a change did what you meant; an empty diff after a change means it did not land. Next: summer_screenshot. Guide: summer_docs… |
summer_get_runtime_tree | Read the running game's tree | read-only | Read the node tree of the RUNNING game: spawned enemies, autoloads and pooled nodes that editor reads never show. Needs a running game. Next: summer_inspect_runtime_node. Guide: summer_docs_read {"id":"tool/get-runtime-t… |
summer_inspect_runtime_node | Read a node in the running game | read-only | Read the live properties of one node in the RUNNING game (transform, visibility, physics state...) without stopping it. Paths are absolute; take them from summer_get_runtime_tree. Guide: summer_docs_read {"id":"tool/insp… |
summer_test_placement | Test a placement without moving | read-only | Test one 3D node at a candidate world position and rotation without moving it: overlaps, grounded state and the gap to the floor. Changes nothing. Then place it with summer_set_prop or summer_snap_to_surface. Guide: summ… |
summer_snap_to_surface | Snap a node onto a surface | writes | Move one 3D node along a ray until it sits at the given gap on the first surface (floor, ramp, shelf, table), then save the scene. Returns before and after transforms and the evidence. Guide: summer_docs_read {"id":"tool… |
summer_align_distribute_3d | Align or space 3D nodes | writes | Align 2 to 16 3D nodes on one world axis (min, center, max) or space them equally (centers or gaps) from their visible bounds, then save the scene. One undo step. Guide: summer_docs_read {"id":"tool/align-distribute-3d"} |
summer_navigation_probe | Check a navigation route | read-only | Check whether two world points are connected on the scene's navigation map: readiness, snapped end points, route length and route points. ready false means no evidence, not no route. Guide: summer_docs_read {"id":"tool/n… |
summer_starcast | Read the space around a node | read-only | Read the clearance around one 3D node in 26 directions: what blocks each side and how far, contact, grounding and nearby objects. Changes nothing. Use it before and after placing. Guide: summer_docs_read {"id":"tool/star… |
summer_inspect_asset | Measure a 3D asset file | read-only | Measure a 3D asset file without placing it: bounds, origin, meshes, largest flat faces, open pipe ends, Marker3D anchors and collision shapes. Measure each kit piece once before placing it. Next: summer_instantiate_scene… |
summer_place_adjacent | Place a node against another | writes | Move one node so its bounds face sits against another node's, lining up the other axes: modules edge to edge, storeys stacked. Saves the scene and verifies the gap. Guide: summer_docs_read {"id":"tool/place-adjacent"} |
summer_attach_to_surface | Mount a piece on a surface | writes | Turn a piece so its measured back faces a wall, ceiling or floor found by a ray, keep it upright and seat it at a standoff: pipes, lamps, signs. Saves the scene; a refused seat puts the piece back. Guide: summer_docs_rea… |
summer_repeat_along | Repeat a scene along a line | writes | Place copies of one scene along a line in one call: fence posts, clamps, a row of windows (at most 64). Returns the created node paths and saves the scene once. Guide: summer_docs_read {"id":"tool/repeat-along"} |
summer_connect_ports | Join two pieces at their ports | writes | Move and turn one piece so its port (a Marker3D, or an open pipe end such as +Y) meets another piece's port: pipe to pipe, duct to duct. Refuses joins that tilt the piece. Saves the scene. Guide: summer_docs_read {"id":"… |
summer_raycast | Cast a ray in a scene | read-only | Cast one ray from any point in a scene: the node it hits, the point and the normal. Physics first, visible bounds as a declared fallback. Changes nothing. Guide: summer_docs_read {"id":"tool/raycast"} |
summer_measure | Measure between nodes | read-only | Measure the gap or overlap on each axis between two placed nodes, or check that one face of many nodes lies on one plane. Finds facade gaps and modules that stand out. Changes nothing. Guide: summer_docs_read {"id":"tool… |
summer_wait_for_event | Wait for an engine event | read-only | Wait for an engine event (game started, op applied or failed, script error, scene saved) instead of sleeping; it says so honestly at the timeout. Take a cursor with summer_recent_events first. Guide: summer_docs_read {"i… |
summer_recent_events | Read recent engine events | read-only | Read the newest engine events (saves, plays, op results, script errors, imports) at once, and next_seq, the cursor to pass to summer_wait_for_event. Guide: summer_docs_read {"id":"tool/recent-events"} |
summer_fabricate_3d | Make a mesh with Blender | writes | Make a mesh with a bpy script in the person's own Blender (4.2 or newer, headless), import the .glb into the project and optionally place it. For exact modular kits and effect meshes, not characters or props. Guide: summ… |
summer_ui_tree | Read the editor UI | read-only | Read the live editor UI as a tree (controls, paths, text, state), or every visible dialog and whether one blocks input. Its paths are what summer_ui_activate takes. Guide: summer_docs_read {"id":"tool/ui-tree"} |
summer_ui_activate | Use an editor control | writes | Use one editor control by its tree path (press, toggle, focus, select a tab, type text, set a value) or dismiss a dialog; the control's state is read back. Only when no named action fits. Guide: summer_docs_read {"id":"t… |
summer_ui_screenshot | Screenshot the editor UI | read-only | Return an image of the editor window, or of one dock, dialog or control: the last resort to look at the UI, never to pick click points. For scene views use summer_screenshot. Guide: summer_docs_read {"id":"tool/ui-screen… |
summer_runtime_set | Set a property in the running game | writes | Set one property on a node in the RUNNING game (the live object, never the scene file) and read back whether it applied: move the player, set health, flip a flag. Then check with summer_game_probe. Guide: summer_docs_rea… |
summer_runtime_call | Call a method in the running game | writes | Call one method on a node in the RUNNING game and return its result, to trigger gameplay code directly. A call is an action, not proof: check what it did with summer_game_probe. Guide: summer_docs_read {"id":"tool/runtim… |
summer_runtime_spawn | Spawn or free in the running game | writes | Spawn a scene into the RUNNING game (action spawn) or free a live node (action free) to set up a test. The scene file is not touched. Then check with summer_game_probe. Guide: summer_docs_read {"id":"tool/runtime-spawn"} |
summer_runtime_animate | Drive animation in the running game | writes | Read and drive animation in the RUNNING game: AnimationPlayer clips, AnimationTree states and Skeleton3D bone poses. cmd state only reads. Prove motion with two reads around summer_game_control step. Guide: summer_docs_r… |
summer_game_control | Control the game clock | writes | Pause or resume the RUNNING game, step exactly N frames, set the time scale, or list the live game instances. Step between two summer_game_probe reads for exact checks. Guide: summer_docs_read {"id":"tool/game-control"} |
summer_game_input | Send input to the running game | writes | Drive the RUNNING game's input: a script of timed actions, keys and clicks, or record real input and replay it on a seeded instance. Input is an action: prove its effect with summer_game_probe. Guide: summer_docs_read {"… |
summer_game_probe | Probe the running game | read-only | Read state and pixels of one frame of the RUNNING game together: the live tree, property values and a screenshot stamped with the same frame numbers. The evidence read of a playtest. Guide: summer_docs_read {"id":"tool/g… |
summer_enable_plugin | Enable an editor plugin | writes | Enable an editor plugin in res://addons/<name>/ and return the real result: enabled with its autoloads, or why it failed. Older engines only queue it (queued true); then check summer_get_debugger_errors. Guide: summer_do… |
summer_docs_search | read-only | Search the Summer library — skills, tools, templates, references, examples, collections — by describing the task in plain words ('make stylized water', 'the player falls through the floor', 'which tool reads script error… | |
summer_docs_read | read-only | Load one library entry by id (<kind>/<slug>, as returned by summer_docs_search). Skills: the SKILL.md body plus metadata (status, use_when, related) and how to invoke the skill in your host (bare slug). Tools: how to cal… | |
summer_engine_list_camera_bookmarks | List camera bookmarks | read-only | List the camera viewpoints saved in this project: names, poses and dates. A bookmark gives screenshots that line up before and after a change: summer_screenshot with framing bookmark. Guide: summer_docs_read {"id":"tool/… |
summer_engine_save_camera_bookmark | Save a camera bookmark | writes | Save a named camera viewpoint in the project (res://.summer/camera_bookmarks.json): position and look_at as Vector3 literals, or neither to take the editor's 3D camera. The scene file is not touched. Next: summer_screens… |
summer_engine_delete_camera_bookmark | Delete a camera bookmark | writes | Delete one saved camera viewpoint by name. Returns the names that remain. Guide: summer_docs_read {"id":"tool/camera-bookmark"} |
summer_engine_list_ui_actions | List editor actions | read-only | List the editor's named actions (menu items and shortcuts) with labels and shortcuts, filtered by text. Actions marked denied are refused. Next: summer_engine_invoke_ui_action. Guide: summer_docs_read {"id":"tool/ui-acti… |
summer_engine_invoke_ui_action | Run an editor action | writes | Run one named editor action exactly as its menu item or shortcut would: open Project Settings, switch the main screen, toggle a panel. Editor work only; scene work is summer_run_script. Read the effect back with summer_u… |
summer_search | Find a Summer operation | read-only | Find any Summer operation by describing the job in plain words: engine, assets, store, pricing, analytics and the rest. Returns the best matches with their exact input schema, effect and approval. Next: summer_call with … |
summer_call | Run a Summer operation | destructive | Run any Summer operation by name (from summer_search) with its input. Engine operations run here; cloud ones run on Summer's server with the same approvals: money, publishing and live changes answer needs_approval with a… |
summer_store_tools | Load the hosted Summer tools | read-only | The Summer store, publishing, board and Grow tools come from the hosted Summer Engine MCP and are not loaded. Call this to see why and how to fix it (usually: run "summer login --store" in a terminal); it loads them when… |
npx mcpvetter scan --liveAdd this to a README:
[](https://mcpvetter.com/servers/summer-engine)Get the MCPVetter verified badge, a re-audit within 24 hours of every npm release, and an email whenever tools, findings, or Claude directory readiness change. $29 per server per month. You prove ownership first, free.