Server definition
- Hash
- sha256:545cbc9531dc2977fa04eec79b838c705e814148f96c2b9f13924f3fcc9e7e9e
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "Graphing calculator whose entire state lives in the URL. show_graph displays an interactive graph in the conversation. encode_graph_url validates equations and creates a share link without displaying a widget. decode_graph_url decodes a link the user shares so you can edit their graph. Before writing non-trivial equations, read the \"syntax\" resource: the full language reference, also served at https://equation.io/llms.txt",
"tools": [
{
"description": "Decode an equation.io link (either the #-fragment form or the /g/ share form) into its list of equation rows, so you can edit them and build a new link with encode_graph_url. The rows use the equation.io syntax documented in the \"syntax\" MCP resource (also at https://equation.io/llms.txt).",
"inputSchema": {
"properties": {
"url": {
"description": "An equation.io graph URL.",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "decode_graph_url",
"outputSchema": {
"additionalProperties": false,
"properties": {
"equations": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"equations"
],
"type": "object"
}
},
{
"description": "Build an equation.io graph link, validating every row with the app's parser. Pass the COMPLETE graph in \"equations\": a flat array of strings, one equation or definition per string, in display order — when editing an existing graph (see decode_graph_url), include unchanged rows too.\n\nRows can be: equations and inequalities in x,y (curves, regions; z makes it 3D), bare expressions in x, y (scalar fields — a curve is written y = f(x); complex plots via w), points (rows report \"draggable\"), parametric tuples in u,v — and definitions: \"a = 2\" (a draggable slider), \"f(x) = x^3 - a x\", coordinate fields like \"r = sqrt(x^2+y^2)\" for polar. t animates. Also derivatives d/dx, integrals int[a..b] f dx, sums sum[n=1..N], domain()/conformal()/iter() for complex plots, rgb()/hsl()/oklch() color fields, y' = … slope fields, random variables \"X ~ Normal(m, s)\"/\"P(0<X<2)\"/\"E(X^2)\", and \"view(x = -5..5, y = -2..2)\"/\"camera(theta, phi)\" framing rows. That is a menu, not the syntax: before your first non-trivial graph, read the \"syntax\" MCP resource (also at https://equation.io/llms.txt).\n\nThe result returns text and structured data only. \"rows\" gives each equation's validation result: status \"ok\" with its kind, or \"error\" with the parser message. The link is usable only once every row is \"ok\". Give users the share_url (it unfurls to a preview card in chat apps); url is the equivalent #-fragment form. \"preview\" and \"preview_omits\" describe the share link's simplified static preview (t = 0, 3D as wireframes), which draws less than the interactive app. No image is attached to the tool response.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"equations": {
"description": "Every equation in the graph, in display order. One equation or definition per string — do not join rows with \";\" (inside quoted text a \";\" is data, and kept).",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"equations"
],
"type": "object"
},
"name": "encode_graph_url",
"outputSchema": {
"additionalProperties": false,
"properties": {
"preview": {
"description": "Static preview availability and limitations.",
"type": "string"
},
"preview_omits": {
"items": {
"additionalProperties": false,
"properties": {
"row": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"row",
"why"
],
"type": "object"
},
"type": "array"
},
"rows": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"animated": {
"type": "boolean"
},
"draggable": {
"type": "boolean"
},
"kind": {
"type": "string"
},
"note": {
"type": "string"
},
"status": {
"enum": [
"ok"
],
"type": "string"
},
"text": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"text",
"status",
"kind"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"error": {
"type": "string"
},
"status": {
"enum": [
"error"
],
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"text",
"status",
"error"
],
"type": "object"
}
]
},
"type": "array"
},
"share_url": {
"description": "Shareable /g/ graph URL.",
"type": "string"
},
"url": {
"description": "Graph URL using a #-fragment.",
"type": "string"
},
"valid": {
"type": "boolean"
}
},
"required": [
"valid",
"url",
"share_url",
"preview",
"rows"
],
"type": "object"
}
},
{
"description": "Display an interactive equation.io graph inside the conversation, with editable equations, sliders, pan/zoom, and 3D rotation. Use when the user asks to see or explore a graph. Pass the COMPLETE graph as \"equations\", one equation or definition per string, preserving unchanged rows when editing. For a slider use \"a = 2\" then \"y = a sin(x)\". For advanced syntax read the \"syntax\" resource (https://equation.io/llms.txt). Returns per-row validation and share links; a row with status \"error\" is not drawn until its text is corrected and the graph resubmitted. Use encode_graph_url for validation or link-only requests (including share-link preview notes). In clients without UI support, provide share_url.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"equations": {
"description": "Every equation in the graph, in display order. One equation or definition per string — do not join rows with \";\" (inside quoted text a \";\" is data, and kept).",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"equations"
],
"type": "object"
},
"name": "show_graph",
"outputSchema": {
"additionalProperties": false,
"properties": {
"rows": {
"items": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"animated": {
"type": "boolean"
},
"draggable": {
"type": "boolean"
},
"kind": {
"type": "string"
},
"note": {
"type": "string"
},
"status": {
"enum": [
"ok"
],
"type": "string"
},
"text": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"text",
"status",
"kind"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"error": {
"type": "string"
},
"status": {
"enum": [
"error"
],
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"text",
"status",
"error"
],
"type": "object"
}
]
},
"type": "array"
},
"share_url": {
"description": "Shareable /g/ graph URL.",
"type": "string"
},
"url": {
"description": "Graph URL using a #-fragment.",
"type": "string"
},
"valid": {
"type": "boolean"
}
},
"required": [
"valid",
"url",
"share_url",
"rows"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:545cbc9531dc2977fa04eec79b838c705e814148f96c2b9f13924f3fcc9e7e9e | sha256sum