Documentation

Quick Start

PinePaper Cloud Studio implements the MCP 2025-03 Authorization spec — OAuth 2.1 + PKCE + Dynamic Client Registration. Static API keys are not supported; clients authorize themselves via the browser-based OAuth flow.

1. Sign in + add credits

Sign in with Google at /auth/google, then visit /add-credits if you want to purchase credits. New users get a $1 bonus.

2. Configure Claude Desktop

Claude Desktop launches MCP servers as local stdio processes; remote HTTP MCP servers are reached through the mcp-remote bridge, which proxies stdio ↔ HTTP and handles the OAuth handshake. Add this to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pinepaper-cloud": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://cloud.pinepaper.studio/mcp/v1"]
    }
  }
}

No headers block, no static keys. On first connection mcp-remote will:

  1. Hit POST /mcp/v1 → receive 401 with a WWW-Authenticate header pointing at our discovery URL
  2. Fetch /.well-known/oauth-authorization-server + /.well-known/oauth-protected-resource
  3. Register itself via POST /oauth/register (RFC 7591 Dynamic Client Registration)
  4. Open your browser to /oauth/authorize — you'll see a consent page showing the client name and requested scopes (mcp:read, mcp:write)
  5. Click Authorizemcp-remote receives the auth code, exchanges it for an access + refresh token via POST /oauth/token, and starts proxying real MCP calls to Claude Desktop

The browser handoff happens once per client per device — tokens are cached locally under ~/.mcp-auth/. Refresh tokens last 30 days and rotate on every use (RFC 6819 §5.2.2.3) so a stolen refresh token's window is bounded.

3. Start Creating

Try in Claude Desktop:

You can see + revoke each authorized client at /account → MCP Clients.

Web Studio & AI Code Console

You don't need Claude Desktop to use PinePaper. Sign in at pinepaper.studio/editor with your PinePaper Cloud account and the in-browser AI Code Console becomes available — same tools, no install.

What you get when signed in

Bring Your Own Key (BYOK)

To use a third-party model in the AI Code Console, add your own API key at /account#llm-providers. Once a key is on file, that provider's models appear in the model picker and you can switch per message:

A flat $0.002/request platform fee is deducted from your credits to cover infrastructure (KG pipeline, sessions, caching); your provider bills you separately for tokens.

Set a default model

Pick a provider + model on /account#llm-providers under Default Model. New chats start with that selection; per-conversation choices still win when you reopen an existing thread. The preference is stored at GET/PUT /api/me/preferences.

How your key is protected

Model attribution

Every provider above is independent. PinePaper Cloud does not train, host, or fine-tune any of these models — when you BYOK, your request goes directly to the provider you selected (or to OpenRouter's gateway for OpenRouter-prefixed model IDs). For OpenRouter specifically, we send HTTP-Referer: https://cloud.pinepaper.studio + X-Title: PinePaper Cloud on every call so your usage is correctly attributed in your OpenRouter activity feed. Trademarks remain with their respective owners.

Cloud Templates

The template is the unit of saved work — items, relations, animations, canvas size — that you reload, remix, and iterate on with the AI Code Console. A scene is what you compose by chaining templates together. Local templates live in your browser (free); when signed in to PinePaper Cloud you can opt in to cloud sync so the same templates follow you across devices.

Saving from the studio

Pricing & privacy

MCP Endpoint

Endpoint: POST https://cloud.pinepaper.studio/mcp/v1
Auth: OAuth 2.1 + PKCE — JWT access token in Authorization: Bearer <token>

The MCP endpoint uses JSON-RPC 2.0. Auth follows the MCP 2025-03 Authorization spec (OAuth 2.1 + PKCE + Dynamic Client Registration). MCP clients that support discovery (Claude Desktop 0.10+, Cursor MCP, etc.) handle the flow automatically — see Quick Start above.

For tools that don't auto-discover OAuth, complete the flow manually and use the resulting access token:

POST /mcp/v1
Authorization: Bearer <access_token_from_oauth_flow>
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/list"
}

