well_upsert_canvas

shallow

io.github.WellApp-ai/well-mcp · Verify this server

Write one canvas: create a board, or replace the arrangement of a board that already exists. Writes an ARRANGEMENT — the blocks a canvas holds and where they sit. It never computes a figure and never stores one: a figure block names a data feed and stores the question rather than the answer, and a note carries its own words. CREATE — omit canvas_view_id. name, layout_mode and tiles are required, and layout_mode is "free": every board is drawn on the infinite board. WHO EDITS — anyone in the workspace can create a board and becomes its author. Only a board's author, a workspace admin or the owner can change it afterwards; every other member reads it. well_show_canvas returns can_edit for this caller. When can_edit is false, do not call this: tell the user the board is read-only for them, name who can change it, and offer to ask its author. A write by someone else is refused with can_edit false and author_name, and changes nothing. UPDATE — pass canvas_view_id AND the version well_show_canvas returned for it. The write is compare-and-set on that version: if the canvas moved since you read it, the call is refused and comes back carrying the canvas as stored now, so you re-apply your one change instead of overwriting somebody else's. Never guess a version and never resend a rejected one — re-read with well_show_canvas first. STORE CARD ANSWERS — pass canvas_view_id, the version you hold, and store_card_answers, and nothing else. Each entry names a block by tile_id and a card: "exemptions" or "cash_scope". The server reads the reader's answer to that card in this conversation, and every option that card offered. It writes both into the block's binding.scope and changes no other key of any block. The write is compare-and-set on the version and returns the new version. It is refused when the reader has not answered that card in this conversation, or when a newer card is on screen than the one the reader answered. TILES — place them yourself. h is whole cells, and x, y and w may carry a fraction of a cell, to a hundredth; send back the position and width well_show_canvas returned. A figure block may send a size instead of w and h: "S" (4 × 3), "M" (7 × 6), "L" (11 × 8), the smallest rectangle that draws that size on the board a conversation draws. S draws the figure, M and L its chart. When the user asks for a size, send it rather than guessing a rectangle. A canvas takes any non-overlapping layout at or above each block's minimum size, negative coordinates included. A layout that is not already legal is REPORTED, never repaired — nothing here moves a block whose position you stated. Use the geometry helpers in @wellapp/shared/canvas-tiles to compute the rectangles. Every block that names a feed is type "figure" with mark null: the feed decides which chart it draws. A layout write stores no figures: params sent on a figure block are dropped. A board's figures are measured in a chat when a person presses its Refresh button, and Well keeps them apart from the layout, as the board's dated snapshot. A note (type "text") carries its words as params { content }. Do NOT use this to answer a question about a figure (ask well_render_cash_position, well_render_burn, well_render_runway), to read a board (well_show_canvas), or to change a canvas's origin template — create a new canvas for that.

100.0/100

1 trials · measured 2 days ago

well_upsert_canvas scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against io.github.WellApp-ai/well-mcp, measured 18 Oct 2026 under methodology v0.2.0. Every measured component scored 100.

Component breakdown

ComponentWeightValue
Reliability35%not applicable
Schema integrity25%100.0
Failure behaviour15%not applicable
Latency15%not applicable
Concurrency10%not applicable

Tool details

Transport
remote
Credential class
gated
Input schema
not declared
Output schema
not declared
Side-effect classification
unclassified

Score history

DayScoreTierMethodology
2026-10-18100.0shallowv0.2.0

Probe evidence

ProbeOutcomes
schema_integritypass: 1

Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.

Embed this score

Available for every tool, scored or not — not a verification perk. Always links back to this page.

Vouch score: well_upsert_canvas
[![Vouch score](https://vouch.tools/api/tools/17717171-1848-4f1c-9ac8-ebfea3f0a5cb/badge.svg)](https://vouch.tools/tools/17717171-1848-4f1c-9ac8-ebfea3f0a5cb)
well_upsert_canvas — Vouch