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.
First model
Open a new Claude Code session (start fresh after running npx flatland-setup). Paste this prompt:
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.
First scenario
Scenarios let you compare assumptions without touching the base model. Paste this prompt:
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.
First sensitivity call
Sensitivity analysis tells you which inputs move your outputs the most. Paste this prompt:
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.
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
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.
Where to go next
Common next prompts to try in Claude Code:


