Occam finds the simplest equation consistent with your data.
checking…
Occam is an MCP server that discovers mathematical equations from numerical data. Give it measurements, get back governing equations — ranked by the tradeoff between simplicity and accuracy.
| Tool | Method | Speed | Best for |
|---|---|---|---|
| run_sindy | Sparse Identification of Nonlinear Dynamics | seconds | Differential equations from time series |
| run_pysr | Evolutionary symbolic regression | 10–60s | Algebraic relationships (Pareto front) |
SINDy — discover a dynamical system
Given time series of the Lorenz attractor, Occam recovers the governing equations:
dx/dt = -10.0 x + 10.0 y
dy/dt = 28.0 x - 1.0 y - 1.0 x z
dz/dt = -2.667 z + 1.0 x y
PySR — find an algebraic law
Given noisy observations of a physical relationship, Occam returns a Pareto front trading complexity against accuracy:
Complexity Loss Expression
1 3.41 1.4
3 0.92 sin(x) * y
5 0.003 sin(x) * y + 1.4
| Parameter | run_sindy | run_pysr |
|---|---|---|
| Max rows | 10,000 | 1,000 |
| Max variables / features | 20 | 10 |
| Wall clock timeout | 30s | 60s |
| Rate limit (per IP) | 10 requests / hour | |
| Rate limit (global) | 30 requests / hour | |
Connect any MCP client to the remote endpoint:
https://occam.fit/mcp/
Or in claude_desktop_config.json:
{
"mcpServers": {
"occam": {
"type": "streamable-http",
"url": "https://occam.fit/mcp/"
}
}
}
SINDy uses PySINDy to fit sparse linear combinations of candidate library functions to numerical derivatives. It runs in-process in Python and returns results in seconds.
PySR delegates to a pool of pre-warmed Julia workers running SymbolicRegression.jl v2. It evolves a population of candidate expressions and returns the Pareto-optimal set — every expression that is the best known at its complexity level.