Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoThe port of the running Easel canvas server that the MCP server should connect to. Passed to the MCP server as the argument --port, e.g. "args": ["-y", "-p", "easel-canvas", "easel-mcp", "--port", "4317"].4317

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_boardsA

List the boards on the design canvas (each board is a docs/design/screens/*.html file) with file, title, size, position and page. Use it to find which file to read or edit.

read_boardA

Read a board's source HTML exactly as stored in the file. Use it before editing a board.

get_selectionA

What the user is looking at right now: selection (the element clicked in edit mode: file, path as element indexes from the children of , tag, kind and label, text, source outerHTML up to 4KB, hash, computed styles), mode (canvas, edit, focus, play), page and pageName, visibleArtboards (boards visible on screen), selectedArtboards, dirty (pending saves), edits (recent edit history), erroredArtboards and firstError (boards with errors). Use it for requests like 'fix the selected element' or 'this screen'.

screenshotA

Take a PNG screenshot of a board, or of an element inside it, and return the image file path. Use it to check how a change looks (requires playwright).

list_commentsA

List board comments (docs/design/comments.json), optionally for one file or only unresolved ones.

add_commentB

Add a comment to a board, or to an element inside it when path is given.

resolve_commentA

Mark a comment as resolved (pass resolved=false to reopen it). Use it after fixing what a comment asked for.

place_boardB

Record a board's canvas position, title and page in board.json. Use it after creating a new screen to set its name and position.

list_errorsA

List boards with errors (script errors, images that failed to load, missing files) and the first error. Use it to check your edits did not break a board.

create_boardA

Create a new board (HTML file) from a template and place it on the canvas. Templates: blank (Blank), mobile (390×844 Mobile screen), desktop (1440×900 Desktop screen), doc (Document). Edit the created file directly afterwards.

list_notesA

List canvas notes (titles and sticky notes), optionally for one page.

add_noteC

Add a note to the canvas. kind=title (large heading) or sticky (sticky note).

update_noteC

Edit a note (text, position, width, page, color, size, bold, italic).

delete_noteB

Delete a note (the user can undo it in the app).

list_pagesB

List canvas pages (the first page is the default).

manage_pageA

Manage pages: add (name), rename (id, name), delete (id; its items move to the first page), move (id, index).

get_tokensA

Get the design tokens (colors per theme, font sizes, weights, radii, spacing, fonts, minimum tap target). Use only these values when creating or editing screens.

check_tokensA

Find off-token values in screen HTML (colors, font sizes, weights, radii, spacing not a multiple of 4). Use it to verify your edits. Omit file to check all screens.

reply_commentC

Reply to a comment (resolve=true replies and marks it resolved).

save_snapshotA

Save a snapshot by committing only the design folder to git (a saved version). Use only when the user explicitly asks to save.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 20 tools

Disambiguation4/5

Each tool targets a fairly distinct resource+action (boards, comments, notes, pages, tokens, snapshots), and the descriptions clarify intent well. Minor overlap exists between resolve_comment and reply_comment(resolve=true), and manage_page collapses four page operations into one generic tool, but misselection risk is low.

Naming Consistency4/5

Nearly all tools follow a snake_case verb_noun pattern (list_boards, create_board, add_comment, delete_note, check_tokens). The two deviations are 'screenshot' (bare noun) and 'manage_page' (generic multi-operation verb), which are minor but noticeable.

Tool Count4/5

20 tools sit at the upper edge of the comfortable range, but the surface spans six distinct sub-domains (canvas boards, comments, notes, pages, tokens, git snapshots), so each tool broadly earns its place. It is slightly heavy rather than bloated.

Completeness4/5

Notes and pages have full lifecycle coverage, comments cover list/add/resolve/reply, and tokens plus error checking plus screenshots support the edit-verify loop. Gaps exist (no delete/rename board beyond place_board, no comment edit/delete, no snapshot listing or restore), but agents can work around them.

Maintenance

ActivityNo data
ResponsivenessOutdated data