OAuth Flow Reference

The endpoints below implement OAuth 2.1 (RFC 6749 / draft-ietf-oauth-v2-1), PKCE S256 (RFC 7636), Dynamic Client Registration (RFC 7591), and Token Revocation (RFC 7009).

EndpointMethodPurpose
/.well-known/oauth-authorization-serverGETRFC 8414 metadata: endpoints, scopes, grant types
/.well-known/oauth-protected-resourceGETRFC 9728 metadata: resource URL + authorization_servers
/.well-known/jwks.jsonGETRFC 7517 JWKS — ES256 public keys for offline token verification
/oauth/registerPOSTRFC 7591 Dynamic Client Registration
/oauth/authorizeGETAuthorization endpoint — PKCE S256 mandatory
/oauth/tokenPOSTToken endpoint — authorization_code + refresh_token grants
/oauth/revokePOSTRFC 7009 token revocation

Manual flow (for non-MCP clients)

# 1. Register your client
curl -X POST https://cloud.pinepaper.studio/oauth/register \
  -H "Content-Type: application/json" \
  -d '{
    "client_name": "My App",
    "redirect_uris": ["http://localhost:54321/cb"],
    "token_endpoint_auth_method": "none"
  }'
# → returns { "client_id": "mcpc_..." } (no client_secret for PKCE-only clients)

# 2. Generate a PKCE verifier + challenge
verifier=$(openssl rand -base64 32 | tr -d "=+/" | cut -c1-43)
challenge=$(printf "%s" "$verifier" | openssl dgst -sha256 -binary | \
  openssl base64 | tr -d "=+/" | tr "+/" "-_")

# 3. Open this URL in a browser to sign in + approve
echo "https://cloud.pinepaper.studio/oauth/authorize?client_id=mcpc_...&redirect_uri=http://localhost:54321/cb&response_type=code&code_challenge=$challenge&code_challenge_method=S256&scope=mcp:read+mcp:write&state=xyz"

# 4. Browser redirects to your callback with ?code=mcpac_...&state=xyz
# Exchange that code for tokens:
curl -X POST https://cloud.pinepaper.studio/oauth/token \
  -d "grant_type=authorization_code" \
  -d "client_id=mcpc_..." \
  -d "code=mcpac_..." \
  -d "redirect_uri=http://localhost:54321/cb" \
  -d "code_verifier=$verifier"
# → { "access_token": "eyJhbGc...", "refresh_token": "mcprt_...", "expires_in": 3600 }

# 5. Use the access token for /mcp/v1 calls
curl -X POST https://cloud.pinepaper.studio/mcp/v1 \
  -H "Authorization: Bearer eyJhbGc..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":"1","method":"tools/list"}'

# 6. Refresh before the access token expires (1h)
curl -X POST https://cloud.pinepaper.studio/oauth/token \
  -d "grant_type=refresh_token" \
  -d "client_id=mcpc_..." \
  -d "refresh_token=mcprt_..."
# → new access_token + new refresh_token (old refresh is revoked)

Note: refresh tokens rotate on every use. If a stolen refresh token is replayed after the legitimate client already refreshed, the entire chain is revoked and the user is forced to re-authorize.

Pricing

Pay-as-you-go with no subscriptions. Credits never expire.

OperationCost
MCP Request (create, animate, query)$0.001
SVG Export$0.005
PDF Export$0.03
Video Export$0.05/sec
GIF Export$0.08/sec

Tools & Toolkit Profiles

The full PinePaper tool registry has 102 tools across canvas, animation, diagrams, maps, fonts, exports, and more. You almost never need all of them at once — exposing the full surface to a model burns context and slows tool selection.

The MCP server organizes tools into toolkit profiles — task-shaped subsets activated per request. pinepaper_set_toolkit switches the active profile; pinepaper_tool_guide answers "which tool fits this job?" without listing the whole registry. The active profile is selected automatically based on the workflow ("draw a flowchart" → diagram profile; "highlight US states" → map profile).

