Equation.io
io.equation/equationVersion 1.0.1Create interactive 2D and 3D graphs with validated equations, shareable links, and PNG previews.
Status
Responds190 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:34 UTC
- Latency
- 190 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://equation.io/mcpResponds190 msNo sign-in
Claude Code
claude mcp add --transport http equation https://equation.io/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: equation
Remote MCP server URL: https://equation.io/mcpCursor
{
"mcpServers": {
"equation": {
"url": "https://equation.io/mcp"
}
}
}VS Code
code --add-mcp '{"name":"equation","type":"http","url":"https://equation.io/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
3 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
decode_graph_urlDecode 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). | No | Yes | Yes | No |
encode_graph_urlBuild 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.
Rows 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).
The 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 link card in chat apps); url is the equivalent #-fragment form. No image is attached to the tool response. | No | Yes | Yes | No |
show_graphDisplay 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. | No | Yes | Yes | No |
Details
- Registry status
- Active
- Published
- Oct 2, 2026
- Updated
- Oct 2, 2026
- Categories (suggested)
- Design and mediaSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared