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

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.

Inputs of Game of Life & Cellular Automata Lab
FieldTypeDefaultDescription
modeselect (life, elementary)"life"Automaton
presetselect (custom, random, glider, lwss, blinker, pulsar, gosper-gun, r-pentomino, acorn, diehard)"glider"Starting pattern (Life)
patterntextarea—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”.
ruletext—Rule (Life). Empty: the pattern’s own rule or Conway’s B3/S23. Examples: B36/S23 HighLife, B3678/S34678 Day & Night.
boundaryselect (unbounded, torus, bounded)"unbounded"World (Life)
gridWidthinteger64Grid width (torus, bounded, random)
gridHeightinteger48Grid height (torus, bounded, random)
generationsinteger100Generations (Life)
densitynumber0.3Random density
seedinteger1Random seed
ruleNumberinteger30Rule number (elementary)
cellsinteger201Cells per row (elementary)
stepsinteger100Steps (elementary)
startselect (single, random, custom)"single"First row (elementary)
startRowtext—My first row (0 and 1)
wrapbooleantrueRow 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)

{
  "mcpServers": {
    "proofline-cellular-automata": { "type": "http", "url": "https://prooflinecellularautomata.usefulweb.app/mcp" }
  }
}