Skip to main content
Glama
HarryHeYu

papercanvas-mcp

by HarryHeYu

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
--rootYesProject directory that all paths must stay inside; passed to papercanvas-mcp as `--root path/to/project`.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
papercanvas_createC

Create a new figure IR file. Returns the path and initial revision.

papercanvas_getA

Read the full figure IR (nodes, edges, groups, theme, canvas) plus hard_errors — the list of structural problems that block render/patch. Call this before patching.

papercanvas_patchA

Apply a batch of semantic operations in ONE all-or-nothing transaction: add_node, remove_node (+remove_edges:true), update_node, set_style, add_edge, remove_edge, add_group, update_label, move_node. On success the revision increments by 1; on failure nothing changes. Pass expected_revision for optimistic concurrency.

papercanvas_layoutA

Arrange nodes (preset: linear-h | linear-v | layered) and commit the coordinates to the IR; revision increments by 1. Cycles are hard errors.

papercanvas_renderA

Render the figure to svg / pdf / pptx (a list, e.g. ['svg','pdf','pptx']). Output files are written next to the IR and are true vector + editable. Strictly read-only on the IR.

papercanvas_lintA

Run quality checks FC001-FC008 (canvas bounds, structure, text overflow, overlap, font size, arrows through nodes, font substitution, raster images). Returns findings with rule_id/severity/object_id; severity 'error' means fix before delivering. Read-only.

papercanvas_inspectA

Inventory of all objects (ids, kinds, labels), or full detail for one object_id (geometry, style, connected edges, groups). Read-only.

papercanvas_doctorB

Aggregated quality diagnosis: hard validation, FC001-FC008 lint, font coverage/substitution, renderability per format. Returns findings classified as blocking / advisory / environment, with suggested patches for fixable issues. Read-only.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 8 tools

Disambiguation4/5

Most tools have clearly distinct roles: create/get/patch mutate or read the IR, inspect inventories objects, layout arranges nodes, render exports files. The main ambiguity is between doctor and lint, since doctor aggregates lint results along with validation and renderability, and between get and inspect for read operations. Descriptions help, but an agent may still hesitate over doctor vs lint in particular.

Naming Consistency5/5

All tools use the same papercanvas_ prefix and snake_case convention. The action words are predictable and readable, and there is no mixing of camelCase or unrelated naming styles.

Tool Count5/5

Eight tools is a well-scoped set for a figure IR editor, covering creation, inspection, mutation, layout, quality checks, and rendering. Each tool earns its place without excessive surface area.

Completeness4/5

The surface covers the core lifecycle: create, read, inspect, patch, layout, lint/diagnose, and render. A dedicated delete/remove-file operation is missing, and theme-level editing is only indirectly covered, but these are minor gaps that agents can work around.

Maintenance

ActivityMaintained
ResponsivenessNo issues