MCP 서버

Equation.io

io.equation/equation
교육 과학 및 엔지니어링 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Creates, decodes, validates, and displays interactive 2D and 3D mathematical graphs with shareable links.

decode_graph_url
Read a graph link
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).
읽기 전용
입력 스키마
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'An equation.io graph URL.'}}}
출력 스키마
{'type': 'object', 'required': ['equations'], 'properties': {'equations': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
encode_graph_url
Create a graph link
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. 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 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.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['equations'], 'properties': {'equations': {'type': 'array', 'items': {'type': 'string'}, '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).'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['valid', 'url', 'share_url', 'preview', 'rows'], 'properties': {'url': {'type': 'string', 'description': 'Graph URL using a #-fragment.'}, 'rows': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['text', 'status', 'kind'], 'properties': {'kind': {'type': 'string'}, 'note': {'type': 'string'}, 'text': {'type': 'string'}, 'value': {'type': 'string'}, 'status': {'enum': ['ok'], 'type': 'string'}, 'animated': {'type': 'boolean'}, 'draggable': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['text', 'status', 'error'], 'properties': {'text': {'type': 'string'}, 'error': {'type': 'string'}, 'status': {'enum': ['error'], 'type': 'string'}}, 'additionalProperties': False}]}}, 'valid': {'type': 'boolean'}, 'preview': {'type': 'string', 'description': 'Static preview availability and limitations.'}, 'share_url': {'type': 'string', 'description': 'Shareable /g/ graph URL.'}, 'preview_omits': {'type': 'array', 'items': {'type': 'object', 'required': ['row', 'why'], 'properties': {'row': {'type': 'string'}, 'why': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
show_graph
Show an interactive graph
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.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['equations'], 'properties': {'equations': {'type': 'array', 'items': {'type': 'string'}, '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).'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['valid', 'url', 'share_url', 'rows'], 'properties': {'url': {'type': 'string', 'description': 'Graph URL using a #-fragment.'}, 'rows': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['text', 'status', 'kind'], 'properties': {'kind': {'type': 'string'}, 'note': {'type': 'string'}, 'text': {'type': 'string'}, 'value': {'type': 'string'}, 'status': {'enum': ['ok'], 'type': 'string'}, 'animated': {'type': 'boolean'}, 'draggable': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['text', 'status', 'error'], 'properties': {'text': {'type': 'string'}, 'error': {'type': 'string'}, 'status': {'enum': ['error'], 'type': 'string'}}, 'additionalProperties': False}]}}, 'valid': {'type': 'boolean'}, 'share_url': {'type': 'string', 'description': 'Shareable /g/ graph URL.'}}, 'additionalProperties': False}
변경됨
encode_graph_url
2026년 9월 29일 2:51 AM
변경됨
encode_graph_url
2026년 9월 25일 2:50 AM
변경됨
show_graph
2026년 9월 23일 2:42 AM
변경됨
show_graph
2026년 9월 21일 2:49 AM
변경됨
decode_graph_url
2026년 9월 21일 2:49 AM
변경됨
encode_graph_url
2026년 9월 21일 2:49 AM
추가됨
show_graph
2026년 9월 17일 12:40 PM
추가됨
decode_graph_url
2026년 9월 17일 12:40 PM
추가됨
encode_graph_url
2026년 9월 17일 12:40 PM