# duplicate_resource

Duplicate a .tres resource.

Agent View of the PolicyLayer registry record for `duplicate_resource`. HTML page: https://policylayer.com/tools/yanhuifair-godot-mcp/duplicate-resource

## Facts

- Tool: `duplicate_resource`
- Server: Godot (`@yanhuifair/godot-mcp`) — https://policylayer.com/tools/yanhuifair-godot-mcp.md
- Install: `npx -y @yanhuifair/godot-mcp`
- Homepage: git+https://github.com/yanhuifair/Godot-MCP.git
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 2 (2 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `source` | string | yes | Source .tres path (relative to project root) |
| `destination` | string | yes | Destination .tres path (relative to project root) |

Parameters from the server's own tool schema.

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "duplicate_resource",
    "arguments": {
      "source": "<source>",
      "destination": "<destination>"
    }
  }
}
```

## Why duplicate_resource is rated Medium

Duplicating a resource creates a new copy of an existing file, which is a reversible write operation (creating new data). It does not delete or overwrite the original, so it is not destructive. The new file can be removed if unwanted.

From the tool's own definition: "Duplicate a .tres resource"

Risk signals: Accepts file system path (destination)

## Use case

AI agents use duplicate_resource to create or update resources in Godot, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Godot environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Godot:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "duplicate_resource": {
      "limits": [
        {
          "counter": "duplicate_resource_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Godot (281)

- `delete_file` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/delete-file.md
- `editor_delete_asset` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-delete-asset.md
- `editor_delete_selected` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-delete-selected.md
- `editor_remove_autoload` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-remove-autoload.md
- `editor_remove_input_action` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-remove-input-action.md
- `editor_remove_node` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-remove-node.md
- `remove_animation_track` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/remove-animation-track.md
- `remove_audio_bus` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/remove-audio-bus.md
- `remove_autoload` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/remove-autoload.md
- `remove_input_action` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/remove-input-action.md
- `remove_node` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/remove-node.md
- `remove_shader_graph_node` — Destructive — https://policylayer.com/tools/yanhuifair-godot-mcp/remove-shader-graph-node.md
- `compile_shader` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/compile-shader.md
- `editor_bake_lightmaps` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-bake-lightmaps.md
- `editor_bake_navigation` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-bake-navigation.md
- `editor_debug_break` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-debug-break.md
- `editor_debug_continue` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-debug-continue.md
- `editor_debug_step` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-debug-step.md
- `editor_debug_step_over` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-debug-step-over.md
- `editor_enable_plugin` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-enable-plugin.md
- `editor_evaluate_expression` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-evaluate-expression.md
- `editor_focus` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-focus.md
- `editor_get_class_doc` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-get-class-doc.md
- `editor_open_asset` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-open-asset.md
- `editor_open_dock` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-open-dock.md
- `editor_play` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-play.md
- `editor_reimport_asset` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-reimport-asset.md
- `editor_reload_scene` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-reload-scene.md
- `editor_run_gdscript` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-run-gdscript.md
- `editor_run_specific_scene` — Execute — https://policylayer.com/tools/yanhuifair-godot-mcp/editor-run-specific-scene.md
- …and 251 more: https://policylayer.com/tools/yanhuifair-godot-mcp.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=yanhuifair-godot-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/yanhuifair-godot-mcp
