# Read a Startup

URL: /code/mcp/guides/read-a-startup · Id: `page:code/mcp/guides/read-a-startup`

> Judge any Startup from its records: its Lifecycle state, the checks before its next state, its Metrics, its Decisions, and how it stood at launch.

A [Startup](/business/nouns/startup) is its records, so you judge it by reading them, not a deck. Five reads return its [Lifecycle](/business/nouns/lifecycle) state, its next checks, its [Metrics](/business/nouns/metric), its [Decisions](/business/nouns/decision), and its record at launch.

## Prerequisites
- A key that reads the Startup: one its owner grants, or a [Studio](/business/nouns/studio) key that reaches its [Portfolio](/business/nouns/portfolio).
- The CLI, `npx startup-builder`. Every read below is also a `GET` on [api.sb](/code/platform/api-sb).

The examples read `permitfeed.dev`, which sells building-permit records to contractors by the call.

## Steps
1. To read the Startup, show its root:

   ```bash
   npx startup-builder show / --fields 'name,domain,launchedAt'
   ```

   ```json
   { "name": "Permitfeed", "domain": "permitfeed.dev", "launchedAt": "2026-09-01T14:02:11Z" }
   ```

   A launched Startup is Live. Its state is derived from checks, never set by hand.

2. To see what stands between it and the next state, preview [advance](/business/nouns/startup/advance):

   ```bash
   npx startup-builder do Startup.advance --json '{"startup":"startup_1"}' --try
   ```

   ```text
   Refused: 2 of 11 Repeatable checks fail
     pass  Ten outside Customers from Plays  14 in the last 30 days
     fail  Customers stay                    31% still pay at month 3; needs 40%
     fail  Runs without its founder          9 human hours per $1k; needs 5 or fewer
   ```

3. To read its numbers, list its Metrics:

   ```bash
   npx startup-builder show /metrics --fields '$id,query,unit'
   ```

   Each value is computed from [Events](/business/nouns/event) by the Metric's query. Nobody types it.

4. To read why it changed, list its Decisions:

   ```bash
   npx startup-builder show /decisions --fields 'choice,reason,stakes'
   ```

   Each Decision records the choice, the reason and its stakes. Its [Action](/business/nouns/action) records who made it, and the [Changes](/business/nouns/change) it caused.

5. To see the Startup as it stood at launch, add `@launch` to the namespace:

**API**

   ```bash
   curl "https://api.sb/permitfeed.dev@launch/offers" \
     -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
   ```

**CLI**

   ```bash
   npx startup-builder show @launch/offers
   ```

   `@launch` reads the record at the moment the Startup went Live. `@v3` reads a [Version](/business/nouns/version), and `@2026-09-15` reads a date. Nothing is deleted, so every past state stays readable.

## Result
You hold the Startup's state, the checks before its next state, its numbers, the reason behind each choice, and its record at launch. Every figure comes from Events, so two readers get the same answer.

## Next steps
- [Lifecycle states](/business/lifecycle/states): every state and its entry checks.
- [Decision](/business/nouns/decision): every field a Decision records.
- [Live](/business/lifecycle/states/live): the checks every Startup passed to launch.