# MCP-verktyg: fullständig referens

> Alla sexton verktyg i Astrids MCP-server med parametrar, returvärden och behörighet.
> Källa: https://astrid.so/utvecklare/verktyg · Uppdaterad 2026-08-21

Sexton verktyg: tretton som läser, tre som föreslår. Inget som bokför.

Alla datum är `ÅÅÅÅ-MM-DD`. Alla belopp är SEK. Allt är automatiskt begränsat
till den organisation nyckeln tillhör, så du behöver aldrig skicka ett org-id.

## Läsverktyg

Fungerar med både `VIEWER`- och `MEMBER`-nyckel.

### `get_bookkeeping_status`

Läget i ett svep. **Gör det här anropet först.**

Parametrar: inga.

Returnerar: `todoTransactions` (banktransaktioner kvar att bokföra),
`pendingReview` (förslag som väntar på en människa),
`receiptsAwaitingInterpretation`, `currentFiscalYear`
(`startDate`, `endDate`, `isClosed`), `lastBookedAt` och `nextDeadlines`
(kommande deadlines med datum, titel och kategori).

### `get_overview`

Ekonomiskt nuläge: likviditet, momsskuld, kommande betalningar och
räkenskapsårets resultat. Samma underlag som Översikt i appen.

Parametrar: inga.

### `get_moms_report`

Momsdeklarationens rutor (SKV 4700) för en period.

| Parameter | Typ | Krav |
|---|---|---|
| `from` | `ÅÅÅÅ-MM-DD` | Ja |
| `to` | `ÅÅÅÅ-MM-DD` | Ja |

Perioden ska matcha organisationens momsperiod. Den finns i
`get_radgivning`. Skicka inte ett godtyckligt intervall och kalla resultatet en
deklaration.

### `get_genomgang`

Astrids deterministiska genomgång av bokföringen: betyg A till D, poäng 0 till
100, tio kontroller och regelefterlevnad för innevarande räkenskapsår.

Parametrar: inga.

Det AI-skrivna narrativet ingår inte över MCP. Du får kontrollerna och
resultatet, alltså de delar som är reproducerbara.

### `get_radgivning`

Deadline-radar och deterministisk CFO-analys: kommande deadlines, 3:12,
preliminärskatt och kontrollbalans. Inga AI-anrop.

Parametrar: inga.

### `list_todo_transactions`

Den riktiga att-bokföra-kön. Avstämda rader är dolda, och rader som redan har ett
förslag i granskningskön är flaggade med `pendingReview`.

| Parameter | Typ | Krav |
|---|---|---|
| `limit` | heltal 1 till 200 | Nej |

Använd den här, inte den råa transaktionslistan i REST-API:et, när du vill veta
vad som faktiskt återstår.

### `list_review_items`

Granskningskön: Astrids och dina förslag som väntar på ett mänskligt beslut.

| Parameter | Typ | Krav |
|---|---|---|
| `status` | `PENDING`, `APPROVED`, `REJECTED`, `MODIFIED` | Nej, standard `PENDING` |

`MODIFIED` är värdefull: det är förslag människan ändrade innan hen godkände.
Det är den bästa signalen på hur den här organisationen vill ha det konterat.

### `list_journal_entries`

Bokförda verifikationer, paginerat.

| Parameter | Typ | Krav |
|---|---|---|
| `series` | sträng, 1 till 10 tecken | Nej |
| `from` | `ÅÅÅÅ-MM-DD` | Nej |
| `to` | `ÅÅÅÅ-MM-DD` | Nej |
| `page` | heltal från 1 | Nej |
| `limit` | heltal 1 till 200 | Nej |

Det här är din prejudikatkälla. Innan du föreslår en kontering: sök upp hur
samma leverantör konterats tidigare.

### `get_journal_entry`

En verifikation med alla rader (konto och kontonamn), kostnadsställen och
underlag.

| Parameter | Typ | Krav |
|---|---|---|
| `id` | sträng från `list_journal_entries` | Ja |

### `list_invoices`

Kund- och leverantörsfakturor, paginerat, sorterat på fakturadatum fallande.

| Parameter | Typ | Krav |
|---|---|---|
| `type` | `CUSTOMER` eller `SUPPLIER` | Nej |
| `status` | `PENDING`, `BOOKED` eller `CANCELLED` | Nej |
| `q` | fritext mot fakturanummer, kundnamn och leverantörsnamn, max 100 tecken | Nej |
| `page` | heltal från 1 | Nej |
| `limit` | heltal 1 till 100 | Nej |

`q` matchar delsträngar och inte exakta värden. Astrids egna fakturanummer är
rena heltal, så en sökning på 43 träffar även 143 och 430. Kontrollera fältet
`number` i svaret innan du påstår att du hittat en bestämd faktura.

Läs `status` rätt: det är ett bokföringsläge, inte ett betalningsläge. Astrid
registrerar aldrig att en faktura är betald. `PENDING` betyder obokförd och
`BOOKED` betyder bokförd. Inget av dem säger något om huruvida pengarna har
kommit in. Frågar användaren vad som är betalt, så avgörs det mot banken och
inte mot det här fältet.

Statusvärdena `PAID`, `OVERDUE` och `MATCHED` finns i databasmodellen men sätts
aldrig av någon kodväg, så de går inte att filtrera på.

