← WebMCP Directory

quipra.github.io

quipra.github.io

live Unverified (seed import) Media & Personal 15 tools imperative implementation

One desk shared by a person and an agent. Paper, pens, ruler, compass, stencils. Nothing else.

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

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

Tool inspector

edit

act imperative

Change existing marks without redrawing, or animate them. Select by ids, group and/or region, then any of: pen (restyle), dx/dy (move), scale (about a point, default the mark's center), rotate (degrees clockwise), label, regroup, duplicate (edit copies, keep originals). With at (seconds) the same fields become a KEYFRAME instead: the mark tweens there from its previous key with ease or bezier; opacity and reveal (write-on) are keyable too. wiggle adds smooth random drift, boil re-noises the edge like hand-drawn animation, preset applies a built-in motion (rise, drop, pop, fade, wipe, typewriter, breathe, spin, shake, drift, sketchy, fadeOut, sink) or one you made, stagger cascades a group. align (left, center, right, top, middle, bottom) lines the selection up by its bounds, toPaper: true against the sheet instead; distribute (horizontal, vertical) spaces it evenly between the outermost two. hidden and order manage layers. Playback starts automatically.

Page: /desk/

Input schema

PropertyTypeRequiredDescription
ids array no mark ids
group string no Optional group name shared by related marks, e.g. 'triangle ABC'.
region object no —
pen object no Pen for this mark: kind, or brush (a name you made with make), color by name (ink, accent, blue, green, ochre) or hex, width 1..64, opacity 0.05..1, dash for construction lines, texture grain|chalk, taper for thin ends, fill hatch|crosshatch|stipple and/or fillColor (solid) for closed paths, shapes and circles, hatchAngle. Brush engine: tip (round, soft, flat, bristle, chalk, pencil), spacing, scatter, grain, or engine { ... } for every studio parameter. Effects: shadow, glow, blur 0..80.
dx number no —
dy number no —
scale number no —
rotate number no —
about object no —
label string no Short name for this mark, e.g. 'side AB', 'arc from A'.
regroup string no new group name for the selected marks
duplicate boolean no —
hidden boolean no hide or show the selected marks (they stay in the scene)
order string no bring to front or send to back of the drawing order
align string no line the selected marks up by their bounds: left, center, right across, top, middle, bottom down
distribute string no space the selected marks evenly between the outermost two
toPaper boolean no align to the sheet instead of to the selection's own bounds
at number no seconds on the timeline; with at, this edit becomes a keyframe
ease string no curve into this keyframe, default easeInOut
bezier array no cubic-bezier x1 y1 x2 y2, instead of ease
opacity number no 0..1 at this keyframe
reveal number no 0..1 how much of the mark is drawn at this keyframe (write-on)
wiggle object no —
boil number no line boil: re-noise textured edges this many times per second, 0 to stop
preset string no a motion you made with make, applied starting at 'at'
clearMotion boolean no remove all keyframes and motion from the selected marks
stagger number no seconds between each selected mark's start, in scene order, for cascades
Raw JSON schema
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "mark ids"
    },
    "group": {
      "type": "string",
      "description": "Optional group name shared by related marks, e.g. 'triangle ABC'."
    },
    "region": {
      "type": "object",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        },
        "w": {
          "type": "number"
        },
        "h": {
          "type": "number"
        }
      },
      "required": [
        "x",
        "y",
        "w",
        "h"
      ],
      "additionalProperties": false
    },
    "pen": {
      "type": "object",
      "description": "Pen for this mark: kind, or brush (a name you made with make), color by name (ink, accent, blue, green, ochre) or hex, width 1..64, opacity 0.05..1, dash for construction lines, texture grain|chalk, taper for thin ends, fill hatch|crosshatch|stipple and/or fillColor (solid) for closed paths, shapes and circles, hatchAngle. Brush engine: tip (round, soft, flat, bristle, chalk, pencil), spacing, scatter, grain, or engine { ... } for every studio parameter. Effects: shadow, glow, blur 0..80.",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "pencil",
            "fineliner",
            "marker",
            "brush",
            "highlighter"
          ]
        },
        "brush": {
          "type": "string",
          "description": "name of a brush made with make"
        },
        "color": {
          "type": "string"
        },
        "width": {
          "type": "number"
        },
        "opacity": {
          "type": "number"
        },
        "dash": {
          "type": "boolean"
        },
        "texture": {
          "type": "string",
          "enum": [
            "grain",
            "chalk",
            "none"
          ]
        },
        "taper": {
          "type": "boolean"
        },
        "fill": {
          "type": "string",
          "enum": [
            "hatch",
            "crosshatch",
            "stipple",
            "none"
          ]
        },
        "hatchAngle": {
          "type": "number"
        },
        "fillColor": {
          "type": "string",
          "description": "solid fill for closed paths, shapes and circles: palette name, hex, auto, or none"
        },
        "tip": {
          "type": "string",
          "enum": [
            "round",
            "soft",
            "flat",
            "bristle",
            "chalk",
            "pencil"
          ],
          "description": "brush tip stamped along the stroke"
        },
        "spacing": {
          "type": "number",
          "description": "stamp spacing as a fraction of size, 0.03..0.5"
        },
        "scatter": {
          "type": "number",
          "description": "stamp scatter across the path, 0..1"
        },
        "grain": {
          "type": "number",
          "description": "paper grain strength 0..1"
        },
        "engine": {
          "type": "object",
          "description": "brush engine, merged field by field over the kind's defaults",
          "properties": {
            "tip": {
              "type": "string",
              "enum": [
                "round",
                "soft",
                "flat",
                "bristle",
                "chalk",
                "pencil"
              ],
              "description": "stamp shape laid along the stroke"
            },
            "spacing": {
              "type": "number",
              "description": "stamp spacing as a fraction of size, 0.02 dense .. 1 dotted"
            },
            "sizeBase": {
              "type": "number",
              "description": "size at pressure 0, times width, 0..4"
            },
            "sizeGain": {
              "type": "number",
              "description": "extra size at pressure 1, times width, 0..4"
            },
            "flowBase": {
              "type": "number",
              "description": "per-stamp alpha at pressure 0, 0..1"
            },
            "flowGain": {
              "type": "number",
              "description": "extra per-stamp alpha at pressure 1, 0..1"
            },
            "scatter": {
              "type": "number",
              "description": "random offset across the path, 0..2 of size"
            },
            "grain": {
              "type": "number",
              "description": "paper grain eating the deposit, 0..1"
            },
            "multiply": {
              "type": "boolean",
              "description": "multiply blending, the way ink darkens on paper"
            },
            "oriented": {
              "type": "boolean",
              "description": "tip follows the stroke direction, for chisels"
            },
            "sizeJitter": {
              "type": "number",
              "description": "random size variation per stamp, 0..1"
            },
            "flowJitter": {
              "type": "number",
              "description": "random alpha variation per stamp, 0..1"
            },
            "angleJitter": {
              "type": "number",
              "description": "random tumble per stamp, 0..1 of a full turn, non-oriented tips"
            },
            "pressureCurve": {
              "type": "number",
              "description": "exponent on pressure: 0.3 eager, 1 linear, 3 reluctant"
            },
            "wet": {
              "type": "number",
              "description": "drying stroke: fade toward the paper along the stroke, 0..1"
            },
            "dual": {
              "type": "boolean",
              "description": "stamp a second tip at half size for a textured core"
            }
          },
          "additionalProperties": false
        },
        "shadow": {
          "type": "object",
          "description": "drop shadow: dx and dy -200..200, blur 0..80, color; {} removes it",
          "properties": {
            "dx": {
              "type": "number"
            },
            "dy": {
              "type": "number"
            },
            "blur": {
              "type": "number"
            },
            "color": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "glow": {
          "type": "object",
          "description": "halo around the mark: blur 0..80, color; {} removes it",
          "properties": {
            "blur": {
              "type": "number"
            },
            "color": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "blur": {
          "type": "number",
          "description": "soften the whole mark, 0..80 paper units; 0 removes it"
        }
      },
      "additionalProperties": false
    },
    "dx": {
      "type": "number"
    },
    "dy": {
      "type": "number"
    },
    "scale": {
      "type": "number"
    },
    "rotate": {
      "type": "number"
    },
    "about": {
      "type": "object",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        }
      },
      "required": [
        "x",
        "y"
      ],
      "additionalProperties": false
    },
    "label": {
      "type": "string",
      "description": "Short name for this mark, e.g. 'side AB', 'arc from A'."
    },
    "regroup": {
      "type": "string",
      "description": "new group name for the selected marks"
    },
    "duplicate": {
      "type": "boolean"
    },
    "hidden": {
      "type": "boolean",
      "description": "hide or show the selected marks (they stay in the scene)"
    },
    "order": {
      "type": "string",
      "enum": [
        "front",
        "back"
      ],
      "description": "bring to front or send to back of the drawing order"
    },
    "align": {
      "type": "string",
      "enum": [
        "left",
        "center",
        "right",
        "top",
        "middle",
        "bottom"
      ],
      "description": "line the selected marks up by their bounds: left, center, right across, top, middle, bottom down"
    },
    "distribute": {
      "type": "string",
      "enum": [
        "horizontal",
        "vertical"
      ],
      "description": "space the selected marks evenly between the outermost two"
    },
    "toPaper": {
      "type": "boolean",
      "description": "align to the sheet instead of to the selection's own bounds"
    },
    "at": {
      "type": "number",
      "description": "seconds on the timeline; with at, this edit becomes a keyframe"
    },
    "ease": {
      "type": "string",
      "enum": [
        "linear",
        "ease",
        "easeIn",
        "easeOut",
        "easeInOut",
        "bounce"
      ],
      "description": "curve into this keyframe, default easeInOut"
    },
    "bezier": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "cubic-bezier x1 y1 x2 y2, instead of ease"
    },
    "opacity": {
      "type": "number",
      "description": "0..1 at this keyframe"
    },
    "reveal": {
      "type": "number",
      "description": "0..1 how much of the mark is drawn at this keyframe (write-on)"
    },
    "wiggle": {
      "type": "object",
      "properties": {
        "amp": {
          "type": "number",
          "description": "paper units"
        },
        "freq": {
          "type": "number",
          "description": "Hz"
        }
      },
      "required": [
        "amp",
        "freq"
      ],
      "additionalProperties": false
    },
    "boil": {
      "type": "number",
      "description": "line boil: re-noise textured edges this many times per second, 0 to stop"
    },
    "preset": {
      "type": "string",
      "description": "a motion you made with make, applied starting at 'at'"
    },
    "clearMotion": {
      "type": "boolean",
      "description": "remove all keyframes and motion from the selected marks"
    },
    "stagger": {
      "type": "number",
      "description": "seconds between each selected mark's start, in scene order, for cascades"
    }
  },
  "additionalProperties": false
}

