Skip to main content
Glama
vvmahesh0

paper-cdp-mcp

by vvmahesh0

create_artboard

Creates a new artboard on the canvas and returns its node ID for inserting content. Configure size and styles, with defaults for desktop, tablet, and mobile.

Instructions

Creates a new artboard (top-level frame) on the canvas.

  • Returns the node ID which you can then use with write_html({mode:'insert-children'}) to add content.

  • Use the styles property to set the artboard size and styles.

  • paper-gen:// URLs in styles (e.g. backgroundImage) generate AI images. ONLY if the user asked; read the "image-generation" guide first.

  • Artboards default to display: "flex", flexDirection: "column"

  • The artboard will always be placed in the best empty spot on the canvas.

  • Use one of the default sizes below unless the user specifies a size.

Default sizes by device (when the user doesn't specify a size):

  • Desktop: 1440 x 900px

  • Tablet: 768 x 1024px

  • Mobile: 390 x 844px — include a status bar at the top. Call get_guide({ topic: "mobile-status-bar" }) for paste-ready markup; do not hand-draw one.

The suggested device height is just a starting point to set the scene and understand how much space there is for the content above the fold. When wrapping up, if content clips, switch the artboard to height: "fit-content" via update_styles instead of guessing a new fixed height.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName for the artboard (shown in the layer tree).
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.
stylesYesCSS styles for the artboard as a JSON object. Use camelCase property names. width and height are required — use whole pixel values. When positioning an artboard make sure to give 80px of space between artboards to avoid overlaps. Example: {"display": "flex", "flexDirection": "column", "width": "1440px", "height": "900px", "backgroundColor": "#f5f5f5", "padding": "20px"}
Install Server

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the behavioral burden. It discloses that the artboard auto-places in the best empty spot, defaults to flex column layout, conditions paper-gen:// URL image generation on user request plus guide reading, and requires a status bar for mobile with a specific get_guide call. This is exceptionally transparent beyond the schema.

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 structured with a clear opening sentence and bullet points, front-loading the core purpose and return value. It is relatively long but every section adds distinct value—default sizes, mobile handling, and follow-up action. It does not repeat schema content, so it is efficiently organized for its complexity.

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

Completeness4/5

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

For a create tool with a nested styles object and no output schema, the description covers the return value, default sizes by device, mobile-specific instructions, and a follow-up action (fit-content via update_styles). It lacks error-handling or edge-case detail, but given the rich schema and cross-tool references, it is sufficiently complete for correct invocation.

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 coverage is 100%, so all parameters (name, fileId, styles) are defined in the schema. The description adds default size presets and some styles guidance, but these are more behavioral defaults than parameter semantics. The added value over the schema is marginal, so a baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb-resource pair: 'Creates a new artboard (top-level frame) on the canvas' and mentions the returned node ID for subsequent use. However, it does not explicitly distinguish from sibling tools such as batch_write_artboards or create_page, though the purpose is unambiguous and specific to a single artboard.

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

Usage Guidelines4/5

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

It provides clear contextual guidance: when to use default sizes, when to call get_guide for mobile status bar, and how to handle clipping with update_styles. It does not explicitly name alternatives or state when not to use this tool, but the guidance is actionable and covers key usage decisions.

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