← WebMCP Directory

bertus37987.github.io

bertus37987.github.io

live Unverified (seed import) Productivity & Business 8 tools imperative implementation

A shared infinite whiteboard for people and browser agents.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 1 · Act 7 · Transact 0 · Score: Not yet scored

Tool inspector

create_structured_visual

act imperative

Create an editable multi-element visual during the currently claimed human turn: sequence diagram, kanban board, roadmap, study note, guided explainer, diagram, timeline, comparison, hierarchy, styled UI mockup, research brief, math derivation or plot. Match the shape to the subject — a process between parties is a sequence, work in flight is a board, what lands when is a roadmap. Keep node labels to a few words and put the explanation in detail, which becomes the narration under the guided-explanation controls. A visual without x and y is placed in free canvas below whatever is already on the board. Requires that turn leaseToken. Prefer student-like composition and sketch accents where they clarify.

Page: /smooth-whiteboard-webmcp/

Input schema

PropertyTypeRequiredDescription
leaseToken string yes The leaseToken returned when this human turn was claimed. Required: writes without it are rejected.
baseRevision number no Content revision returned by inspect_whiteboard; rejected when the canvas changed meanwhile.
kind string yes Pick the shape that matches the thing: a process between parties is a sequence, work in flight is a board, what lands when is a roadmap, a breakdown of ideas is a mindmap, a decision path is a flowchart, a screen is a ui_mockup, a lesson is a guided_explainer.
id string no —
title string no —
x number no —
y number no —
width number no —
height number no —
nodes array no —
edges array no Connections between nodes. For a sequence these are the messages, in order: fromId and toId are actor ids, label is the short line on the arrow, detail becomes that step's narration.
columns array no board only: the columns and the cards in them.
lanes array no roadmap only: the rows, one per workstream.
periods array no roadmap only: the columns, for example weeks or quarters.
items array no roadmap only: bars and milestones placed by period index.
sections array no —
steps array no —
axes object no —
series array no —
presentationSteps array no —
theme object no —
Raw JSON schema
{
  "type": "object",
  "required": [
    "kind",
    "leaseToken"
  ],
  "properties": {
    "leaseToken": {
      "type": "string",
      "description": "The leaseToken returned when this human turn was claimed. Required: writes without it are rejected."
    },
    "baseRevision": {
      "type": "number",
      "description": "Content revision returned by inspect_whiteboard; rejected when the canvas changed meanwhile."
    },
    "kind": {
      "type": "string",
      "enum": [
        "flowchart",
        "mindmap",
        "ui_wireframe",
        "ui_mockup",
        "research_report",
        "math_steps",
        "plot",
        "study_note",
        "timeline",
        "comparison",
        "hierarchy",
        "visual_explainer",
        "guided_explainer",
        "sequence",
        "board",
        "roadmap"
      ],
      "description": "Pick the shape that matches the thing: a process between parties is a sequence, work in flight is a board, what lands when is a roadmap, a breakdown of ideas is a mindmap, a decision path is a flowchart, a screen is a ui_mockup, a lesson is a guided_explainer."
    },
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "x": {
      "type": "number"
    },
    "y": {
      "type": "number"
    },
    "width": {
      "type": "number"
    },
    "height": {
      "type": "number"
    },
    "nodes": {
      "type": "array",
      "maxItems": 40,
      "items": {
        "type": "object",
        "required": [
          "id",
          "label"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "parentId": {
            "type": "string"
          },
          "role": {
            "type": "string",
            "description": "What this element is. On a screen: header, navbar, sidebar, section, card, button, input, select, checkbox, radio, switch, tabs, list, modal, badge, avatar, divider, icon, text, and image (a crossed placeholder box for a photo), price (a small tag) and chip (a pill). Elsewhere: primary, secondary, decision, callout, legend, example, warning, source."
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          },
          "fill": {
            "type": "string",
            "description": "Background of this one element as a hex colour — a green price, a red warning, a dark hero. The theme paints everything that does not say otherwise, and the text colour follows the fill's contrast on its own."
          },
          "textColor": {
            "type": "string",
            "description": "Hex colour for this element's own label, when the automatic choice is not what you want."
          },
          "radius": {
            "type": "number",
            "description": "Corner rounding in pixels: 0 is a sharp edge, a large number is a pill. Left alone, a chip or badge is a pill, a button or input is softly rounded, a card is square-ish."
          },
          "fontSize": {
            "type": "number",
            "description": "Type size for this element, so a restaurant name can be larger than its rating."
          },
          "fontWeight": {
            "type": "number",
            "enum": [
              400,
              500,
              600,
              700
            ]
          }
        }
      }
    },
    "edges": {
      "type": "array",
      "maxItems": 80,
      "description": "Connections between nodes. For a sequence these are the messages, in order: fromId and toId are actor ids, label is the short line on the arrow, detail becomes that step's narration.",
      "items": {
        "type": "object",
        "required": [
          "fromId",
          "toId"
        ],
        "properties": {
          "fromId": {
            "type": "string"
          },
          "toId": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    },
    "columns": {
      "type": "array",
      "maxItems": 8,
      "description": "board only: the columns and the cards in them.",
      "items": {
        "type": "object",
        "required": [
          "name",
          "cards"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "cards": {
            "type": "array",
            "maxItems": 30,
            "items": {
              "type": "object",
              "required": [
                "label"
              ],
              "properties": {
                "label": {
                  "type": "string"
                },
                "detail": {
                  "type": "string"
                },
                "accent": {
                  "type": "string",
                  "description": "Card fill; use one of designSystem.palette.accentTints."
                }
              }
            }
          }
        }
      }
    },
    "lanes": {
      "type": "array",
      "maxItems": 12,
      "items": {
        "type": "string"
      },
      "description": "roadmap only: the rows, one per workstream."
    },
    "periods": {
      "type": "array",
      "maxItems": 16,
      "items": {
        "type": "string"
      },
      "description": "roadmap only: the columns, for example weeks or quarters."
    },
    "items": {
      "type": "array",
      "maxItems": 60,
      "description": "roadmap only: bars and milestones placed by period index.",
      "items": {
        "type": "object",
        "required": [
          "lane",
          "label",
          "start"
        ],
        "properties": {
          "lane": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "start": {
            "type": "number",
            "description": "Zero-based index into periods."
          },
          "span": {
            "type": "number",
            "description": "How many periods the bar covers; default 1."
          },
          "milestone": {
            "type": "boolean",
            "description": "Draw a diamond at start instead of a bar."
          }
        }
      }
    },
    "sections": {
      "type": "array",
      "maxItems": 24,
      "items": {
        "type": "object",
        "required": [
          "heading",
          "body"
        ],
        "properties": {
          "heading": {
            "type": "string"
          },
          "body": {
            "type": "string"
          }
        }
      }
    },
    "steps": {
      "type": "array",
      "maxItems": 30,
      "items": {
        "type": "object",
        "required": [
          "expression"
        ],
        "properties": {
          "expression": {
            "type": "string"
          },
          "explanation": {
            "type": "string"
          }
        }
      }
    },
    "axes": {
      "type": "object",
      "properties": {
        "xMin": {
          "type": "number"
        },
        "xMax": {
          "type": "number"
        },
        "yMin": {
          "type": "number"
        },
        "yMax": {
          "type": "number"
        },
        "xLabel": {
          "type": "string"
        },
        "yLabel": {
          "type": "string"
        }
      }
    },
    "series": {
      "type": "array",
      "maxItems": 8,
      "items": {
        "type": "object",
        "required": [
          "points"
        ],
        "properties": {
          "label": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "points": {
            "type": "array",
            "maxItems": 400,
            "items": {
              "type": "object",
              "required": [
                "x",
                "y"
              ],
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              }
            }
          }
        }
      }
    },
    "presentationSteps": {
      "type": "array",
      "maxItems": 40,
      "items": {
        "type": "object",
        "required": [
          "title",
          "focusIds"
        ],
        "properties": {
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "focusIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "revealIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "theme": {
      "type": "object",
      "properties": {
        "background": {
          "type": "string"
        },
        "surface": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "accent": {
          "type": "string"
        }
      }
    }
  }
}

Similar websites

econsor.de

econsor.de

German digital agency building portals, e-commerce sites and online marketing, combining strategy, design and AI to grow clients' visibility and customer base.

live Unverified Productivity & Business Transact tools
143 tools A0 / Act142 / T1 Not yet scored Seen 2026-11-05
econsor_click_search econsor_click_image econsor_click_menu econsor_click_burger_menu_icon econsor_click_previous_button
Inspect tools
inkframe-eta.vercel.app

inkframe-eta.vercel.app

Browser-native Elah video editor for 9:16 and 16:9 exports

live Unverified Productivity & Business Transact tools
87 tools A12 / Act71 / T4 Not yet scored Seen 2026-11-05
get_capabilities list_templates navigate_workspace open_template editor_inspect_video_moments
Inspect tools
agentdesk-demo.vercel.app

agentdesk-demo.vercel.app

Meridian Ops

live Unverified Productivity & Business Transact tools
83 tools A43 / Act24 / T16 Not yet scored Seen 2026-11-05
find_capabilities invoke_capability get_context get_action_status search_customers
Inspect tools
eworker.ca

eworker.ca

E-Worker is business infrastructure powered by AI, with focused apps and connected business work.

live Unverified Productivity & Business
73 tools A10 / Act63 / T0 Not yet scored Seen 2026-11-05
eworker_site_status eworker_list_apps eworker_resolve_app eworker_open_app ewdoc_status
Inspect tools

Related on Influzer