← WebMCP Directory

inkling.aniruddhachaudhari95.chatgpt.site

inkling.aniruddhachaudhari95.chatgpt.site

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

A shared notebook canvas where an agent measures, proposes, and verifies beside you.

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

Answer 15 · Act 16 · Transact 1 · Score: Not yet scored

Tool inspector

apply_ops

act imperative

Applies typed add_shape, add_arrow, add_pen, add_image, move, resize, rotate, set_label, set_style, delete, duplicate, align, distribute, or group_layout operations. The batch is validated atomically, then shown operation by operation: shapes are placed before later connector steps draw along their path, with progress visible to the human. Stable element IDs must come from get_scene. The complete sequence is one undoable change. Match the canvas to what it is actually for: a system diagram, architecture, or process reads best as clean shapes and arrows, kept tidy with auto_layout. A casual, personal, or just-for-fun canvas (notes, planning, a journal page) can be looser in STYLE - a rotated icon, a doodled pen flourish, an occasional off-grid nudge - but never loose in LAYOUT: related items still sit near each other in reading order (top to bottom or left to right, like an actual notebook page), gaps between groups stay roughly even, and nothing is left an orphan far from everything else. Looseness is a decoration on top of a sane layout, not a replacement for one. Same tools either way, just decide which register fits before building.

Input schema

PropertyTypeRequiredDescription
ops array yes —
reason string yes —
Raw JSON schema
{
  "type": "object",
  "properties": {
    "ops": {
      "type": "array",
      "minItems": 1,
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "add_shape"
              },
              "shapeType": {
                "type": "string",
                "enum": [
                  "rect",
                  "ellipse",
                  "diamond",
                  "text"
                ]
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              },
              "width": {
                "type": "number",
                "minimum": 1
              },
              "height": {
                "type": "number",
                "minimum": 1
              },
              "label": {
                "type": "string",
                "description": "Only for shapeType \"text\". Rectangles, ellipses and diamonds hold no text - add a separate text element beside or inside them."
              },
              "style": {
                "type": "object",
                "properties": {
                  "stroke": {
                    "type": "string"
                  },
                  "fill": {
                    "type": "string"
                  },
                  "strokeWidth": {
                    "type": "number",
                    "minimum": 1,
                    "maximum": 12
                  }
                }
              }
            },
            "required": [
              "type",
              "shapeType",
              "x",
              "y",
              "width",
              "height"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "add_icon"
              },
              "slug": {
                "type": "string",
                "minLength": 1,
                "description": "Slug from search_icons. Never invent one."
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              },
              "size": {
                "type": "number",
                "minimum": 24,
                "maximum": 256,
                "default": 64
              }
            },
            "required": [
              "type",
              "slug",
              "x",
              "y"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "add_arrow"
              },
              "fromId": {
                "type": "string",
                "minLength": 1
              },
              "toId": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string"
              },
              "arrowhead": {
                "type": "boolean",
                "default": true,
                "description": "Set false for a plain connecting line with no arrowhead."
              }
            },
            "required": [
              "type",
              "fromId",
              "toId"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "add_pen"
              },
              "points": {
                "type": "array",
                "minItems": 2,
                "items": {
                  "type": "object",
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "x",
                    "y"
                  ]
                },
                "description": "Canvas-space points for one freehand ink stroke. For a technical diagram, use this narrowly - circling or underlining something. For a casual or personal canvas (notes, journals, planning something fun), it is fine to be looser: doodle a quick underline flourish, a little arrow, a simple face, a scribbled star next to something - several short add_pen strokes read as a sketch, not just an annotation. Still stays inside this app's hand-drawn look, not a photorealistic illustration."
              },
              "style": {
                "type": "object",
                "properties": {
                  "stroke": {
                    "type": "string"
                  },
                  "strokeWidth": {
                    "type": "number",
                    "minimum": 1,
                    "maximum": 12
                  }
                }
              }
            },
            "required": [
              "type",
              "points"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "add_image"
              },
              "url": {
                "type": "string",
                "minLength": 1,
                "description": "A direct image URL (png/jpg/webp/gif/svg). Rendered read-only via <image href> - scripting is disabled by the browser regardless of source."
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              },
              "width": {
                "type": "number",
                "minimum": 1
              },
              "height": {
                "type": "number",
                "minimum": 1
              }
            },
            "required": [
              "type",
              "url",
              "x",
              "y",
              "width",
              "height"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "move"
              },
              "id": {
                "type": "string",
                "minLength": 1
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "type",
              "id",
              "x",
              "y"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "resize"
              },
              "id": {
                "type": "string",
                "minLength": 1
              },
              "width": {
                "type": "number",
                "minimum": 1
              },
              "height": {
                "type": "number",
                "minimum": 1
              }
            },
            "required": [
              "type",
              "id",
              "width",
              "height"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "rotate"
              },
              "id": {
                "type": "string",
                "minLength": 1
              },
              "degrees": {
                "type": "number",
                "description": "Absolute rotation in degrees clockwise around the element center, normalised to 0-360."
              }
            },
            "required": [
              "type",
              "id",
              "degrees"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "set_label"
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A text element. Shapes and icons hold no text of their own."
              },
              "text": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id",
              "text"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "set_style"
              },
              "id": {
                "type": "string",
                "minLength": 1
              },
              "style": {
                "type": "object",
                "properties": {
                  "stroke": {
                    "type": "string"
                  },
                  "fill": {
                    "type": "string"
                  },
                  "strokeWidth": {
                    "type": "number",
                    "minimum": 1,
                    "maximum": 12
                  }
                },
                "minProperties": 1
              }
            },
            "required": [
              "type",
              "id",
              "style"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "delete"
              },
              "id": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "type",
              "id"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "duplicate"
              },
              "ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "minItems": 1,
                "uniqueItems": true
              },
              "dx": {
                "type": "number",
                "default": 26
              },
              "dy": {
                "type": "number",
                "default": 26
              }
            },
            "required": [
              "type",
              "ids"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "align"
              },
              "ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "minItems": 1,
                "uniqueItems": true
              },
              "edge": {
                "type": "string",
                "enum": [
                  "left",
                  "right",
                  "top",
                  "bottom",
                  "centerX",
                  "centerY"
                ]
              }
            },
            "required": [
              "type",
              "ids",
              "edge"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "distribute"
              },
              "ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "minItems": 1,
                "uniqueItems": true
              },
              "axis": {
                "type": "string",
                "enum": [
                  "x",
                  "y"
                ]
              }
            },
            "required": [
              "type",
              "ids",
              "axis"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "group_layout"
              },
              "ids": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "minItems": 1,
                "uniqueItems": true
              },
              "direction": {
                "type": "string",
                "enum": [
                  "TB",
                  "LR"
                ]
              }
            },
            "required": [
              "type",
              "ids",
              "direction"
            ]
          }
        ]
      }
    },
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "ops",
    "reason"
  ]
}

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