Atlas / MCP servers / anklebreaker-studio / AnkleBreaker Unity

AnkleBreaker UnityCAUTION

mcp/anklebreaker-studio/anklebreaker-unity

Unity MCP Server — 268 tools for AI-assisted game development. Connect Claude, Cursor, or any MCP client to Unity Editor & Unity Hub. Scene management, GameObjects, components, builds, profiling, Shader Graph, Amplify, terrain, physics, NavMesh, animation, MPPM multiplayer & more. Free & open source

Verdict
CAUTION
Grade
B
Trust score
87 /100
Exposed tools
200 175r · 140w · 34d
Transport
stdio
License
NOASSERTION
Stars
487
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://github.com/AnkleBreaker-Studio/unity-mcp-server/actions/workflows/test.yml?query=branch%3Amain) [](https://github.com/AnkleBreaker-Studio/unity-mcp-plugin/actions/workflows/checks.yml?query=branch%3Amain)

Build worlds. Coordinate agents. See every action. Connect your AI assistants to scene authoring, running games, multiplayer scenarios, tests, builds and profiling through Model Context Protocol. Built by AnkleBreaker Studio for workflows that span more than one editor and one assistant.

Get started · Watch the demos · Measured improvements · Multiple projects · Tool catalog · Changelog

Counts reflect the checked-in definitions; optional tools require their corresponding Unity packages. The advanced proxy also discovers routes advertised by newer plugins.

Watch it build a playable prototype

Neon brick breaker: scene construction, materials, gameplay scripts and visual iteration, with the assistant and Unity visible together.

