Skip to main content
Glama
vvmahesh0

paper-cdp-mcp

by vvmahesh0

duplicate_nodes

Deep-clone design nodes, including all descendants, and auto-position duplicated artboards to avoid overlap. Returns a descendant ID map for immediate reference to cloned nodes.

Instructions

Duplicate one or more nodes in the design. Creates a deep clone of each node (including all descendants). Duplicated artboards are automatically positioned in a blank area to avoid overlap. Returns the source and new node IDs, plus a descendantIdMap that maps every original descendant ID to its cloned equivalent. Since you already know the source tree structure, you can use this map to immediately reference any cloned node (e.g. to call setTextContent) without any intermediate lookups.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nodesYesArray of nodes to duplicate. Each item specifies a node ID and optionally a parent ID for where to place the duplicate. If no parent ID is provided, duplicates are placed under the same parent as their source node.
fileIdNoOptional. The Paper file ID this call should act on. Pass it to reliably target a specific file when several are open at once (e.g. multiple agents from the same session working in parallel). Omit to use the most recently opened file in the session.
Install Server

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It does this well by explaining deep clone behavior, automatic artboard positioning, and the exact shape of returned identifiers including the descendantIdMap. It is not exhaustive about edge cases or side effects, but covers the core behaviors clearly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately detailed with five sentences, each contributing operational or output information. The example of using the map to call setTextContent is useful, though the final sentence could be slightly trimmed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with no annotations and no output schema, the description covers the essential behaviors: what gets cloned, how artboards are handled, and what is returned, including a mapping to reference clones directly. This gives an agent enough context to invoke the tool and use its result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both nodes and fileId already described in detail. The description adds context about deep cloning and the descendant map, but it does not meaningfully expand on parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'Duplicate one or more nodes in the design,' and adds that it creates a deep clone including descendants. This distinguishes it from sibling tools like move_nodes, delete_nodes, or create_artboard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: an agent should call this when it needs clones of existing nodes, and the descendantIdMap guidance hints at how to use the result. However, the description does not explicitly state when to prefer this over alternatives or any conditions where duplication is inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vvmahesh0/paper-cdp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server