Skip to main content
Glama
iPocket-APP

PocketDraft MCP

Official
by iPocket-APP

pocketdraft_export

Export project canvases as PNG or JPEG images or an editable package to a new workspace exports directory; use allCanvases to export a set.

Instructions

Export PNG/JPEG or an editable project package into a new workspace/exports directory. Missing images fail. Use allCanvases for a set; package limits remain 8 MiB/image, 32 MiB total.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoimage
scaleNo
formatNopng
slicesNo
qualityNo
canvasIdNo
revisionNo
canvasIdsNo
projectIdYes
allCanvasesNo
transparentBackgroundNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv4.1.0
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "files": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "manifest": {
      -        "items": {
      -          "additionalProperties": {},
      -          "propertyNames": {
      -            "type": "string"
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "ok": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "projectId": {
      -        "maxLength": 256,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "revision": {
      -        "pattern": "^[a-f0-9]{64}$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "ok",
      -      "projectId",
      -      "revision",
      -      "files",
      -      "manifest"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "candidates": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "id": {
      -              "type": "string"
      -            },
      -            "kind": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "name",
      -            "kind"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "code": {
      -        "type": "string"
      -      },
      -      "commandIndex": {
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "details": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "message": {
      -              "type": "string"
      -            },
      -            "path": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "path",
      -            "message"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "hint": {
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "objectId": {
      -        "type": "string"
      -      },
      -      "ok": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "operationId": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "code",
      -      "message",
      -      "ok"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "files": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "manifest": {
      +        "items": {
      +          "additionalProperties": {},
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "ok": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "projectId": {
      +        "maxLength": 256,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "revision": {
      +        "pattern": "^[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "warnings": {
      +        "items": {
      +          "additionalProperties": {},
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "ok",
      +      "projectId",
      +      "revision",
      +      "files",
      +      "manifest",
      +      "warnings"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "candidates": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "id": {
      +              "type": "string"
      +            },
      +            "kind": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "name",
      +            "kind"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "code": {
      +        "type": "string"
      +      },
      +      "commandIndex": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "details": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "message": {
      +              "type": "string"
      +            },
      +            "path": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "path",
      +            "message"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "hint": {
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "objectId": {
      +        "type": "string"
      +      },
      +      "ok": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "operationId": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "code",
      +      "message",
      +      "ok"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observedv4.0.0

TDQS

B3.3/5.0
Behavior4/5

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

Annotations declare a non-read-only, non-idempotent, non-destructive write; the description adds substantive context beyond that: exports land in a workspace/exports directory, missing images cause failure, and package output is capped at 8 MiB/image and 32 MiB total. Those limits and failure semantics are not derivable from the annotations.

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?

Three dense sentences, front-loaded with the action and destination, then failure behavior, then the allCanvases hint and limits. No filler, though the terseness works against a schema this large.

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

Completeness2/5

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

An output schema exists so return values need not be described, but for an 11-parameter export tool with 0% schema coverage the description leaves most knobs (kind, slices, quality, canvas scope selection) unexplained. It covers failure and size limits but not enough to invoke the tool confidently.

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

Parameters2/5

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

Schema description coverage is 0% across 11 parameters, so the description carries the full burden, yet it only touches allCanvases and the png/jpeg format choice. Nothing is said about kind, scale, slices, quality, canvasId vs canvasIds, revision, transparentBackground, or size/total-limit interactions with those flags.

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?

States a specific verb (Export) plus the resources produced (PNG/JPEG image or editable project package) and the destination (a new workspace/exports directory). It is easy to tell apart from preview or inspect_project by the file-producing outcome, though no sibling is named explicitly.

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?

Offers one routing hint — 'Use allCanvases for a set' — and notes the failure mode for missing images, which implies when the call will not succeed. There is still no explicit when-to-use/when-not guidance relative to pocketdraft_preview or pocketdraft_validate_project.

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