Tools and resources
Six tools. Five read, one writes — and the one that writes only ever files a proposal for a human to approve.
get_canvasreadcanvas_id?The whole canvas as structured data — type stack, palette with usage rules, marks, references, personas and voice. Most agents call this once per session.
get_typographyreadcanvas_id?, format?Families, weights, the size scale and the pairing rules, with the CSS or @font-face the project should use.
get_palettereadcanvas_id?, space?Colours with roles attached — which is a surface, which is an accent, which one is only ever a button.
get_voicereadcanvas_id?Tone rules, who you are writing for, phrases to avoid, and required legal copy where a market needs it.
get_historyreadcanvas_id?, limit?The most recent changes to this canvas, with who made each and why — useful before proposing to change a rule.
propose_changewritezone, title, reason, card_id?, patch?Suggest an edit to a card. This is the only way an agent can change anything: the proposal enters the approval queue and nothing moves until an owner approves it.
Response shape
Every tool returns a written brief as its primary content — models follow prose better than they follow a nested object — with this structure alongside it asstructuredContentfor clients that can use it.
{
"canvas": "brand soul",
"version": 41,
"typography": {
"heading": { "family": "Archivo", "weight": 700, "tracking": "-0.03em" },
"body": { "family": "Newsreader", "size": 16, "leading": 1.65 }
},
"palette": [
{ "hex": "#101010", "role": "ink" },
{ "hex": "#E8511E", "role": "accent", "rule": "buttons and links only" }
],
"voice": { "avoid": ["Oops", "Uh oh"], "person": "second" },
"never": ["gradient heroes", "drop shadows on cards"]
}