mathburst.fireheartjerry.chatgpt.site
A live mathematical canvas for reasoning, visualization, and WebMCP-native tutoring.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 9 · Act 37 · Transact 2 · Score: Not yet scored
Tool inspector
draw_ink
Draw one ink object as pen or highlighter. Give exactly one of: strokes (arrays of world {x,y} points), parametric ({x, y} LaTeX in t, t0, t1), or piecewise ([{latex f(x), from, to}]) sampled in world px. Use for underlines, circling and sketched curves; use graph_expression for a live plot. Returns bounds and stroke count.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
mode |
string | no | "pen" (default): thin graphite, width 3. "highlighter": wide translucent violet, width 18. |
color |
string | no | CSS color. Default "#171713" for pen, "#7c5cff" for highlighter. |
width |
number | no | Stroke width in world px, 0..60. Default by mode. |
strokes |
array | no | Up to 64 strokes of world px points, e.g. [[{x: 100, y: 200}, {x: 300, y: 200}]]. |
parametric |
object | no | A parametric curve (x(t), y(t)) in world px. |
piecewise |
array | no | Pieces of y = f(x) in world px; undefined points split the stroke. |
construct |
boolean | no | true: create it unbuilt (drawProgress 0), then animate drawProgress 0 to 1 on a timeline to build it on screen. Ink draws stroke by stroke. |
Raw JSON schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"pen",
"highlighter"
],
"description": "\"pen\" (default): thin graphite, width 3. \"highlighter\": wide translucent violet, width 18."
},
"color": {
"type": "string",
"description": "CSS color. Default \"#171713\" for pen, \"#7c5cff\" for highlighter."
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 60,
"description": "Stroke width in world px, 0..60. Default by mode."
},
"strokes": {
"type": "array",
"minItems": 1,
"maxItems": 64,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"description": "A point {x, y} in world px (canvas units, y grows downward).",
"properties": {
"x": {
"type": "number",
"description": "Horizontal position in world px."
},
"y": {
"type": "number",
"description": "Vertical position in world px; larger is lower."
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"description": "One stroke: ordered world points."
},
"description": "Up to 64 strokes of world px points, e.g. [[{x: 100, y: 200}, {x: 300, y: 200}]]."
},
"parametric": {
"type": "object",
"properties": {
"x": {
"type": "string",
"description": "LaTeX for x(t) in world px, e.g. \"200+80\\\\cos(t)\"."
},
"y": {
"type": "string",
"description": "LaTeX for y(t) in world px, e.g. \"300+80\\\\sin(t)\"."
},
"t0": {
"type": "number",
"description": "Start of the parameter range, e.g. 0."
},
"t1": {
"type": "number",
"description": "End of the parameter range (> t0), e.g. 6.283."
},
"samples": {
"type": "integer",
"minimum": 2,
"maximum": 400,
"description": "Sample count 2..400. Default 120."
}
},
"required": [
"x",
"y",
"t0",
"t1"
],
"additionalProperties": false,
"description": "A parametric curve (x(t), y(t)) in world px."
},
"piecewise": {
"type": "array",
"minItems": 1,
"maxItems": 32,
"description": "Pieces of y = f(x) in world px; undefined points split the stroke.",
"items": {
"type": "object",
"properties": {
"latex": {
"type": "string",
"description": "LaTeX for y(x) in world px, e.g. \"300-0.01(x-400)^2\"."
},
"from": {
"type": "number",
"description": "Start x in world px."
},
"to": {
"type": "number",
"description": "End x in world px (> from)."
},
"samples": {
"type": "integer",
"minimum": 2,
"maximum": 400,
"description": "Sample count 2..400. Default 80."
}
},
"required": [
"latex",
"from",
"to"
],
"additionalProperties": false,
"description": "One piece {latex, from, to, samples?}."
}
},
"construct": {
"type": "boolean",
"description": "true: create it unbuilt (drawProgress 0), then animate drawProgress 0 to 1 on a timeline to build it on screen. Ink draws stroke by stroke."
}
},
"additionalProperties": false,
"examples": [
{
"mode": "highlighter",
"strokes": [
[
{
"x": 120,
"y": 210
},
{
"x": 380,
"y": 212
}
]
]
},
{
"strokes": [
[
{
"x": 100,
"y": 100
},
{
"x": 140,
"y": 160
},
{
"x": 180,
"y": 100
}
]
],
"color": "#c0392b"
},
{
"parametric": {
"x": "400+60\\cos(t)",
"y": "300+60\\sin(t)",
"t0": 0,
"t1": 6.2832
}
}
]
}
Similar websites
pocketgull.app
Pocket Gull is a real-time clinical AI consult engine powered by Google Gemini. Features 10D multi-paradigm strategy, FHIR R4 export & 3D spatial anatomy.
webmcp-six-lac.vercel.app
AI Navigation Layer: Model Context Protocol (MCP) Semantic DOM integration for intelligent, safe, and observable web navigation.
ghqsandbox.net
Interactive math and physics tools an AI agent can drive directly through WebMCP.
app.formative.com
Formative classroom assessment and learning platform