{"serverId":"mcp-registry/app.cnvs/whiteboard","tools":[{"name":"draw_stroke","fixed":{"name":"draw_stroke","description":"Draw a freehand stroke on the board. Use for arrows, underlines, connector lines, annotations, or simple shapes — a straight line needs two points, a rough circle wants ~20. Stroke width is fixed at 3 px; `color` is a NAME, not hex (case-insensitive): 'auto'/''/'black'/omitted for theme-aware ink, or 'red', 'blue', 'green', 'orange', 'yellow', 'pink', 'purple', 'maroon', 'brown', 'gray', 'lightgray', 'teal', 'sage', 'sky', 'lavender' — anything else (including a literal hex like '#ff0000') silen","inputSchema":{"type":"object","required":["board_id","points"],"properties":{"id":{"type":"string"},"color":{"type":"string"},"author":{"type":"string"},"points":{"description":"Points as [[x,y],...], flat [x1,y1,x2,y2,...], or a JSON string of either.","type":"string"},"board_id":{"type":"string"},"access_key":{"type":"string","description":"8-character lowercase alphanumeric board access key when the board is locked (legacy 6-character lowercase alphanumeric keys are also accepted). Equivalent to setting the `X-Board-Key` HTTP header on the JSON-RPC POST. Omit for unlocked boards. Obtain via POST /api/boards/<id>/lock."}}},"annotations":{"readOnlyHint":false,"openWorldHint":true,"destructiveHint":true},"title":"Draw Stroke"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: points. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":322,"tokensAfter":326}],"toolsChanged":1,"tokensSaved":0,"todo":[{"tool":"add_image","params":["x","y","id","width","author","height","board_id","data_url","thumb_data_url"]},{"tool":"add_link","params":["x","y","url","author","board_id"]},{"tool":"add_text","params":["x","y","postit","content","board_id"]},{"tool":"create_column","params":["title","board_id"]},{"tool":"create_task","params":["name","assignee","board_id","column_id","description"]},{"tool":"create_tasks","params":["board_id"]},{"tool":"delete_column","params":["id","board_id"]},{"tool":"delete_task","params":["id","board_id"]},{"tool":"draw_stroke","params":["id","color","author","board_id"]},{"tool":"erase","params":["id","kind","board_id"]},{"tool":"export_tasks","params":["board_id"]},{"tool":"get_board","params":["board_id"]},{"tool":"get_preview","params":["board_id"]},{"tool":"list_tasks","params":["board_id"]},{"tool":"move","params":["x","y","id","board_id"]},{"tool":"move_task","params":["id","sort","board_id","column_id"]},{"tool":"query_tasks","params":["done","board_id","priority"]},{"tool":"set_board_mode","params":["board_id"]},{"tool":"set_column_width","params":["board_id"]},{"tool":"set_lane","params":["board_id"]},{"tool":"update_column","params":["id","title","board_id"]},{"tool":"update_task","params":["id","name","sort","assignee","board_id","priority","column_id","description"]},{"tool":"wait_for_update","params":["board_id","timeout_ms"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}