Toolkit profiles

Generated from @pinepaper.studio/mcp-server@1.5.5 on 2026-07-27.

Full — 102 tools

Every tool in the registry. Use when context budget allows and the workflow spans many domains (canvas + diagrams + maps + fonts).

pinepaper_add_filter
pinepaper_add_ports
pinepaper_add_relation
pinepaper_agent_analyze
pinepaper_agent_batch_execute
pinepaper_agent_end_job
pinepaper_agent_export
pinepaper_agent_reset
pinepaper_agent_start_job
pinepaper_analyze_design
pinepaper_animate
pinepaper_animate_letter_collage
pinepaper_apply_animated_mask
pinepaper_apply_custom_mask
pinepaper_apply_effect
pinepaper_apply_template
pinepaper_auto_layout
pinepaper_background
pinepaper_batch_create
pinepaper_batch_modify
pinepaper_browser_connect
pinepaper_browser_disconnect
pinepaper_browser_screenshot
pinepaper_browser_status
pinepaper_camera
pinepaper_camera_animate
pinepaper_clear_canvas
pinepaper_connect
pinepaper_connect_ports
pinepaper_create_chart
pinepaper_create_diagonal_stripes
pinepaper_create_diagram_shape
pinepaper_create_glossy_sphere
pinepaper_create_grid
pinepaper_create_item
pinepaper_create_letter_collage
pinepaper_create_scene
pinepaper_cutout_style
pinepaper_deform
pinepaper_delete_item
pinepaper_diagnostic_report
pinepaper_diagram_mode
pinepaper_execute_custom_code
pinepaper_execute_generator
pinepaper_export_scene
pinepaper_export_svg
pinepaper_export_training_data
pinepaper_export_widget
pinepaper_export_widget_html
pinepaper_font
pinepaper_get_animatable_properties
pinepaper_get_available_easings
pinepaper_get_canvas_ontology
pinepaper_get_canvas_size
pinepaper_get_diagram_shapes
pinepaper_get_items
pinepaper_get_mask_animations
pinepaper_get_mask_types
pinepaper_get_performance_metrics
pinepaper_get_relation_stats
pinepaper_history
pinepaper_image_filter
pinepaper_import_asset
pinepaper_import_image
pinepaper_import_mermaid
pinepaper_import_svg
pinepaper_interaction
pinepaper_keyframe_animate
pinepaper_lasso
pinepaper_list_generators
pinepaper_magic
pinepaper_manage_scenes
pinepaper_map
pinepaper_map_animation
pinepaper_map_data
pinepaper_map_regions
pinepaper_measurement
pinepaper_modify_item
pinepaper_p5_draw
pinepaper_physics
pinepaper_play_timeline
pinepaper_precomp
pinepaper_query
pinepaper_query_ontology
pinepaper_query_relations
pinepaper_refresh_page
pinepaper_register_custom_relation
pinepaper_register_item
pinepaper_remove_connector
pinepaper_remove_mask
pinepaper_remove_relation
pinepaper_scene_playback
pinepaper_search_assets
pinepaper_selection
pinepaper_set_background_color
pinepaper_set_canvas_size
pinepaper_set_toolkit
pinepaper_sprite_sheet
pinepaper_tool_guide
pinepaper_transform
pinepaper_update_connector
pinepaper_validate_design
Agent (default) — 94 tools

Default profile for general-purpose AI agents. Covers canvas, items, animation, relations, effects, exports — the common creative workflow.

