# Anslut en agent till Astrid

> OAuth eller API-nyckel, roller, planer, gränser och felkoder för Astrids MCP-server.
> Källa: https://astrid.so/utvecklare/anslut · Uppdaterad 2026-08-18

MCP-servern ligger på `https://astrid.so/api/mcp`. Den är statslös streamable
HTTP: varje `POST` bär ett JSON-RPC-meddelande och svarar med vanlig JSON.
`GET` och `DELETE` svarar `405`, det finns ingen SSE-ström och inga sessioner
att hålla reda på.

## Snabbaste vägen

Logga in i Astrid och gå till **Agenter → Anslut din assistent**. Guiden frågar
vilken plattform du kör (Claude, ChatGPT, Claude Code, Codex), skapar en riktig
nyckel och visar det färdiga kommandot med nyckeln redan ifylld.

Använd den vägen om du kan. Resten av sidan är för dig som bygger själv.

## Två sätt att autentisera

### OAuth 2.1 (för Claude, ChatGPT och andra fjärranslutningar)

Lägg till `https://astrid.so/api/mcp` som anpassad connector. Klienten sköter
resten: den upptäcker servern, registrerar sig själv, skickar användaren till en
samtyckessida och får en token.

| | |
|---|---|
| Discovery | `/.well-known/oauth-authorization-server` (RFC 8414), `/.well-known/oauth-protected-resource` (RFC 9728) |
| Registrering | `POST /api/oauth/register` (dynamisk klientregistrering) |
| Auktorisering | `/authorize` (samtyckessida) |
| Token | `POST /api/oauth/token` |
| PKCE | S256, obligatoriskt |
| Scopes | `mcp`, `offline_access` |
| Flöden | `authorization_code`, `refresh_token` |

Åtkomsttoken är bunden till resursen (`aud`). En token utfärdad för en annan
resurs avvisas här. Refresh-token roterar och återanvändning upptäcks och
återkallar kedjan.

### API-nyckel (för Claude Code, skript och SDK:er)

Skapa nyckeln under **Agenter** i appen. Formatet är
`astrid_sk_<id>_<hemlighet>` och hemligheten visas exakt en gång.

```bash
claude mcp add --transport http astrid https://astrid.so/api/mcp \
  --header "Authorization: Bearer $ASTRID_API_KEY"
```

Som `.mcp.json`:

```json
{
  "mcpServers": {
    "astrid": {
      "type": "http",
      "url": "https://astrid.so/api/mcp",
      "headers": { "Authorization": "Bearer ${ASTRID_API_KEY}" }
    }
  }
}
```

Samma nyckel fungerar mot [REST-API:et](/utvecklare/api).

Nyckeln slås upp i databasen vid varje anrop, så återkallning gäller omedelbart.
Lägg aldrig nyckeln i versionshanterad kod eller i en chatt.

## Roller

Rollen sätts när nyckeln skapas och styr vad agenten får göra.

| Roll | I appen | Får |
|---|---|---|
| `VIEWER` | Läsa | Alla läsverktyg |
| `MEMBER` | Föreslå | Läsverktyg plus `categorize_transactions`, `propose_verification`, `upload_receipt` |

En `VIEWER`-nyckel som anropar ett skrivverktyg får ett svenskt nekande, inte ett
undantag. Välj `VIEWER` när agenten bara ska analysera.

Ingen roll kan bokföra eller godkänna. Det gäller även `OWNER`-ägda nycklar. Se
[Doktrin](/utvecklare/doktrin).

## Plan

Agentanslutning ingår i **Astrid Go** (599 kr/mån) och **Astrid Pro**
(999 kr/mån). På **Astrid Bas** är Agenter-sidan synlig men anslutning avvisas.

Kontrollen sker vid varje anrop, inte bara när nyckeln skapas: går en
organisation ner till Bas slutar en befintlig nyckel fungera samma dag, och
börjar fungera igen vid uppgradering. Nyckeln raderas inte.

## Gränser

| Gräns | Värde | Gäller |
|---|---|---|
| Anrop per timme | 600 | Varje JSON-RPC-meddelande, även `initialize` och `tools/list` |
| AI-anrop per timme | 20 | `categorize_transactions` och `upload_receipt` |
| Begärans storlek | 256 KB | Alla anrop |
| Begärans storlek | 15 MB | Endast `tools/call` för `upload_receipt` |
| Filstorlek | 10 MB | Uppladdat underlag, avkodat |

Gränserna räknas per nyckel och timme. Vid `429`: rapportera hur långt du kom
och stanna. Försök inte kringgå gränsen genom att dela upp anropen.

## Felkoder

| Kod | Betyder | Gör så här |
|---|---|---|
| `401` | Saknad, ogiltig, återkallad eller utgången token, eller plan utan agentåtkomst | Kontrollera nyckeln, och att organisationen har Go eller Pro |
| `403` | Otillåten `Origin` | Skicka ingen `Origin`-header från en icke-webbläsarklient |
| `405` | `GET` eller `DELETE` mot MCP-endpointen | Använd `POST` |
| `413` | För stor begäran | Se storleksgränserna ovan |
| `429` | Timgränsen nådd | Rapportera och stanna |

Verktygsfel returneras som ett MCP-verktygsfel med ett svenskt meddelande, inte
som en HTTP-statuskod. Interna felmeddelanden lämnar aldrig servern: du får
`Något gick fel. Försök igen senare.` och detaljerna loggas hos oss.

## Kontrollera anslutningen

```bash
curl -s https://astrid.so/api/mcp \
  -H "Authorization: Bearer $ASTRID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

Får du verktygslistan är du inne. Får du `401`: fel nyckel eller fel plan.

## Vad användaren ser

Under **Agenter** i appen ser användaren varje aktiv nyckel och OAuth-anslutning,
när den senast användes, och de senaste anropen dina agenter gjort. Anslutningen
kan återkallas där, direkt.
