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

After subscribing, you'll receive an API key by email (fl_live_…). 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+ must be installed. Claude Code or Cursor must be installed and 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%       Elasticity
  ─────────────────────  ──────────── ──────────── ──────────── ──────────
  price_per_seat         $94,080       $117,600     $141,120     1.00
  monthly_growth_rate    $94,080       $117,600     $141,120     1.00

Both inputs have equal elasticity on annual_revenue in a single-period model.
Add more 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 exposes its full engine over the MCP standard, so any MCP-compatible client can talk to it. Claude Code is the supported default — Cursor and the generic case below.

Endpoint:

URL: https://api.flatlandfi.com/mcp
Transport: HTTP (streamable)
Auth: X-API-Key: fl_live_YOUR_KEY_HERE
Discovery: /.well-known/oauth-protected-resource

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:

{
  "mcpServers": {
    "flatland": {
      "url": "https://api.flatlandfi.com/mcp",
      "headers": { "X-API-Key": "fl_live_YOUR_KEY_HERE" }
    }
  }
}

Other MCP clients: any tool that speaks the MCP standard accepts an HTTP server URL. Configure with server name flatland, the URL above, and the X-API-Key header. To smoke-test from a terminal:

$curl -s -X POST https://api.flatlandfi.com/mcp \
-H "Content-Type: application/json" \
-H "X-API-Key: fl_live_YOUR_KEY_HERE" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

A 401 means the header didn't reach the server — confirm it's X-API-Key (not Authorization) and the value still starts with fl_live_.

06

Pricing

Flatland has one plan:

Flatland $35 / month 14-DAY FREE TRIAL · CARD REQUIRED

Your 14-day trial starts the moment you subscribe. You won't be charged until the trial ends. Cancel any time from the Stripe billing portal — your API key expires immediately on cancellation. Your model JSON files stay on your disk and are yours to keep.

There's no free tier and no usage cap. Unlimited models, unlimited compiles, unlimited scenarios and sensitivity runs for the duration of your subscription.

07

Where to go next

API Reference Coming soon — email isaac@flatlandfi.com
Support Reply to your welcome email · isaac@flatlandfi.com

Common next prompts to try in Claude Code:

Load a model and run a new scenario Run model assertions — check pass/fail Compile and export to Excel Add headcount, CAC, payback period Compare upside vs. downside scenarios