pinepaper_add_ports
pinepaper_add_relation
pinepaper_agent_analyze
pinepaper_agent_batch_execute
pinepaper_agent_end_job
pinepaper_agent_export
pinepaper_agent_reset
pinepaper_agent_start_job
pinepaper_analyze_design
pinepaper_animate
pinepaper_apply_animated_mask
pinepaper_apply_custom_mask
pinepaper_apply_effect
pinepaper_apply_template
pinepaper_auto_layout
pinepaper_background
pinepaper_batch_create
pinepaper_batch_modify
pinepaper_browser_connect
pinepaper_browser_disconnect
pinepaper_browser_screenshot
pinepaper_browser_status
pinepaper_camera
pinepaper_camera_animate
pinepaper_clear_canvas
pinepaper_connect
pinepaper_connect_ports
pinepaper_create_chart
pinepaper_create_diagonal_stripes
pinepaper_create_diagram_shape
pinepaper_create_glossy_sphere
pinepaper_create_grid
pinepaper_create_item
pinepaper_create_scene
pinepaper_cutout_style
pinepaper_deform
pinepaper_delete_item
pinepaper_diagram_mode
pinepaper_execute_generator
pinepaper_export_scene
pinepaper_export_svg
pinepaper_export_training_data
pinepaper_export_widget
pinepaper_export_widget_html
pinepaper_get_animatable_properties
pinepaper_get_available_easings
pinepaper_get_canvas_ontology
pinepaper_get_canvas_size
pinepaper_get_diagram_shapes
pinepaper_get_items
pinepaper_get_mask_animations
pinepaper_get_mask_types
pinepaper_get_relation_stats
pinepaper_history
pinepaper_image_filter
pinepaper_import_asset
pinepaper_import_image
pinepaper_import_mermaid
pinepaper_import_svg
pinepaper_interaction
pinepaper_keyframe_animate
pinepaper_lasso
pinepaper_list_generators
pinepaper_magic
pinepaper_manage_scenes
pinepaper_map
pinepaper_map_animation
pinepaper_map_data
pinepaper_map_regions
pinepaper_measurement
pinepaper_modify_item
pinepaper_p5_draw
pinepaper_physics
pinepaper_play_timeline
pinepaper_precomp
pinepaper_query
pinepaper_query_ontology
pinepaper_query_relations
pinepaper_refresh_page
pinepaper_register_custom_relation
pinepaper_remove_connector
pinepaper_remove_mask
pinepaper_remove_relation
pinepaper_scene_playback
pinepaper_search_assets
pinepaper_selection
pinepaper_set_background_color
pinepaper_set_canvas_size
pinepaper_set_toolkit
pinepaper_sprite_sheet
pinepaper_tool_guide
pinepaper_transform
pinepaper_update_connector
pinepaper_validate_design
Diagram — 42 tools

Flowcharts, UML, network topology — diagram shapes, connectors, layout algorithms.

pinepaper_add_ports
pinepaper_agent_analyze
pinepaper_agent_batch_execute
pinepaper_agent_end_job
pinepaper_agent_export
pinepaper_agent_reset
pinepaper_agent_start_job
pinepaper_auto_layout
pinepaper_background
pinepaper_browser_connect
pinepaper_browser_disconnect
pinepaper_browser_screenshot
pinepaper_browser_status
pinepaper_clear_canvas
pinepaper_connect
pinepaper_connect_ports
pinepaper_create_diagonal_stripes
pinepaper_create_diagram_shape
pinepaper_create_glossy_sphere
pinepaper_create_grid
pinepaper_create_item
pinepaper_delete_item
pinepaper_diagram_mode
pinepaper_export_scene
pinepaper_export_svg
pinepaper_export_training_data
pinepaper_export_widget
pinepaper_export_widget_html
pinepaper_get_canvas_size
pinepaper_get_diagram_shapes
pinepaper_get_items
pinepaper_get_relation_stats
pinepaper_import_mermaid
pinepaper_modify_item
pinepaper_query
pinepaper_refresh_page
pinepaper_remove_connector
pinepaper_set_background_color
pinepaper_set_canvas_size
pinepaper_set_toolkit
pinepaper_tool_guide
pinepaper_update_connector
Map — 30 tools

Geographic visualization — load maps, highlight regions, apply data colors, project, export GeoJSON.

