create_whiteboard
ChatGPTCreate a new Klaxoon whiteboard. Strategy First: Use this to initialize a new workspace. Before adding any content, you MUST plan the structural layout and define the board's DNA (colors/categories) as per the instruction "Plan briefly before acting".
create_whiteboard_items
ChatGPTCreate items (stickies, shapes, text, connectors) on a whiteboard. Input: "items" is an array of objects (not strings), max 50 per call. JSON convention: omit any optional field you do not want to set — never send it as null. Each object must have "type" ("IDEA" | "TEXT" | "SHAPE" | "CONNECTOR") and "payload". Always set explicit x/y coordinates and position.z (low z = background, high z = foreground). Use "tmpId" to reference new items within the same request (e.g. to attach a connector to two shapes being created in the same call). Examples per type (illustrative only — combine fields freely based on the use case): IDEA (sticky note): {"type":"IDEA","tmpId":"idea-1","payload":{"position":{"x":0,"y":0,"z":1},"geometry":{"width":160},"data":{"content":"<p>My idea</p>","format":"square","color":{"id":"<color-uuid>"}}}} TEXT: {"type":"TEXT","payload":{"position":{"x":200,"y":0,"z":2},"data":{"content":"<p><strong>Title</strong></p>","maxLineWidth":400}}} SHAPE: {"type":"SHAPE","tmpId":"box-1","payload":{"position":{"x":400,"y":0,"z":1},"geometry":{"width":200,"height":150},"data":{"shapeType":"rectangle","content":"<p>Label</p>","style":{"fillColor":"#e0f0ff","fillOpacity":1,"strokeColor":"#0066cc","strokeStyle":"solid","strokeThickness":2}}}} CONNECTOR (linking box-1 → idea-1 via tmpId, with an optional "content" label on the line): {"type":"CONNECTOR","payload":{"data":{"content":"<p>depends on</p>","startItem":{"id":"box-1","anchor":"right"},"endItem":{"id":"idea-1","anchor":"left","shape":"arrow"},"pathType":"curve","style":{"strokeColor":"#333333","strokeStyle":"solid","strokeThickness":2}}}} WRIKE ITEM (sticky note with a Wrike task URL — content must contain ONLY the URL, no extra text): {"type":"IDEA","payload":{"position":{"x":0,"y":400,"z":1},"geometry":{"width":160},"data":{"content":"https://www.wrike.com/open.htm?id=123456789","format":"square"}}}
create_whiteboard_sticky_color
ChatGPTAdd one hex color to the board's palette for sticky notes. JSON convention: omit any optional field you do not want to set — never send it as null. Rule: Only create new colors if the existing palette cannot support a necessary semantic distinction.
delete_whiteboard_items
ChatGPTDelete specific items from a whiteboard using their IDs. Strict Limits: Max 50 items per call. Safe Editing Rule: Avoid deleting content or moving many existing elements unless explicitly requested. You must prioritize "Preservation" and "Fact Integrity"—never delete data that could be essential to the user's context without confirmation.
delete_whiteboard_sticky_color
ChatGPTRemove one color from the board's palette for sticky notes. Safe Editing: Before deleting, ensure the color is not currently used to encode critical meaning.
get_mcp_server_instructions
ChatGPTRetrieve the full Klaxoon board assistant instructions. Mandatory First Step: You MUST call this at the very beginning of every session to establish your operating framework. It provides the essential rules for planning, visual structuring, and quality standards required to assist the user effectively.
get_whiteboard_info
ChatGPTRetrieve information for a specific whiteboard. Mandatory Audit: Use this to get basic information of an existing board based on its ID or accessCode. Returns core metadata: title, id, accessCode, shareLink, state, createdAt, updatedAt, author. REQUIRED: you must provide either "boardId" (UUID) or "accessCode".
list_whiteboard_items
ChatGPTRetrieve all existing items (shapes, sticky notes, connectors, and text objects) from a whiteboard with their properties. JSON convention: omit any optional filter you do not want to apply — never send it as null. Mandatory Audit: Always call this tool before modifying a board to perform a "Context Analysis" in order to understand spatial organization of the current layout.
list_whiteboard_sticky_colors
ChatGPTList all available sticky note colors on a board. Mandatory Step: Use this to perform "Context Analysis" and identify the board's existing DNA. You must reuse these existing colors for any new sticky note content to ensure visual consistency and avoid creating redundant or "one-off" colors.
list_whiteboards
ChatGPTRetrieve a list of available whiteboards. Context Analysis: Use this to search for existing boards based on title, author, and/or date. Returns total count and core metadata: title, id, accessCode, shareLink, state, createdAt, updatedAt, author.
update_whiteboard_items
ChatGPTModify parameters of existing items (coordinates, text, colors, z-index, etc.). Input: "items" is an array of objects (not strings), max 50 per call. JSON convention: omit any optional field you do not want to set — never send it as null. Each object must have "id" (UUID of the existing item), "type" ("IDEA" | "TEXT" | "SHAPE" | "CONNECTOR"), and "payload" (only the fields to change — all payload fields are optional). Examples per type (illustrative only — combine fields freely based on the use case): IDEA (move and update content): {"type":"IDEA","id":"<uuid>","payload":{"position":{"x":100,"y":200},"data":{"content":"<p>Updated</p>","format":"square","color":{"id":"<color-uuid>"}}}} TEXT (change content and wrap width): {"type":"TEXT","id":"<uuid>","payload":{"data":{"content":"<p><strong>New title</strong></p>","maxLineWidth":500}}} SHAPE (resize and restyle): {"type":"SHAPE","id":"<uuid>","payload":{"geometry":{"width":300,"height":200},"data":{"style":{"fillColor":"#fffbe6","strokeColor":"#f0a500","strokeStyle":"dashed","strokeThickness":2}}}} CONNECTOR (reroute endpoints, update the optional "content" label, and change style): {"type":"CONNECTOR","id":"<uuid>","payload":{"data":{"content":"<p>blocks</p>","startItem":{"id":"<uuid-start>","anchor":"bottom"},"endItem":{"id":"<uuid-end>","anchor":"top","shape":"arrow"},"pathType":"straight","style":{"strokeColor":"#cc0000","strokeThickness":3}}}} WRIKE ITEM (update the Wrike task URL in a sticky note — content must contain ONLY the URL, no extra text): {"type":"IDEA","id":"<uuid>","payload":{"data":{"content":"https://www.wrike.com/open.htm?id=123456789"}}}
update_whiteboard_sticky_color
ChatGPTModify existing hex color in the board's palette for sticky notes. Usage: Use this to refine the board's look or improve readability. Ensure that updating a color doesn't break the "Visual Encoding" logic already understood by users (e.g., don't change a 'Validation' green to red). JSON convention: omit any optional field you do not want to set — never send it as null. REQUIRED: you must provide at least one of "label" or "value".