`dueDate` finns på varje faktura, men går varken att filtrera eller sortera på.
Vill du veta vad som förfaller: hämta och jämför själv mot dagens datum.

Fälten `pdfUrl` och `sentToEmail` ingår inte i svaret. Det första är en intern
lagringsadress du ändå inte kan öppna, det andra är en motparts personuppgift.

### `get_invoice`

En faktura med alla rader (beskrivning, antal, à-pris exklusive moms och
momssats).

| Parameter | Typ | Krav |
|---|---|---|
| `id` | sträng från `list_invoices` | Ja |

### `list_receipts`

Kvitton med härledd status: bokförd, matchad, väntar på granskning, tolkas eller
arkiverad.

| Parameter | Typ | Krav |
|---|---|---|
| `limit` | heltal 1 till 200 | Nej |

### `list_missing_underlag`

Bokförda utbetalningar som saknar kvitto eller faktura. Grunden för kvittojakt.

| Parameter | Typ | Krav |
|---|---|---|
| `from` | `ÅÅÅÅ-MM-DD` | Nej |
| `to` | `ÅÅÅÅ-MM-DD` | Nej |
| `limit` | heltal 1 till 200 | Nej |

Varje rad har `transactionId`, `date`, `description`, `amount` (negativt) och
`vendor`. Kända leverantörer (Google, Adobe, OpenAI med flera) har en `vendor`
med `portalUrl`, `steps` och `agentPlaybook`: instruktioner för att hämta
dokumentet i **användarens egen inloggade webbläsare**.

Följ playbooken exakt. Endast fakturerings- och kvittosidor. Aldrig
kontoinställningar, aldrig inloggningsuppgifter, ändra ingenting.

## Förslagsverktyg

Kräver `MEMBER`-nyckel. En `VIEWER`-nyckel får ett svenskt nekande.

Inget av dem bokför. Alla tre landar i granskningskön.

### `categorize_transactions`

Låter Astrids egen kategoriserare föreslå kontering för obokförda
banktransaktioner. Skapar förslag i granskningskön.

| Parameter | Typ | Krav |
|---|---|---|
| `transactionIds` | lista med strängar, högst 100 | Nej, utan den tas de nyaste obokförda |

Kostar AI-anrop: räknas mot 20 per timme. Ett anrop per transaktion.

Auto-bokföring är hårdkodat avstängd på den här vägen. Även om organisationen
skulle ha den påslagen kan en agentutlöst kategorisering aldrig bokföra.

### `propose_verification`

Föreslå en hel verifikation. Landar i Granska märkt "Förslag från agent" med
nyckelns namn.

| Parameter | Typ | Krav |
|---|---|---|
| `date` | `ÅÅÅÅ-MM-DD`, måste vara ett verkligt datum | Ja |
| `description` | sträng, högst 200 tecken | Ja |
| `lines` | minst två rader | Ja |
| `reasoning` | sträng, högst 1000 tecken | Nej, men använd den |

Varje rad i `lines`:

| Fält | Typ | Krav |
|---|---|---|
| `account` | exakt fyra siffror, ett BAS-konto | Ja |
| `debit` | belopp | Ja |
| `credit` | belopp | Ja |
| `description` | sträng, högst 200 tecken | Nej |
| `costCenter` | kod för kostnadsställe | Nej |

Debet måste vara lika med kredit. Balanskontrollen görs innan förslaget skapas,
så en obalanserad verifikation avvisas direkt.

`reasoning` är din chans att vara ärlig. Skriv vad du grundade konteringen på och
vad du är osäker på. Människan läser den innan hen godkänner.

Svar: `reviewItemId`, `status: "PENDING"` och en påminnelse om att en människa
måste godkänna. Rapportera det ordagrant till användaren.

### `upload_receipt`

Ladda upp ett kvitto eller en faktura till organisationens arkiv.

| Parameter | Typ | Krav |
|---|---|---|
| `fileName` | sträng, högst 200 tecken | Ja |
| `mediaType` | `application/pdf`, `image/jpeg`, `image/png`, `image/webp`, `image/gif` | Ja |
| `dataBase64` | filen som base64, högst 10 MB avkodat | Ja |
| `transactionId` | från `list_missing_underlag` | Nej, men använd den |
| `userNote` | sträng, högst 500 tecken | Nej |

Med `transactionId` kopplas dokumentet direkt som underlag till rätt
transaktion. Utan den arkiveras det och människan får matcha manuellt. Skicka
alltid `transactionId` när du vet vilken transaktion dokumentet hör till.

Originalet arkiveras alltid innan det tolkas, enligt Bokföringslagen. Identiskt
innehåll utan `transactionId` är en idempotent no-op.

Kostar AI-anrop (avläsning med vision): räknas mot 20 per timme.

Fyra utfall: `attached` (arkiverat och kopplat), `archived` (arkiverat, ingen
transaktion angavs), `duplicate` (fanns redan) och fel om transaktionen inte
finns i organisationen.

## Färdiga recept

Servern registrerar också fyra prompter som din klient kan visa som färdiga
åtgärder: `manadskoll`, `kvittojakt`, `momskoll` och `foreslakontering`. De är
beskrivna i [Arbetsflöden](/utvecklare/arbetsfloden).