pinepaper_agent_analyze
pinepaper_agent_batch_execute
pinepaper_agent_end_job
pinepaper_agent_export
pinepaper_agent_reset
pinepaper_agent_start_job
pinepaper_background
pinepaper_browser_connect
pinepaper_browser_disconnect
pinepaper_browser_screenshot
pinepaper_browser_status
pinepaper_clear_canvas
pinepaper_export_scene
pinepaper_export_svg
pinepaper_export_training_data
pinepaper_export_widget
pinepaper_export_widget_html
pinepaper_get_canvas_size
pinepaper_get_items
pinepaper_get_relation_stats
pinepaper_map
pinepaper_map_animation
pinepaper_map_data
pinepaper_map_regions
pinepaper_query
pinepaper_refresh_page
pinepaper_set_background_color
pinepaper_set_canvas_size
pinepaper_set_toolkit
pinepaper_tool_guide
Font Studio — 32 tools

Typography workflows — font import, glyph editing, OTF export.

pinepaper_agent_analyze
pinepaper_agent_batch_execute
pinepaper_agent_end_job
pinepaper_agent_export
pinepaper_agent_reset
pinepaper_agent_start_job
pinepaper_animate_letter_collage
pinepaper_background
pinepaper_browser_connect
pinepaper_browser_disconnect
pinepaper_browser_screenshot
pinepaper_browser_status
pinepaper_clear_canvas
pinepaper_create_diagonal_stripes
pinepaper_create_glossy_sphere
pinepaper_create_grid
pinepaper_create_item
pinepaper_create_letter_collage
pinepaper_delete_item
pinepaper_export_scene
pinepaper_export_svg
pinepaper_export_training_data
pinepaper_export_widget
pinepaper_export_widget_html
pinepaper_font
pinepaper_get_canvas_size
pinepaper_modify_item
pinepaper_refresh_page
pinepaper_set_background_color
pinepaper_set_canvas_size
pinepaper_set_toolkit
pinepaper_tool_guide
Minimal — 18 tools

Smallest viable surface for low-context models — basic create/modify/animate only. Pair with `pinepaper_tool_guide` for on-demand discovery.

pinepaper_agent_analyze
pinepaper_agent_batch_execute
pinepaper_agent_end_job
pinepaper_agent_export
pinepaper_agent_reset
pinepaper_agent_start_job
pinepaper_background
pinepaper_browser_connect
pinepaper_browser_disconnect
pinepaper_browser_screenshot
pinepaper_browser_status
pinepaper_clear_canvas
pinepaper_get_canvas_size
pinepaper_refresh_page
pinepaper_set_background_color
pinepaper_set_canvas_size
pinepaper_set_toolkit
pinepaper_tool_guide

All tools (alphabetical)

