REAM working name

Your agent can't do math.

The spreadsheet built for agents. Ask it for a hiring plan, a burn model, runway three ways.

You've tried pointing it at a spreadsheet.

It reads B14 and has no idea that means March payroll. The meaning lives in labels printed for your eyes, not for a reader parsing text.

Your files still come along: our open reading format scored highest of the eleven tested, 26 to 53 percent fewer tokens than JSON, zero context overflows in 19,000 model calls. Method and runs.

Your model floods its context window.

Every cell arrives as tokens. The window fills before your agent finds the number you asked about.

Your questions have more dimensions than a sheet.

"What's our burn if we hire three engineers in October, in the downside case?" Team by month by scenario. For an agent, that should be one address.

the old way open the model, duplicate the tab, paste, fix the refs, hope

with your agent ask. six tool calls. every number carries its chain.

So we removed the grid.

payroll = headcount * salary

Written once. It fills itself.

Names, not coordinates.

12 months x 8 teams = 96 cells example

Add a dimension. The address grows. The formula doesn't.

Every number shows its work.

Ask why burn jumped in March and your agent traces the chain: which formula, which inputs, which write. Bad assumption? Undo it. The engine underneath is six years in the making and runs real company finances in production today.

A runway model in six tool calls.

  1. edit_tables · create runway_model [month, team, scenario]

    One call. No tabs, no ranges, no copied sheets.

  2. set_default · dry_run: burn = payroll + tooling

    A dry run writes nothing. Validation and warnings come back first.

  3. set_default · write: burn = payroll + tooling

    Committed. One formula, every cell.

  4. edit_scenarios · create: downside

    A scenario is a real object, not a copied file.

  5. edit_cells · hires[month=Oct, team=Eng] = 3

    Your question, written as an address.

  6. edit_history · undo

    Bad assumption? The write reverts, and the chain shows why.

tool names: real · trace: staged

Your agent is one line away.

You never thought in two dimensions anyway. Now your model doesn't either. Connect your agent, then ask for your runway model.

claude mcp add --transport http ream https://api.ream.dev/mcp ratify: endpoint
wiring pending

The questions we'd ask.

What is this, in one sentence?

A calculation engine with no UI: your agent connects over MCP and gets tools for tables, formulas, dimensions, scenarios, and undo, so every number it hands you was computed, not guessed.

Will it work with my agent?

It speaks MCP, the same protocol Claude Code, Cursor, Codex, and the rest already use. If your agent can call tools, it can model. One line: claude mcp add --transport http ream https://api.ream.dev/mcp ratify: endpoint

So the model does the math?

Never. The model decides what to build; the arithmetic runs in the engine, deterministically, the way it has for the real companies whose finances it runs in production today. Your agent doesn't get better at math. It stops doing math.

What about the spreadsheets I already have?

They come along. The reading format is open and MIT licensed, and in our benchmark it scored highest of the eleven formats tested, at 26 to 53 percent fewer tokens than JSON, with zero context overflows in 19,000 model calls. Method and raw runs are public.

Why should I trust a number it gives me?

Because you don't have to. Every number carries its chain: which formula, which inputs, which write. Ask, and the agent traces it. Wrong assumption? One undo call reverts it, and the changelog keeps the history.

What doesn't it do?

There's no human UI today; that's the point, the interface is tools. It doesn't execute macros. And right now a human signs in once to authorize the agent; self-serve keys are being wired. wiring pending

What does it cost?

Pricing isn't public yet. ratify: pricing

For agents.

If you are an agent, or you have one:

claude mcp add --transport http ream https://api.ream.dev/mcp

ratify: endpoint name

Works with any MCP client.

Your human signs in once; you do the rest.

This page as plain text: /llms.txt