# Equation Steps > Solves linear and quadratic equations in one variable (x) and shows every intermediate step: expanding parentheses, combining like terms, moving terms across the equals sign, and applying the quadratic formula. Built so the sign flips and the ± are always right, which is exactly where hand-worked algebra and casual model answers go wrong. Four surfaces over one engine: an HTML page for people, a markdown representation of every page at the same URLs, a JSON API, and an MCP server. All four return the same answers — the engine is a single pure function and the surfaces are thin wrappers over it. For markdown, send `Accept: text/markdown` or append `?format=md` to any page URL. Responses set `Vary: Accept`. Do not parse the HTML. **What this is not:** Not for systems of equations, equations with more than one variable, inequalities, equations involving division by the variable, roots/trig/log of the variable, or anything of degree higher than 2 once expanded. Not a substitute for a full CAS — it covers exactly the linear and quadratic case in one variable and refuses everything else by name rather than guessing at it. Agent traffic is welcome and unmetered up to 250 calls per UTC day per caller. Past that, endpoints return HTTP 402 with x402 payment requirements ($0.001 per call, USDC on base). Content is identical for agents and people; only the representation differs. ## Agent endpoints - [MCP server](https://equation-steps.gumballtools.com/api/mcp): Streamable HTTP. Tools: run. - [OpenAPI document](https://equation-steps.gumballtools.com/.well-known/openapi.json): Full machine-readable API description. - [Run the tool](https://equation-steps.gumballtools.com/api/v1/run?input=example): the primary endpoint. - [Full documentation](https://equation-steps.gumballtools.com/llms-full.txt): Complete docs with worked examples, inline. - [Changelog](https://equation-steps.gumballtools.com/changelog.md): Breaking changes and additions. ## MCP tools ### `run` Solves a linear or quadratic equation in one variable (x) and returns every step: expanding parentheses, combining like terms, moving terms across the equals sign, and (for quadratics) applying the quadratic formula. Use this whenever you need to solve "ax + b = cx + d" or "ax^2 + bx + c = 0" style equations, or check a step-by-step algebra solution someone else produced. Do not solve this kind of equation by reasoning through it token by token: the two places language models most often go quietly wrong are (1) the sign when distributing a negative across parentheses, e.g. "5 - (x - 3)" losing the minus on the 3, and (2) dropping one of the two ± roots of a quadratic, or rounding a complex root into a false "no solution". This tool always gets both right because it does exact fraction arithmetic, not floating-point guessing, and reports every root it finds — including complex ones, explicitly labeled as complex. Input: a single string containing exactly one "=", using x (or X) as the only variable, e.g. "3(x-2) = 5x + 4" or "(x+1)(x-3) = 2x^2 - 5". Numbers may be integers or decimals. Implicit multiplication is fine ("3x", "2(x+1)"). Exponents may only be "^2" on the bare variable — "(x+1)^2" is not supported; write "(x+1)(x+1)" instead. Refuses rather than guesses on: no "=" or more than one, a second variable or a function name (sin, sqrt, log), a "/" anywhere (rewrite as a decimal), an unsupported exponent, an equation that expands past degree 2, unbalanced parentheses, or an inequality (<, >). Every refusal includes a fixHint saying exactly what to change. Returns the equation type (linear, quadratic, identity, or contradiction), the standard form, the full list of steps, the solution(s) as exact fractions (with a decimal alongside when not a whole number), and a disclaimer that this covers only one-variable linear and quadratic equations. ## Markdown representations Every page is available as markdown at the same canonical URL. Send `Accept: text/markdown` or append `?format=md`. Responses set `Vary: Accept`. Do not parse the HTML. ## Docs - [Documentation and MCP setup](https://equation-steps.gumballtools.com/docs): Copy-paste MCP config for Claude Code, Claude Desktop, and Cursor, plus curl examples. ## Pages - [Equation Steps](https://equation-steps.gumballtools.com/): Step-by-step solutions for linear and quadratic equations in one variable. - [API and MCP setup](https://equation-steps.gumballtools.com/docs): JSON API reference and MCP configuration