Show full registry — 102 tools
pinepaper_add_filter
Add a visual filter effect to the canvas.
pinepaper_add_ports
Add connection ports to an existing item.
pinepaper_add_relation
Create a behavior relationship between two items.
pinepaper_agent_analyze
Analyze canvas content to get export recommendations and content insights.
pinepaper_agent_batch_execute
Execute ALL operations in a single call for building animated scenes — canvas setup, backgrounds, items, animations, masks, effects, and playback.
pinepaper_agent_end_job
End the current agent job, get summary + screenshot for user validation.
pinepaper_agent_export
Smart export with automatic format detection and platform optimization.
pinepaper_agent_reset
Fast canvas reset without browser refresh.
pinepaper_agent_start_job
Start a new agent job for creating animations, videos, graphics, or any visual content.
pinepaper_analyze_design
Analyze a template or scene definition using the PinePaper Design Knowledge Graph.
pinepaper_animate
Apply a simple LOOP animation to an item.
pinepaper_animate_letter_collage
Apply animation to all letters in a collage with staggered timing.
pinepaper_apply_animated_mask
Apply an animated mask reveal to an item.
pinepaper_apply_custom_mask
Direct helper for applying custom keyframe-based masks.
pinepaper_apply_effect
Apply a visual effect to an item.
pinepaper_apply_template
Load a pre-built template design onto the canvas, or list available templates.
pinepaper_auto_layout
Automatically arrange diagram items using a layout algorithm.
pinepaper_background
Set, clear, or query the canvas background.
pinepaper_batch_create
Create multiple items at once with a single history save.
pinepaper_batch_modify
Modify multiple items at once with a single history save.
pinepaper_browser_connect
Connect to PinePaper Studio in a browser.
pinepaper_browser_disconnect
Disconnect from the browser and close PinePaper Studio.
pinepaper_browser_screenshot
Take a screenshot of the current PinePaper canvas.
pinepaper_browser_status
Check the current browser connection status.
pinepaper_camera
Camera control: zoom, pan, move, reset, stop, get state.
pinepaper_camera_animate
Animate camera with keyframe-based zoom, pan, and 3D tilt sequence for cinematic effects.
pinepaper_clear_canvas
Clear all items from the canvas, removing everything including any welcome template items.
pinepaper_connect
Connect two items with a smart connector.
pinepaper_connect_ports
Connect two specific ports on items.
pinepaper_create_chart
Create and manage data visualizations on the canvas.
pinepaper_create_diagonal_stripes
Create a diagonal stripe pattern.
pinepaper_create_diagram_shape
Create a diagram shape on the canvas.
pinepaper_create_glossy_sphere
Create a 3D-looking glossy sphere with realistic lighting effects.
pinepaper_create_grid
Create a grid of lines on the canvas.
pinepaper_create_item
Create an item on the PinePaper canvas.
pinepaper_create_letter_collage
Create stylized text with per-letter customization.
pinepaper_create_scene
Create a complete scene with multiple items, relations, and animations in a single operation.
pinepaper_cutout_style
Apply decorative cutout styles to image items (sticker effects, torn edges, etc.).
pinepaper_deform
Apply vertex deformation presets to items for organic motion effects.
pinepaper_delete_item
Delete a single item from the canvas by its registry ID.
pinepaper_diagnostic_report
[Utility] Generate a diagnostic report for bug reporting.
pinepaper_diagram_mode
Control the diagram mode for interactive editing.
pinepaper_execute_custom_code
Execute arbitrary JavaScript code in the PinePaper context.
pinepaper_execute_generator
Execute a background generator to create procedural patterns.
pinepaper_export_scene
Export the complete scene state including all items, relations, and settings.
pinepaper_export_svg
Export the scene as animated SVG.
pinepaper_export_training_data
Export relation data as training pairs for LLM fine-tuning.
pinepaper_export_widget
Export current scene as a PineWidget (pp:PinePaper ontology JSON v0.4.3).
pinepaper_export_widget_html
Export current scene as a self-contained HTML page with tree-shaken PineWidget runtime.
pinepaper_font
Font Studio control — single action-dispatched tool covering the full Studio API.
pinepaper_get_animatable_properties
[Utility] Get animatable properties for each mask type.
pinepaper_get_available_easings
[Utility] Get list of available easing functions for mask animations.
pinepaper_get_canvas_ontology
Capture the live canvas as compact pp: ontology triples + a structured item summary.
pinepaper_get_canvas_size
[Utility] Get the current canvas dimensions.
pinepaper_get_diagram_shapes
[Utility] Get a list of available diagram shapes with their properties.
pinepaper_get_items
[Utility] Get all or filtered items from the canvas.
pinepaper_get_mask_animations
[Utility] Get available mask animation presets.
pinepaper_get_mask_types
[Utility] Get available mask shape types.
pinepaper_get_performance_metrics
[Utility] Get execution performance metrics to identify bottlenecks and optimize workflows.
pinepaper_get_relation_stats
[Utility] Get statistics about active relations in the scene.
pinepaper_history
Undo/redo and history state inspection.
pinepaper_image_filter
Apply GPU-accelerated image filters to raster items.
pinepaper_import_asset
Import an SVG asset from search results or direct URL onto the canvas.
pinepaper_import_image
Import a raster image from a URL onto the canvas.
pinepaper_import_mermaid
Import a Mermaid diagram source string and render it onto the canvas as native diagram shapes + connectors.
pinepaper_import_svg
Import an SVG string or SVG from URL onto the canvas.
pinepaper_interaction
Add continuous physics behaviors and trigger interaction actions.
pinepaper_keyframe_animate
Apply keyframe-based animation with precise timing and property control.
pinepaper_lasso
Freeform lasso selection for image items.
pinepaper_list_generators
[Utility] Get a list of all available background generators with their parameters.
pinepaper_magic
Ontology-aware auto-animation and style remixing.
pinepaper_manage_scenes
Manage multiple saved scenes (canvas snapshots).
pinepaper_map
Load a map and control its viewport.
pinepaper_map_animation
Animate map regions with keyframes or wave effects.
pinepaper_map_data
CSV / GeoJSON import-export and source-info introspection.
pinepaper_map_regions
Highlight, color, label, and select map regions.
pinepaper_measurement
Rulers, grid overlay, snap-to-grid, and dimension readout.
pinepaper_modify_item
Modify an existing item's properties.
pinepaper_p5_draw
Execute p5.js-style drawing code on the PinePaper canvas.
pinepaper_physics
Rigid body physics simulation (Box2D/Planck.js).
pinepaper_play_timeline
Control keyframe animation playback.
pinepaper_precomp
Nested compositions — group items into reusable animated precomps.
pinepaper_query
Query canvas items and spatial information.
pinepaper_query_ontology
Query the PinePaper design knowledge graph — explore types, properties, edges, hierarchy, and patterns.
pinepaper_query_relations
[Utility] Query relationships for an item.
pinepaper_refresh_page
Refresh the PinePaper Studio page in the browser.
pinepaper_register_custom_relation
Register a custom relation type with compute and apply functions.
pinepaper_register_item
Register a Paper.js item created externally.
pinepaper_remove_connector
Remove a connector from the canvas.
pinepaper_remove_mask
Remove mask from an item, restoring original appearance.
pinepaper_remove_relation
Remove a relationship between items.
pinepaper_scene_playback
Control sequential scene chain playback — play saved scenes as a slideshow presentation.
pinepaper_search_assets
Search for free SVG assets from open repositories (SVGRepo, OpenClipart, Iconify, FontAwesome).
pinepaper_selection
Manage item selection on canvas.
pinepaper_set_background_color
Set the canvas background color.
pinepaper_set_canvas_size
Change the canvas dimensions.
pinepaper_set_toolkit
Switch the active toolkit profile and/or verbosity level at runtime.
pinepaper_sprite_sheet
Generate, play, and export sprite sheets from skeleton poses.
pinepaper_tool_guide
Get detailed guidance for PinePaper tools on demand.
pinepaper_transform
Transform items: nudge position, flip, or change z-order.
pinepaper_update_connector
Update the style or label of an existing connector.
pinepaper_validate_design
Validate and score a template definition against the PinePaper ontology.

