API & MCP
Everything a person can do on Mandelbrot & Julia Deep Zoom Renderer, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://prooflinefractal.usefulweb.app/api/v1/calculate– run Mandelbrot & Julia Deep Zoom RendererGET https://prooflinefractal.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Mandelbrot & Julia Deep Zoom Renderer
Render the Mandelbrot set or a Julia set as a PNG image at any centre and zoom. Shallow views iterate in double precision; deep zooms beyond what doubles can resolve use perturbation theory with an exact BigInt reference orbit and rebasing, so a view of width 1e-22 or 1e-100 renders correctly. Centre coordinates may have hundreds of digits. The result lists the zoom factor, the method, the share of pixels inside the set and the escape-iteration statistics. Part of the Proofline math notebook.
| Field | Type | Default | Description |
|---|---|---|---|
set | select (mandelbrot, julia) | "mandelbrot" | Fractal |
centerX | text | "-0.75" | Centre x (real part). A decimal number; deep zooms need as many digits as the zoom has zeros. For a Julia set, 0 centres the picture. |
centerY | text | "0" | Centre y (imaginary part) |
width | text | "3.5" | View width. Width of the view in the complex plane, e.g. 3.5 for the whole set or 1e-30 for a deep zoom (at least 1e-250). |
juliaRe | text | "-0.8" | Julia constant c, real part |
juliaIm | text | "0.156" | Julia constant c, imaginary part |
maxIterations | integer | 1000 | Maximum iterations. Deep zooms need more: roughly 2,000 at 1e-10, 20,000 at 1e-22. |
imageWidth | integer | 640 | Image width (pixels) |
imageHeight | integer | 480 | Image height (pixels) |
method | select (auto, direct, perturbation) | "auto" | Method |
palette | select (classic, fire, ice, grey) | "classic" | Colours |
colorDensity | number | 1 | Colour density |
Example request
The whole Mandelbrot set
curl -X POST https://prooflinefractal.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://prooflinefractal.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
proofline_fractal - Local stdio connector:
node src/mcp-stdio.ts --tool=proofline-fractal
{
"mcpServers": {
"proofline-fractal": { "type": "http", "url": "https://prooflinefractal.usefulweb.app/mcp" }
}
}