API & MCP
Everything a person can do on Game of Life & Cellular Automata Lab, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://prooflinecellularautomata.usefulweb.app/api/v1/calculate– run Game of Life & Cellular Automata LabGET https://prooflinecellularautomata.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Game of Life & Cellular Automata Lab
Run Conway’s Game of Life or any Life-like rule in B/S notation (HighLife, Day & Night, Seeds …) on an unbounded plane, a torus or a bounded grid. Start from classic patterns (glider, spaceship, pulsar, Gosper gun, R-pentomino, acorn), a seeded random soup, or paste a pattern in RLE or plaintext. The result shows the final generation, the population curve, whether the pattern is a still life, oscillator or spaceship (with period and speed) and the final pattern as RLE. The second mode draws Wolfram’s elementary rules 0–255 as a space-time diagram. Part of the Proofline math notebook.
| Field | Type | Default | Description |
|---|---|---|---|
mode | select (life, elementary) | "life" | Automaton |
preset | select (custom, random, glider, lwss, blinker, pulsar, gosper-gun, r-pentomino, acorn, diehard) | "glider" | Starting pattern (Life) |
pattern | textarea | — | Pattern (RLE or plaintext). RLE as used by Golly and LifeWiki (b dead, o alive, $ new row, ! end; a number repeats), or rows of . and O. Used with “My pattern”. |
rule | text | — | Rule (Life). Empty: the pattern’s own rule or Conway’s B3/S23. Examples: B36/S23 HighLife, B3678/S34678 Day & Night. |
boundary | select (unbounded, torus, bounded) | "unbounded" | World (Life) |
gridWidth | integer | 64 | Grid width (torus, bounded, random) |
gridHeight | integer | 48 | Grid height (torus, bounded, random) |
generations | integer | 100 | Generations (Life) |
density | number | 0.3 | Random density |
seed | integer | 1 | Random seed |
ruleNumber | integer | 30 | Rule number (elementary) |
cells | integer | 201 | Cells per row (elementary) |
steps | integer | 100 | Steps (elementary) |
start | select (single, random, custom) | "single" | First row (elementary) |
startRow | text | — | My first row (0 and 1) |
wrap | boolean | true | Row wraps around (elementary) |
Example request
Glider: a period-4 spaceship
curl -X POST https://prooflinecellularautomata.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{"preset":"glider","generations":40}'
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://prooflinecellularautomata.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
proofline_cellular_automata - Local stdio connector:
node src/mcp-stdio.ts --tool=proofline-cellular-automata
{
"mcpServers": {
"proofline-cellular-automata": { "type": "http", "url": "https://prooflinecellularautomata.usefulweb.app/mcp" }
}
}