Use tools/list to fetch the live list with full descriptions and input schemas for whichever profile your client has active.

Relation Types

Behavior-driven animation relationships between items:

RelationDescription
orbitsCircular motion around target
followsSmooth follow toward target
attached_toFixed offset from target
maintains_distanceStay at fixed distance
points_atRotate to face target
mirrorsMirror target position
parallaxDepth-based movement
bounds_toConstrain within area
animatesProperty animation over time
grows_fromScale growth from target
staggered_withSequential timing offset
indicatesArrow/pointer to target
circumscribesFit around target bounds
wave_throughWave motion through items
morphs_toShape morphing transition
camera_followsCamera tracks item
camera_animatesCamera keyframe sequence
part_ofSemantic parent-child grouping
expressesFacial/body expressions

Platform Integrations

PinePaper Cloud Studio is an HTTP MCP server with OAuth 2.1 + PKCE auth. Any MCP-aware client auto-discovers the auth flow; for other tools complete the OAuth flow once and use the resulting access token.

Claude Desktop (Native MCP)

Claude Desktop 0.10+ has native MCP discovery support. See Quick Start above — no headers, no manual key handling.

Cursor IDE (MCP Extension)

Cursor's MCP integration auto-discovers OAuth too. Add the server URL in Settings → MCP → Add server and Cursor will open the consent page in your browser on first use.

