← 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

construct

act imperative

The main way to draw: up to 40 instrument steps in one call, in order. Each step names its tool (pick_pen, draw, ruler, compass, stencil, path, edit, erase, undo, timeline, or recipe with name and args) and carries that tool's fields, plus an optional inline pen and group. verify: true appends a look to the result so you can check the figure without another call. Stops at the first invalid step and reports what was done.

Page: /desk/

Input schema

PropertyTypeRequiredDescription
steps array yes —
verify boolean no append a look to the result
Raw JSON schema
{
  "type": "object",
  "properties": {
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "pick_pen",
              "draw",
              "ruler",
              "compass",
              "stencil",
              "path",
              "edit",
              "erase",
              "undo",
              "timeline",
              "recipe"
            ]
          },
          "label": {
            "type": "string",
            "description": "Short name for this mark, e.g. 'side AB', 'arc from A'."
          },
          "group": {
            "type": "string",
            "description": "Optional group name shared by related marks, e.g. 'triangle ABC'."
          },
          "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
          },
          "kind": {
            "type": "string",
            "enum": [
              "pencil",
              "fineliner",
              "marker",
              "brush",
              "highlighter"
            ]
          },
          "color": {
            "type": "string"
          },
          "width": {
            "type": "number"
          },
          "dash": {
            "type": "boolean"
          },
          "points": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                },
                "p": {
                  "type": "number",
                  "description": "pressure 0..1, default 0.5"
                }
              },
              "required": [
                "x",
                "y"
              ],
              "additionalProperties": false
            },
            "description": "one pen-down path"
          },
          "strokes": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "x": {
                    "type": "number"
                  },
                  "y": {
                    "type": "number"
                  },
                  "p": {
                    "type": "number",
                    "description": "pressure 0..1, default 0.5"
                  }
                },
                "required": [
                  "x",
                  "y"
                ],
                "additionalProperties": false
              },
              "description": "one pen-down path"
            }
          },
          "from": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "additionalProperties": false
          },
          "to": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "additionalProperties": false
          },
          "arrow": {
            "type": "boolean"
          },
          "center": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "additionalProperties": false
          },
          "radius": {
            "type": "number"
          },
          "start": {
            "type": "number"
          },
          "end": {
            "type": "number"
          },
          "shape": {
            "type": "string",
            "enum": [
              "rectangle",
              "triangle",
              "polygon"
            ]
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "w": {
            "type": "number"
          },
          "h": {
            "type": "number"
          },
          "rotation": {
            "type": "number"
          },
          "sides": {
            "type": "number"
          },
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "mark ids"
          },
          "region": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              },
              "w": {
                "type": "number"
              },
              "h": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y",
              "w",
              "h"
            ],
            "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
          },
          "regroup": {
            "type": "string"
          },
          "duplicate": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "description": "recipe name"
          },
          "args": {
            "type": "array",
            "description": "parameter values: {name, x, y} for a point, {name, value} for a number, {name, text} for text",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                },
                "value": {
                  "type": "number"
                },
                "text": {
                  "type": "string"
                }
              },
              "required": [
                "name"
              ],
              "additionalProperties": false
            }
          },
          "d": {
            "type": "string",
            "description": "path: SVG path data"
          },
          "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"
          },
          "action": {
            "type": "string",
            "enum": [
              "play",
              "pause",
              "seek",
              "set",
              "clear"
            ]
          },
          "duration": {
            "type": "number",
            "description": "seconds"
          },
          "fps": {
            "type": "number"
          },
          "loop": {
            "type": "boolean"
          },
          "onion": {
            "type": "boolean",
            "description": "tracing paper: previous frame faint while scrubbing"
          },
          "paper": {
            "type": "string",
            "enum": [
              "blank",
              "grid",
              "lined"
            ],
            "description": "for clear: the fresh sheet's paper"
          }
        },
        "required": [
          "tool"
        ],
        "additionalProperties": false
      }
    },
    "verify": {
      "type": "boolean",
      "description": "append a look to the result"
    }
  },
  "required": [
    "steps"
  ],
  "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