# unity_shadergraph_get_nodes

Get all nodes in a Shader Graph file. Returns node IDs, types, positions, and basic property data by parsing the .shadergraph JSON. Essential for understanding graph structure before editing.

Agent View of the PolicyLayer registry record for `unity_shadergraph_get_nodes`. HTML page: https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-shadergraph-get-nodes

## Facts

- Tool: `unity_shadergraph_get_nodes`
- Server: Unity MCP Server (`anklebreaker-studio/unity-mcp-server`) — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server.md
- Homepage: https://github.com/AnkleBreaker-Studio/unity-mcp-server
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "unity_shadergraph_get_nodes",
    "arguments": {}
  }
}
```

## Why unity_shadergraph_get_nodes is rated Low

This tool retrieves and queries data from an existing Shader Graph file without creating, modifying, deleting, or executing operations. It parses JSON metadata to return information about the graph's current state. This is a pure read operation with no side effects, making it low severity. The blast radius of misuse is minimal since the tool only exposes existing metadata about shader graphs.

From the tool's own definition: "The tool 'Get all nodes in a Shader Graph file' returns node IDs, types, positions, and basic property data by parsing the .shadergraph JSON."

## Use case

AI agents call unity_shadergraph_get_nodes to retrieve information from Unity MCP Server without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Unity MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "unity_shadergraph_get_nodes": {}
  }
}
```

## Other tools on Unity MCP Server (337)

- `unity_amplify_remove_node` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-amplify-remove-node.md
- `unity_animation_remove_curve` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-curve.md
- `unity_animation_remove_event` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-event.md
- `unity_animation_remove_keyframe` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-keyframe.md
- `unity_animation_remove_layer` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-layer.md
- `unity_animation_remove_parameter` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-parameter.md
- `unity_animation_remove_state` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-state.md
- `unity_animation_remove_transition` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-transition.md
- `unity_asset_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-asset-delete.md
- `unity_component_remove` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-component-remove.md
- `unity_console_clear` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-console-clear.md
- `unity_editorprefs_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-editorprefs-delete.md
- `unity_gameobject_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-gameobject-delete.md
- `unity_input_remove_action` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-input-remove-action.md
- `unity_input_remove_map` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-input-remove-map.md
- `unity_navmesh_clear` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-navmesh-clear.md
- `unity_packages_remove` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-packages-remove.md
- `unity_playerprefs_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-playerprefs-delete.md
- `unity_playerprefs_delete_all` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-playerprefs-delete-all.md
- `unity_prefab_remove_component` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-prefab-remove-component.md
- `unity_prefab_remove_gameobject` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-prefab-remove-gameobject.md
- `unity_probuilder_delete_faces` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-probuilder-delete-faces.md
- `unity_scene_new` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-scene-new.md
- `unity_shadergraph_remove_node` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-shadergraph-remove-node.md
- `unity_spriteatlas_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-spriteatlas-delete.md
- `unity_terrain_clear_detail` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-terrain-clear-detail.md
- `unity_terrain_clear_trees` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-terrain-clear-trees.md
- `unity_terrain_remove_layer` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-terrain-remove-layer.md
- `unity_terrain_remove_tree_prototype` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-terrain-remove-tree-prototype.md
- `unity_undo_clear` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-undo-clear.md
- …and 307 more: https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=anklebreaker-studio-unity-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/anklebreaker-studio-unity-mcp-server