ChatGPT (Custom GPT Actions)

Custom GPTs don't currently support OAuth 2.1 + PKCE auth flows. Two options:

Any HTTP Client (after completing OAuth flow)

# cURL — assumes you already ran the OAuth flow and have $ACCESS_TOKEN
curl -X POST https://cloud.pinepaper.studio/mcp/v1 \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":"1","method":"tools/list"}'

# Python — full client with refresh handling
import requests

def call_mcp(access_token, method, params=None):
    res = requests.post(
        "https://cloud.pinepaper.studio/mcp/v1",
        headers={"Authorization": f"Bearer {access_token}"},
        json={"jsonrpc": "2.0", "id": "1", "method": method, "params": params or {}}
    )
    if res.status_code == 401:
        raise RuntimeError("Access token expired — call POST /oauth/token with refresh_token")
    return res.json()

def refresh(client_id, refresh_token):
    res = requests.post(
        "https://cloud.pinepaper.studio/oauth/token",
        data={
            "grant_type": "refresh_token",
            "client_id": client_id,
            "refresh_token": refresh_token,
        }
    )
    return res.json()  # { access_token, refresh_token (new!), expires_in }

Supported Platforms

PlatformIntegrationAuth
Claude Desktop 0.10+Native MCPAuto OAuth discovery
Cursor IDEMCP extensionAuto OAuth discovery
ChatGPTCustom GPT ActionsManual OAuth or static token
Google GeminiFunction CallingManual OAuth or static token
Open WebUIFunction CallingManual OAuth or static token
LangChainCustom ToolsManual OAuth or static token

Examples

Animated Text

"Create text 'HELLO' in red that pulses"
→ pinepaper_create_item + pinepaper_animate

Letter Collage

"Create a Wordle-style letter collage saying CANDY with neon colors"
→ pinepaper_create_letter_collage + pinepaper_animate_letter_collage

Flowchart Diagram

"Create a flowchart: Start → Process → Decision → End"
→ pinepaper_create_diagram_shape + pinepaper_connect + pinepaper_auto_layout

Solar System

"Create a sun at center, Earth orbiting it, Moon orbiting Earth"
→ pinepaper_create_item + pinepaper_add_relation (orbits)

World Choropleth Map

"Load a world map and color countries by population"
→ pinepaper_load_map + pinepaper_apply_data_colors

Animated Map

"Animate US states changing color in a wave pattern"
→ pinepaper_load_map + pinepaper_animate_map_wave

Camera Animation

"Zoom in on the title then pan across to the diagram"
→ pinepaper_camera_animate with keyframes

Particle Effects

"Add fire effect to the dragon and snow falling on the scene"
→ pinepaper_apply_effect (fire, snow)

Interactive Quiz

"Create a multiple choice quiz about world capitals"
→ pinepaper_create_quiz with questions and answers

Mask Reveals

"Reveal the title with an iris animation"
→ pinepaper_apply_animated_mask (iris preset)

Local Installation (Free)

Try the tools locally first!
The open-source MCP server provides the same tools as this cloud service. Test locally before paying for cloud access.
# Install globally
npm install -g @pinepaper.studio/mcp-server

# Or use npx directly in config:
{
  "mcpServers": {
    "pinepaper": {
      "command": "npx",
      "args": ["-y", "@pinepaper.studio/mcp-server"]
    }
  }
}

The cloud service is for users who:

View on GitHub →