compile_events · live
awaiting first compile…
Quickstart

Up and running
in 5 minutes.

Flatland is a financial modeling engine that plugs into AI tools. You describe a business to your AI agent, the agent calls Flatland's engine, and out comes a compiled financial model with live formulas. The user brings the AI; Flatland provides the financial brain.

01

Install

Grab a free key at /install — drop your email, no card (50 free answers to start). Your key (fl_live_…) arrives by email. Run one command to configure your AI tool:

$ npx flatland-setup fl_live_YOUR_KEY_HERE

What this does:

  • → Validates your API key against api.flatlandfi.com
  • → Detects Claude Code and/or Cursor on your machine
  • → Writes the MCP server config automatically; no manual file editing
  • → Runs a live end-to-end connection test

Expected output:

✓ API key validated
✓ MCP endpoint responding
✓ Claude Code configured
✓ Cursor configured
✓ Verified in Claude Code server list
✓ Live connection test passed

Ready. Open a new Claude Code session and try:
"Build me a 3-year P&L for a DTC coffee brand
 doing $40K/mo in revenue with 65% gross margins"

If you see errors, run npx flatland-setup --verify to diagnose.

Requirement · Node.js 18+ · Claude Code or Cursor accessible from your shell.
02

First model

Open a new Claude Code session (start fresh after running npx flatland-setup). Paste this prompt:

Starter prompt
Build me a simple SaaS revenue model with these five inputs: - price_per_seat: $49/month per seat - seats_sold: 200 seats at launch - monthly_growth_rate: 8% month-over-month - monthly_revenue: seats_sold × price_per_seat - annual_revenue: monthly_revenue × 12 Compile the model and show me the outputs.

Claude calls flatland_init(invisible to you), then builds and compiles. You'll see output like:

Model: saas_starter
Period: Month 1

  price_per_seat     $49.00
  seats_sold         200
  monthly_growth     8.00%
  monthly_revenue    $9,800.00
  annual_revenue     $117,600.00

Compilation complete. Model saved to ./flatland/models/saas_starter.json

The model JSON is saved locally at ./flatland/models/saas_starter.json. You own it; it stays on your disk.

03

First scenario

Scenarios let you compare assumptions without touching the base model. Paste this prompt:

Scenario prompt
Run a scenario called "high_growth" where monthly_growth_rate is 15% and seats_sold starts at 250. Show me the diff against the base model.

You'll see a side-by-side comparison:

Scenario: high_growth vs. base

  Driver           Base       High Growth  Delta
  ───────────────  ─────────  ───────────  ───────
  seats_sold       200        250          +50
  monthly_growth   8.00%      15.00%       +7.0pp
  monthly_revenue  $9,800     $12,250      +$2,450
  annual_revenue   $117,600   $147,000     +$29,400

Scenarios are sparse overlays: only the changed assumptions differ from the base model.

04

First sensitivity call

Sensitivity analysis tells you which inputs move your outputs the most. Paste this prompt:

Sensitivity prompt
Run a sensitivity analysis on annual_revenue. Perturb price_per_seat and monthly_growth_rate by ±20%. Show me the results ranked by impact.

You'll see a ranked table:

Sensitivity: annual_revenue

  Driver               -20%   Base   +20%   Elast.
  ───────────────────  ─────  ─────  ─────  ──────
  price_per_seat       $94K   $118K  $141K  1.00
  monthly_growth_rate  $94K   $118K  $141K  1.00

Both inputs have equal elasticity on
annual_revenue in a single-period model.
Add periods or a compounding formula to
see divergence.

To see divergence, ask Claude to extend the model to 12 months with compounding: growth-rate elasticity increases dramatically over time.

05

Cursor and other MCP clients

Flatland speaks the MCP standard over a local stdio bridge (flatland-client mcp) that holds your model on your own disk and routes compute to the hosted engine. Any MCP-compatible client can run it. Claude Code is the supported default; Cursor and the generic case are below.

Cursor (recommended): the same one-liner: flatland-setup detects Cursor and writes its config automatically.

$ npx flatland-setup fl_live_YOUR_KEY_HERE

After it finishes, restart Cursor and Flatland's tools appear in the chat. To verify by hand, the config file is at ~/.cursor/mcp.json (your key lives in ~/.flatland/config.json, not embedded here):

{
  "mcpServers": {
    "flatland": {
      "command": "npx",
      "args": ["-y", "flatland-client", "mcp"]
    }
  }
}

Other MCP clients: any tool that speaks the MCP standard accepts an stdio command. Configure with server name flatland, command npx -y flatland-client mcp, and FLATLAND_API_KEY in the env. To smoke-test that the bridge launches from a terminal:

$ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}' \
    | FLATLAND_API_KEY=fl_live_YOUR_KEY_HERE npx -y flatland-client mcp

A response whose serverInfo.name is flatland-client means the bridge is working. If it exits immediately, confirm your key is set and still starts with fl_live_.

If you don't use Claude Code or Cursor: the Flatland CLI is a standalone terminal agent scoped to financial modeling and quantitative reasoning. Bring your own LLM API key (Anthropic or OpenAI) — the engine and your API key work exactly the same.

$ npx flatland-agent
06

Pricing

Flatland is metered. 50 free answers to start, no card. Beyond that, $0.10 per answer with a default $50/month cap, self-serve up to $5,000/month.

An “answer” is one billable compile: flatland_compile, flatland_compile_scenario, or flatland_sensitivity (sensitivity counts as one regardless of fan-out).

Cancel anything by removing your payment method; your usage is then capped to the free tier. Your model JSON files stay on your disk; we don't store them.

Full detail at /pricing.

07

Where to go next

API ReferenceComing soon; email info@flatlandfi.com
SupportReply to your welcome email · info@flatlandfi.com

Common next prompts to try in Claude Code:

Load a model and run a new scenarioRun model assertions: check pass/failCompile and export to ExcelAdd headcount, CAC, payback periodCompare upside vs. downside scenarios
Flatland · index of everything
© 2026 Flatland · Financial Reasoning Infrastructure · live pulse · awaiting first compile