# Start here

This server fronts Norwegian public registers and business systems through a
**searchable catalog**. There is no tool per API — five tools, ~100 operations
behind them, and the operation list grows without your tool list changing.

## The loop

```
norsk_resolve   free text  -> canonical identifier   (start here if you have a name)
norsk_search    intent     -> operation ids          (start here otherwise)
norsk_describe  id         -> full schema            (optional)
norsk_call      id+params  -> shaped data
```

`norsk_describe` is genuinely optional. `norsk_call` returns the parameter
schema inside its error when you get something wrong, so guessing and
correcting is usually cheaper than describing first.

## One worked example, end to end

**"Who is on the board of Rema 1000, and what was their revenue last year?"**

```
norsk_resolve(text="Rema 1000")                          -> orgnr 883409442
norsk_call(id="brreg.roller.get",   params={orgnr:"883409442"})
norsk_call(id="brreg.regnskap.get", params={orgnr:"883409442"}, limit=3)
```

Three calls, about 1 200 tokens including tool schemas. That is the shape to
aim for.

## Other guides

Read these with `norsk_guide(name="...")`. Each is self-contained.

| Guide | Read it when |
|---|---|
| `selskap` | Researching a company: ownership, board, branches, financials |
| `regnskap` | Reading Norwegian annual accounts and comparing years |
| `eiendom` | Addresses, coordinates, properties, municipalities |
| `statistikk` | Anything from SSB, exchange rates, or weather |
| `identifikatorer` | You hit an id you don't recognise (orgnr, gnr/bnr, kommunenummer) |
| `kostnad` | Your responses are coming back truncated, or you want fewer tokens |
| `feilsoking` | A call failed and the error wasn't obvious |
| `regnskapssystem` | Accounting systems — Tripletex, Fiken, Visma — and mock data |

## The two rules that matter most

**Always pass `limit`.** The default is 10. Anything higher needs a reason.

**Never present mocked data as real.** If `meta.source` starts with `mock:`,
those are fixture numbers. Say so explicitly.

## What this cannot do

No personal ID numbers (fødselsnummer), no credit scores, no beneficial-ownership
chains, no writes of any kind. If a question falls outside the catalog, say so —
`norsk_search` returning nothing useful is a real answer, not a reason to invent
an operation id.
