← WebMCP Directory

web-mcp-extending-excalidraw.vercel.app

web-mcp-extending-excalidraw.vercel.app

live Unverified (seed import) Developer Tools 25 tools imperative implementation

A whiteboard that gets better when a human and an agent draw on it together.

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

Answer 4 · Act 21 · Transact 0 · Score: Not yet scored

Tool inspector

draw_chart

act imperative

Draw a bar or line chart from data. Use this whenever the user gives you numbers — a CSV, a table, a list of figures — and wants them visualised. Axes, ticks, labels and a legend are computed for you; you only supply the data. Returns an id for every bar or point, keyed as " : ", so you can follow up with annotate to call out a specific one (e.g. the tallest bar). Example: {"kind":"bar","title":"Revenue by quarter","labels":["Q1","Q2","Q3","Q4"],"series":[{"name":"2025","values":[12,19,3,17]}]}

Input schema

PropertyTypeRequiredDescription
kind string no —
title string no —
labels array yes Category labels along the x axis.
series array yes —
width number no —
height number no —
placement — no Where to put it. Omit for the centre of the human's current view. {"mode":"next_to","refId":"<id>","side":"right"} places it beside an existing element; {"mode":"free_space"} puts it clear of everything already drawn.
Raw JSON schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "kind": {
      "default": "bar",
      "type": "string",
      "enum": [
        "bar",
        "line"
      ]
    },
    "title": {
      "type": "string"
    },
    "labels": {
      "description": "Category labels along the x axis.",
      "minItems": 1,
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "series": {
      "minItems": 1,
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "description": "Series name, shown in the legend when there is more than one.",
            "type": "string"
          },
          "values": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "values"
        ]
      }
    },
    "width": {
      "default": 620,
      "type": "number",
      "minimum": 200,
      "maximum": 2000
    },
    "height": {
      "default": 400,
      "type": "number",
      "minimum": 150,
      "maximum": 1400
    },
    "placement": {
      "description": "Where to put it. Omit for the centre of the human's current view. {\"mode\":\"next_to\",\"refId\":\"<id>\",\"side\":\"right\"} places it beside an existing element; {\"mode\":\"free_space\"} puts it clear of everything already drawn.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "mode": {
              "type": "string",
              "const": "viewport"
            }
          },
          "required": [
            "mode"
          ]
        },
        {
          "type": "object",
          "properties": {
            "mode": {
              "type": "string",
              "const": "next_to"
            },
            "refId": {
              "type": "string"
            },
            "side": {
              "type": "string",
              "enum": [
                "right",
                "below",
                "left",
                "above"
              ]
            },
            "gap": {
              "type": "number"
            }
          },
          "required": [
            "mode",
            "refId"
          ]
        },
        {
          "type": "object",
          "properties": {
            "mode": {
              "type": "string",
              "const": "free_space"
            }
          },
          "required": [
            "mode"
          ]
        },
        {
          "type": "object",
          "properties": {
            "mode": {
              "type": "string",
              "const": "absolute"
            },
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "required": [
            "mode",
            "x",
            "y"
          ]
        }
      ]
    }
  },
  "required": [
    "labels",
    "series"
  ],
  "additionalProperties": false
}

Similar websites

morphus.myles4miles.chatgpt.site

morphus.myles4miles.chatgpt.site

Morphus is an AI-native workspace for designing worlds and generating playable game experiences.

live Unverified Developer Tools Transact tools
154 tools A23 / Act124 / T7 Not yet scored Seen 2026-11-05
list_nodes get_scene_settings get_node_details get_terrain_state get_forest_state
Inspect tools
damnpdfs.com

damnpdfs.com

Install the DamnPDFs Codex plugin, pair a browser workspace and use PDF, image and file tools from your coding agent. Includes setup and privacy limits.

live Unverified Developer Tools Transact tools
81 tools A3 / Act77 / T1 Not yet scored Seen 2026-11-05
scan_to_pdf workflow merge_pdf alternate_mix_pdf compress_pdf
Inspect tools
insignifi4nt.github.io

insignifi4nt.github.io

broCAD/M: local-first CAD and CAM for parametric design, wire EDM planning, simulation and controller export.

live Unverified Developer Tools Transact tools
80 tools A29 / Act49 / T2 Not yet scored Seen 2026-11-05
edm_inspect_approach edm_describe_edits edm_get_context edm_list_projects edm_get_project
Inspect tools
cabinet.varera.studio

cabinet.varera.studio

The Cartographer's Cabinet

live Unverified Developer Tools Transact tools
64 tools A10 / Act50 / T4 Not yet scored Seen 2026-11-05
inspect_daylight inspect_cartographers_project list_project_hierarchy inspect_open_map search_project_objects
Inspect tools

Related on Influzer