Similar websites

wfsim.app

wfsim.app

A Warframe calculator that simulates the fight instead of estimating it — builder, simulator, optimizer. Every formula cites its source, and the golden tests ar…

live Unverified Media & Personal
101 tools A12 / Act89 / T0 Not yet scored Seen 2026-11-05
enemies_targets_list enemies_target_new enemies_target_copy enemies_target_open enemies_target_set
Inspect tools
commonplace-webmcp.vercel.app

commonplace-webmcp.vercel.app

Commonplace is an editable social reading space built for people and their browser agents.

live Unverified Media & Personal Transact tools
89 tools A10 / Act77 / T2 Not yet scored Seen 2026-11-05
commonplace.get_page_state commonplace_get_page_state commonplace.get_reading_list commonplace_get_reading_list commonplace.get_profile
Inspect tools
pixelforge-studio.appcaster.chatgpt.site

pixelforge-studio.appcaster.chatgpt.site

A professional browser pixel-art editor for drawing, frame animation, palettes, sprite sheets, GIF export, and WebMCP automation.

live Unverified Media & Personal Transact tools
88 tools A12 / Act70 / T6 Not yet scored Seen 2026-11-05
plan_text_creation get_text_creation_status create_from_text claim_text_creation update_text_creation
Inspect tools
pixelite.taskcraft.site

pixelite.taskcraft.site

Pixelite

live Unverified Media & Personal Transact tools
83 tools A4 / Act78 / T1 Not yet scored Seen 2026-11-05
get_document_info list_layers get_active_layer get_selection_info new_document
Inspect tools

Related on Influzer