[](https://cdn.jsde

Read from source at commit 6819db2b35f5OBSERVED · 2026-10-02
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add anklebreaker-unity-mcp -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "anklebreaker-unity-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (200)

175 read · 140 write · 34 destructive. Blast radius: 34 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
unity_advanced_toolwriteExecute an advanced Unity tool by name (${advanced.length} cached + plugin lazy-loaded;
unity_agent_logreadGet the action log for a specific agent, showing the last 100 actions with timestamps.
unity_agents_listreadList all active agent sessions connected to the AB Unity MCP bridge. Shows each agent
unity_amplify_add_nodewriteAdd a node to the currently open Amplify Shader Editor graph. The ASE window must be open with a shader loaded. Use unity_amplify_get_node_types to discover available node types first.
unity_amplify_closereadClose the Amplify Shader Editor window. By default saves the graph before closing to prevent save dialogs.
unity_amplify_connectreadConnect two nodes in the Amplify Shader Editor graph. Connects an output port of one node to an input port of another node.
unity_amplify_create_from_templatewriteCreate a new Amplify shader from a predefined template (surface, unlit, urp_lit, transparent, post_process). The shader file is created and can then be opened in ASE.
unity_amplify_create_shaderwriteCreate a new Amplify Shader Editor shader file with proper ASE serialization markers. The shader can then be opened in ASE for visual editing.
unity_amplify_disconnectreadDisconnect a specific port on a node in the Amplify Shader Editor graph.
unity_amplify_disconnect_alldestructiveRemove all connections from a specific node in the Amplify Shader Editor graph (both input and output connections).
unity_amplify_duplicate_nodereadDuplicate a node in the Amplify Shader Editor graph. Creates a new node of the same type at a slight offset from the original.
unity_amplify_focus_nodereadFocus the Amplify Shader Editor view on a specific node, centering and optionally zooming to it.
unity_amplify_get_connectionsreadGet all connections between nodes in the currently open Amplify Shader Editor graph. Shows which output ports connect to which input ports.
unity_amplify_get_node_typesreadList all available Amplify Shader Editor node types by reflecting over the ASE assembly. Returns type names, categories, and descriptions. Requires Amplify to be installed.
unity_amplify_get_nodesreadGet all nodes in the currently open Amplify Shader Editor graph. Returns node IDs, types, positions, and port counts. The ASE window must be open with a shader loaded.
unity_amplify_inforeadGet detailed info about an Amplify shader: properties, render queue, pass count, and Amplify metadata (node count, version, features like custom expressions, functions, texture samples).
unity_amplify_listreadList all shaders created with Amplify Shader Editor. Detects Amplify shaders by scanning for ASE serialization markers in .shader files. Only available when Amplify is installed.
unity_amplify_list_functionsreadList all Amplify Shader Functions in the project. Functions are reusable node groups (similar to Shader Graph Sub Graphs). Only available when Amplify is installed.
unity_amplify_master_node_inforeadGet detailed information about the master/output node of the currently open Amplify shader graph, including all its input ports and properties.
unity_amplify_move_nodewriteMove a node to a new position in the Amplify Shader Editor graph.
unity_amplify_node_inforeadGet detailed information about a specific node in the Amplify Shader Editor graph, including all input/output ports with names, data types, and connection status.
unity_amplify_openreadOpen a shader in the Amplify Shader Editor window for visual editing. Only available when Amplify is installed.
unity_amplify_remove_nodedestructiveRemove a node from the currently open Amplify Shader Editor graph by its unique ID. Cannot remove the master/output node.
unity_amplify_savewriteSave the currently open Amplify Shader Editor graph to disk. If the shader has never been saved, auto-determines a save path from the shader name or uses the provided path.
unity_amplify_set_node_propertywriteSet a property or field value on a node in the Amplify Shader Editor graph via reflection. If the property name is wrong, returns a list of available properties.
unity_amplify_statusreadCheck if Amplify Shader Editor is installed in the project. Returns available commands, shader count, and function count. Only works when Amplify Shader Editor is imported.
unity_animation_add_eventwriteAdd an animation event that calls a function at a specific time during playback. Can pass string, int, or float parameters.
unity_animation_add_keyframewriteAdd a keyframe to an animation curve with full tangent and weight control. Creates the curve if it doesn
unity_animation_add_layerwriteAdd a new layer to an Animator Controller.
unity_animation_add_parameterwriteAdd a parameter to an Animator Controller (Float, Int, Bool, or Trigger).
unity_animation_add_statewriteAdd a state to an Animator Controller layer. Can optionally assign an animation clip and set as default state.
unity_animation_add_transitionwriteAdd a transition between states in an Animator Controller. Supports conditions, exit time, and AnyState transitions.
unity_animation_assign_controllerreadAssign an Animator Controller to a GameObject (adds Animator component if needed).
unity_animation_clip_inforeadGet detailed information about an Animation Clip: curves, length, events, loop settings.
unity_animation_controller_inforeadGet detailed information about an Animator Controller: layers, states, transitions, parameters.
unity_animation_create_blend_treewriteCreate a blend tree in an Animator Controller for smooth blending between animations. Supports 1D, 2D (FreeformDirectional, FreeformCartesian, SimpleDirectional), and Direct blend types.
unity_animation_create_clipwriteCreate a new empty Animation Clip asset.
unity_animation_create_controllerwriteCreate a new Animator Controller asset at the specified path.
unity_animation_get_blend_treereadGet the structure and configuration of a blend tree including all child motions, thresholds, positions, and time scales.
unity_animation_get_curve_keyframesreadGet all keyframes from an animation curve binding with full tangent data (inTangent, outTangent, inWeight, outWeight, weightedMode). Essential for precise animation editing.
unity_animation_get_eventsreadList all animation events on a clip with their function names, times, and parameters.
unity_animation_remove_curvedestructiveRemove an entire animation curve binding from a clip. Useful for cleaning up or restructuring animations.
unity_animation_remove_eventdestructiveRemove an animation event by its index. Use get_animation_events first to find the index.
unity_animation_remove_keyframedestructiveRemove a keyframe from an animation curve by its index. Use get_curve_keyframes first to find the index.
unity_animation_remove_layerdestructiveRemove a layer from an Animator Controller by index. Cannot remove the base layer (index 0).
unity_animation_remove_parameterdestructiveRemove a parameter from an Animator Controller by name.
unity_animation_remove_statedestructiveRemove a state from an Animator Controller layer.
unity_animation_remove_transitiondestructiveRemove a transition from an Animator Controller state. Can target by source/destination names or by index.
unity_animation_set_clip_curvewriteSet an animation curve on a clip. Define keyframes to animate any property (position, rotation, scale, custom).
unity_animation_set_clip_settingswriteSet animation clip settings: looping, root motion, mirroring, speed, frame rate, and more.
unity_animation_set_object_reference_curvewriteSet an OBJECT-REFERENCE (PPtr) animation curve — the curve type Unity uses for 2D sprite-frame
unity_asmdef_add_referenceswriteAdd assembly references to an existing .asmdef file. Supports assembly names (e.g.
unity_asmdef_createwriteCreate a new Assembly Definition (.asmdef) file for code containerisation and compilation optimisation. Assembly definitions split your project code into separate assemblies, reducing recompilation time and enforcing clean dependency boundaries.
unity_asmdef_create_refwriteCreate an Assembly Definition Reference (.asmref) file. This lets you include scripts from a different folder into an existing assembly, useful for extending packages or splitting code across directories while keeping them in the same compilation unit.
unity_asmdef_inforeadGet detailed info about an Assembly Definition file: name, references, platforms, settings.
unity_asmdef_listreadList all Assembly Definition files in the project. Returns name, path, reference count, and platform info for each.
unity_asmdef_remove_referencesdestructiveRemove assembly references from an existing .asmdef file.
unity_asmdef_set_platformswriteSet the include/exclude platform lists for an assembly definition. Use includePlatforms to restrict to specific platforms (e.g. [
unity_asmdef_update_settingswriteUpdate settings on an assembly definition: rootNamespace, allowUnsafeCode, autoReferenced, noEngineReferences, defineConstraints, etc. Only supply the properties you want to change.
unity_asset_create_prefabwriteCreate a prefab from an existing GameObject in the scene.
unity_asset_deletedestructiveDelete an asset — to the OS trash by default (NOT undoable via unity_undo_last).
unity_asset_importwriteImport an external file into the Unity project as an asset.
unity_asset_instantiate_prefabreadInstantiate a prefab into the current scene.
unity_asset_listreadList assets in the project. Can filter by path, type, and search term.
unity_audio_create_sourcewriteCreate or configure an AudioSource on a GameObject. Can attach to existing object or create new one.
unity_audio_inforeadGet info about all AudioSources and AudioListeners in the scene.
unity_audio_set_globalwriteSet global audio settings (master volume, pause).
unity_buildreadBuild the project for a target platform.
unity_component_addwriteAdd a component to a GameObject. Supports built-in types (Rigidbody, BoxCollider, AudioSource, Light, Camera, etc.) and custom scripts.
unity_component_batch_wirereadWire multiple object references in one call (e.g. a manager to all its panels). Each entry: target GameObject, property, reference to assign.
unity_component_get_propertiesreadGet all serialized properties of a component on a GameObject.
unity_component_get_referenceablereadDiscover what objects can be assigned to an ObjectReference property. Returns matching scene objects and project assets filtered by the expected type. Useful before wiring references to know what
unity_component_removedestructiveRemove a component from a GameObject.
unity_component_set_propertywriteSet a serialized component property: numbers, strings, bools, vectors, colors, enums or object references.
unity_component_set_referencewriteWire an object reference on a component property. Resolves by asset path, scene GameObject name, component type, or instance ID (richer than set_property for ObjectReference fields).
unity_console_cleardestructiveClear the Unity console log.
unity_console_logreadGet recent Unity console log messages (errors, warnings, info).
unity_constraint_addwriteAdd an animation constraint (position, rotation, scale, aim, parent, lookat) to a GameObject with optional source.
unity_constraint_inforeadGet all constraints on a GameObject with their type, active state, weight, and source count.
unity_debugger_enablewriteEnable or disable the Frame Debugger. When enabled, Unity pauses rendering after a specific draw call so you can inspect the GPU state. Uses reflection to access internal Unity APIs (Unity 6+).
unity_debugger_event_detailsreadGet detailed information about a specific Frame Debugger event: shader name, pass, keywords, vertex/index/instance counts, render target, batch break cause, and mesh info. The Frame Debugger must be enabled first.
unity_debugger_eventsreadList all rendering events (draw calls) captured by the Frame Debugger. The Frame Debugger must be enabled first. Returns event index, type, and name for each draw call.
unity_editor_pingreadCheck if the Unity Editor bridge is running and responsive. Returns editor version, project name, and connection status.
unity_editor_statereadGet the current Unity Editor state: play mode, compilation status, active scene, project path.
unity_editorprefs_deletedestructiveDelete an EditorPrefs key.
unity_editorprefs_getreadGet an EditorPrefs value by key. Specify type: string (default), int, float, bool.
unity_editorprefs_setwriteSet an EditorPrefs value. Specify type: string (default), int, float, bool.
unity_execute_codewriteRun C# in the Unity Editor with Unity API access. Return a small JSON result. If an error has executionCompleted=true, the code already ran; inspect its effects before retrying.
unity_execute_menu_itemwriteExecute a Unity Editor menu command by its path (e.g.
unity_experimental_new_thingreadnot core-listed
unity_gameobject_createwriteCreate a new GameObject in the scene. Can specify primitive type (Cube, Sphere, Capsule, Cylinder, Plane, Quad), parent, and initial transform.
unity_gameobject_deletedestructiveDelete a GameObject by path or name. Refuses if its runtime mesh is shared by other
unity_gameobject_duplicatereadDuplicate a GameObject with all its children and components.
unity_gameobject_inforeadGet detailed info about a specific GameObject: transform, components, children, active state, tags, layer.
unity_gameobject_reparentwriteMove a GameObject under a new parent in the hierarchy.
unity_gameobject_set_activewriteSet a GameObject active or inactive.
unity_gameobject_set_transformwriteSet the transform (position, rotation, scale) of a GameObject.
unity_get_compilation_errorsreadGet C# compilation errors/warnings via CompilationPipeline — independent of the console buffer
unity_get_project_contextreadGet the project docs/guidelines the team prepared for AI agents (from Assets/MCP/Context/).
unity_graphics_asset_previewreadInline PNG from Unity
unity_graphics_game_capturereadRender one camera to inline PNG, without Game View composition or overlay UI. Whole-pixel sizes within device limits, at most 33554432 pixels.
unity_graphics_lighting_summaryreadGet a summary of all lights in the scene, or details about a specific light. Returns type, color, intensity, range, spot angle, shadow settings, and render mode.
unity_graphics_material_inforeadGet detailed material information: shader name, render queue, all properties (colors, floats, vectors, textures), keywords, and a visual preview thumbnail. Works on material assets or scene GameObjects.
unity_graphics_mesh_inforeadGet mesh metadata: vertex count, triangle count (including triangulated quads), submeshes, populated UV channels 0-7, blend shapes, bone count and bounds. Works on mesh assets or scene GameObjects with MeshFilter/SkinnedMeshRenderer.
unity_graphics_prefab_renderreadReturn Unity
unity_graphics_renderer_inforeadGet detailed Renderer component information: renderer type, materials list, mesh reference, bounds, shadow settings, sorting layer, lightmap index. Use for rendering analysis.
unity_graphics_scene_capturereadRender the Scene View camera to inline PNG. Whole-pixel sizes within device limits, at most 33554432 pixels.
unity_graphics_texture_inforeadGet detailed texture information: dimensions, format, compression, mipmaps, memory estimate, import settings, and a visual preview thumbnail. Use for texture analysis and optimization.
unity_hub_available_releasesreadList Unity Editor versions available for download from Unity Hub.
unity_hub_get_install_pathwriteGet the current default installation path for Unity Editors.
unity_hub_install_editorwriteInstall a specific Unity Editor version. Optionally include platform modules (android, ios, webgl, linux, macos, windows-il2cpp).
unity_hub_install_moduleswriteInstall additional platform modules to an already-installed Unity Editor version.
unity_hub_list_editorsreadList all Unity Editor versions currently installed via Unity Hub, including their installation paths.
unity_hub_set_install_pathwriteSet the default installation directory for Unity Editors.
unity_input_add_actionwriteAdd an action to an action map in an Input Action Asset.
unity_input_add_bindingwriteAdd a simple (non-composite) binding to an action. Use for single-key bindings like
unity_input_add_composite_bindingwriteAdd a composite binding (e.g. WASD, arrows) to an action. Composites combine multiple keys into a single value (1DAxis for up/down, 2DVector for WASD).
unity_input_add_mapwriteAdd a new action map to an Input Action Asset.
unity_input_createwriteCreate a new Input Action Asset (.inputactions file) for Unity
unity_input_inforeadGet detailed info about an Input Action Asset: maps, actions, bindings, and control schemes.
unity_input_remove_actiondestructiveRemove an action (and its bindings) from an action map.
unity_input_remove_mapdestructiveRemove an action map from an Input Action Asset.
unity_lighting_createwriteCreate a new light in the scene (Point, Directional, Spot, or Area).
unity_lighting_create_light_probe_groupwriteCreate a light probe group in the scene.
unity_lighting_create_reflection_probewriteCreate a reflection probe in the scene.
unity_lighting_inforeadGet info about all lights in the scene plus environment/fog settings.
unity_lighting_set_environmentwriteSet environment lighting: ambient mode/color, fog, skybox material.
unity_list_advanced_toolswriteDiscover advanced Unity tools (execute them via unity_advanced_tool) without loading full schemas:
unity_list_instancesreadList running Unity Editor instances (name, port, version, clone flag, pluginVersion).
unity_lod_createwriteCreate or configure a LODGroup on a GameObject with specified number of LOD levels.
unity_lod_inforeadGet LODGroup info: LOD levels, screen transition heights, renderer counts.
unity_material_createwriteCreate a new material asset with a specified shader and properties.
unity_memory_breakdownreadGet detailed memory breakdown by asset type: textures, meshes, materials, shaders, audio clips, animation clips, fonts, render textures, and scriptable objects. Shows count, total size, and optionally top assets per category. Works without the Memory Profiler package (uses built-in Profiler APIs).
unity_memory_snapshotreadTake a detailed memory snapshot using the Memory Profiler package (com.unity.memoryprofiler). Requires the package to be installed. The snapshot can be inspected in the Memory Profiler window. Returns an error with alternatives if the package is not installed.
unity_memory_statusreadCheck Memory Profiler status: whether the com.unity.memoryprofiler package is installed, available commands, and a quick memory summary. Always call this first before other memory profiler commands.
unity_memory_top_assetsreadGet the top N memory-consuming assets across all types. Shows asset name, type, size, and asset path. Optionally filter by type (texture, mesh, audio, material, shader, animation, font, rendertexture). Works without the Memory Profiler package.
unity_mppm_activate_playerreadActivate a Virtual Player (clone Unity Editor process). index must be 2, 3, or 4
unity_mppm_activate_scenarioreadLoad/activate a specific scenario by its asset path.
unity_mppm_create_scenariowriteCreate an MPPM ScenarioConfig asset programmatically. Unity 6+ (MPPM 2.0).
unity_mppm_deactivate_playerreadDeactivate a Virtual Player previously activated via unity_mppm_activate_player.
unity_mppm_inforeadGet multiplayer play mode information including CurrentPlayer state, tags, and MPPM package version.
unity_mppm_list_playersreadList the 4 MPPM virtual-player slots and their current state
unity_mppm_list_scenariosreadList all MPPM (Multiplayer PlayMode) scenarios in the project with details about instances and configurations.
unity_mppm_startwriteStart the currently active scenario. By default also enters Play mode on the main editor
unity_mppm_statusreadGet the current scenario status including running state, active scenario name, and progress.
unity_mppm_stopwriteStop the running scenario. By default also exits Play mode on the main editor so
unity_navmesh_add_agentwriteAdd a NavMeshAgent component to a GameObject with optional settings (speed, angular speed, acceleration, stopping distance, radius, height).
unity_navmesh_add_obstaclewriteAdd a NavMeshObstacle component to a GameObject.
unity_navmesh_bakereadBake the NavMesh for AI navigation. Optionally configure agent radius, height, slope, and climb.
unity_navmesh_cleardestructiveClear all baked NavMeshes from the scene.
unity_navmesh_inforeadGet NavMesh information: vertex/triangle count, agents, obstacles, agent types.
unity_navmesh_set_destinationwriteSet the destination for a NavMeshAgent (requires Play mode).
unity_packages_addwriteAdd/install a Unity package by identifier (e.g.
unity_packages_inforeadGet detailed info about an installed package including versions and dependencies.
unity_packages_listreadList all installed Unity packages with their name, version, source, and status.
unity_packages_removedestructiveRemove/uninstall a Unity package by name.
unity_packages_searchreadSearch for Unity packages in the registry.
unity_particle_createwriteCreate a new Particle System with optional initial settings.
unity_particle_inforeadGet detailed Particle System info: main module, emission, shape, and all module enable states.
unity_particle_playbackdestructiveControl particle system playback: play, stop, pause, restart, or clear.
unity_particle_set_emissionwriteConfigure particle emission: rate over time, rate over distance.
unity_particle_set_mainwriteConfigure the main module of a Particle System: duration, lifetime, speed, size, gravity, simulation space.
unity_particle_set_shapewriteConfigure the emission shape: Sphere, Hemisphere, Cone, Box, Circle, Edge, etc.
unity_physics_collision_matrixreadGet the physics collision matrix showing which layers collide with each other.
unity_physics_overlap_boxreadFind all colliders within a box volume.
unity_physics_overlap_spherereadFind all colliders within a sphere. Useful for area-of-effect queries.
unity_physics_raycastreadCast a ray in the physics world and return hit information. Supports single or all-hits mode.
unity_physics_set_collision_layerwriteSet whether two physics layers should collide or ignore each other.
unity_physics_set_gravitywriteGet or set the global physics gravity vector.
unity_play_modewriteControl Unity Editor play mode: enter play, pause, or stop.
unity_playerprefs_deletedestructiveDelete a PlayerPrefs key.
unity_playerprefs_delete_alldestructiveDelete ALL PlayerPrefs. Use with caution.
unity_playerprefs_getreadGet a PlayerPrefs value by key. Specify type: string (default), int, float.
unity_playerprefs_setwriteSet a PlayerPrefs value. Specify type: string (default), int, float.
unity_prefab_add_componentwriteAdd a component to a GameObject inside a prefab asset — no scene instance needed. Supports built-in types (Rigidbody, BoxCollider, etc.) and custom scripts.
unity_prefab_add_gameobjectwriteCreate a new child GameObject inside a prefab asset — no scene instance needed. Optionally create as a primitive (Cube, Sphere, etc.) with position/rotation/scale.
unity_prefab_apply_overrideswriteApply all overrides from a prefab instance in the scene back to the source prefab asset.
unity_prefab_apply_variant_overridewriteApply overrides from a prefab variant back to its base prefab. Can apply all overrides or filter by componentType and/or gameObject path. This pushes the variant
unity_prefab_compare_variantreadCompare a prefab variant to its base prefab. Returns all overrides: modified properties, added/removed components, and added/removed GameObjects. The variant must be a Prefab Variant asset.
unity_prefab_create_variantwriteCreate a prefab variant from an existing base prefab. Variants inherit from the base and can override specific properties.
unity_prefab_get_hierarchyreadGet the full hierarchy tree of a prefab asset directly from disk — no scene instance needed. Shows all GameObjects, components, and nested children inside the prefab.
unity_prefab_get_propertiesreadRead all serialized properties of a component on a GameObject inside a prefab asset — no scene instance needed. Use prefabPath to target nested children (e.g.
unity_prefab_inforeadGet detailed prefab information: overrides, variant status, added/removed components. Works on both prefab assets and scene instances.
unity_prefab_remove_componentdestructiveRemove a component from a GameObject inside a prefab asset — no scene instance needed.
unity_prefab_remove_gameobjectdestructiveDelete a child GameObject from inside a prefab asset — no scene instance needed. Cannot remove the prefab root.
unity_prefab_revert_overridesreadRevert all overrides on a prefab instance, restoring it to match the source prefab.
unity_prefab_revert_variant_overridereadRevert overrides on a prefab variant so it matches its base prefab again. Can revert all overrides or filter by componentType and/or gameObject path.
unity_prefab_set_propertywriteSet a serialized property value on a component inside a prefab asset — no scene instance needed. Supports floats, ints, strings, bools, vectors, colors, enums.
unity_prefab_set_referencewriteWire an ObjectReference property on a component inside a prefab asset — no scene instance needed. Can reference project assets (materials, textures, prefabs, ScriptableObjects) or other GameObjects within the same prefab.
unity_prefab_transfer_variant_overrideswriteTransfer (copy) overrides from one prefab variant to another variant of the same base. Reads the property modifications from the source variant and applies them to the target variant.
unity_prefab_unpackreadUnpack a prefab instance, converting it to regular GameObjects.
unity_prefab_variant_inforeadGet variant information for a prefab asset: whether it
unity_probuilder_bevel_edgesreadBevel (chamfer) the edges of the selected faces by
unity_probuilder_booleanreadBoolean CSG operation between two solid meshes, producing a new editable ProBuilder object.
unity_probuilder_center_pivotreadRecenter the object
unity_probuilder_combinewriteMerge two or more ProBuilder objects into a single ProBuilder mesh (the first object).
unity_probuilder_create_shapewriteCreate a parametric ProBuilder shape as a new, fully-editable mesh GameObject.
unity_probuilder_delete_facesdestructiveDelete the selected faces from the mesh (creates holes / open geometry).
unity_probuilder_export_meshreadExport the object
unity_probuilder_extrude_facesreadExtrude selected faces outward along their normals (or as individual faces).
04

Trust audit

CAUTIONgrade B · trust 87/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (3 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (20)

MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/index.js:264
"NEVER call the Unity HTTP bridge directly (e.g. http://127.0.0.1:7890/api/...).",
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
src/tools/editor-tools.js:1
// AnkleBreaker Unity MCP — Tool definitions for Unity Editor operations (via HTTP bridge)
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
unity_amplify_disconnect_all, unity_amplify_remove_node, unity_animation_remove_curve, unity_animation_remove_event, unity_animation_remove_keyframe, unity_animation_remove_layer, unity_animation_remo
Why it matters. 34 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.mcpbignore
.mcpbignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/diagnostics/state-retention-audit.mjs:8
const root = new URL("../../", import.meta.url);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/fixtures/debug-log-worker.mjs:8
const { debugLog } = await import("../../src/state-persistence.js");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/helpers/cancellation-trace-server.mjs:10
await import("../../src/index.js");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/helpers/hub-fixture-server.mjs:30
await import("../../src/index.js");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/unit/agent-state.test.mjs:5
const { AgentStateStore, agentState } = await import("../../src/agent-state.js");
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/helpers/mock-bridge.mjs:128
const url = new URL(req.url, `http://127.0.0.1:${this.port}`);
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/unit/http-response-limit.test.mjs:16
try { await check(`http://127.0.0.1:${server.address().port}`); }
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
docs/modernization.md:27
Undo checkpoint: plugin `b41af31` now verifies native group membership, editor-session identity and native entry signatures before targeted rollback. Four baseline failures and an additional group-col
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
docs/modernization.md:33
Test job persistence checkpoint: plugin `4182701`, server validation `cf701a6`. The plugin now retains available details, failure diagnostics, filters and running-test timing across script reload, wit
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
docs/modernization.md:39
Test Runner checkpoint: plugin `ad7e8ad`, server validation `8a852bb`. The [testing guide](testing.md) and [report](validation/unity66-testing.json) record 19 controlled checks and four successful rea
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
docs/modernization.md:47
Plugin session-retention checkpoint: plugin `3f3ac1c`, server `3eaa697`. The [guide](session-retention.md) and [report](validation/unity66-session-retention.json) reproduce 5,000 recently completed id
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
docs/modernization.md:161
7. Review long-lived caches. MCP request cancellation now has shared-work, HTTP-body, retry, discovery and polling coverage, plus live proof that accepted Unity work can finish after observation stops
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOInventory / provenance · inv.oversize · CWE-1104
docs/unity-mcp-showcase-brickbreaker.gif
docs/unity-mcp-showcase-brickbreaker.gif
Why it matters. 1229037 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
docs/unity-mcp-showcase-castle.gif
docs/unity-mcp-showcase-castle.gif
Why it matters. 2054093 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
docs/unity-mcp-showcase-village.gif
docs/unity-mcp-showcase-village.gif
Why it matters. 1568546 bytes not read
INFOInventory / provenance · inv.oversize · CWE-1104
icon.png
icon.png
Why it matters. 5376833 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-02 · audit v0.4.1 · source sha 6819db2b35f5full audit observations/trust-audit/mcp-server/anklebreaker-studio__anklebreaker-unity.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-026819db2b35f5CAUTIONB87first audit
06

Questions

What is the AnkleBreaker Unity MCP server?

Unity MCP Server — 268 tools for AI-assisted game development. Connect Claude, Cursor, or any MCP client to Unity Editor & Unity Hub. Scene management, GameObjects, components, builds, profiling, Shader Graph, Amplify, terrain, physics, NavMesh, animation, MPPM multiplayer & more. Free & open source

What tools does AnkleBreaker Unity expose?

200 in total: 175 read-only, 140 that write, and 34 that can delete or overwrite (unity_amplify_disconnect_all, unity_amplify_remove_node, unity_animation_remove_curve, unity_animation_remove_event, unity_animation_remove_keyframe). Every one is listed on this page with its risk.

Is AnkleBreaker Unity safe to connect to an agent?

With care. The audit graded it B (87/100) and found 20 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 34 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does AnkleBreaker Unity need?

No credential environment variables were found in its source, so it appears to need none.

How does AnkleBreaker Unity run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as anklebreaker-unity-mcp at 2.35.6.

How current is this page?

The grade is for one exact copy of the source (6819db2b35f5), read on 2026-10-02. The repository is watched and re-audited when it changes.

Advertisement