accounted
← Registry

MCP-server

accounted MCP-server

MCP-server för svensk dubbel bokföring. Över 150 verktyg över bokföring, fakturor, leverantörer, moms, lön och rapporter. OAuth 2.1 med PKCE och dynamisk klientregistrering. Installeras som connector i Claude.ai, Claude Desktop, ChatGPT och Grok, och i Claude Code och Cursor.

MCP-serverLiveSkriver till huvudboken
Byggt avaccounted· TeamSenast uppdaterad: 27 september 2026v1.1.0

TL;DRMCP-server för svensk dubbel bokföring. Över 150 verktyg över bokföring, fakturor, leverantörer, moms, lön och rapporter. OAuth 2.1 med PKCE och dynamisk klientregistrering. Installeras som connector i Claude.ai, Claude Desktop, ChatGPT och Grok, och i Claude Code och Cursor.

Servern i korthet

Servern exponerar över 150 verktyg som en MCP-klient kan kalla. De grupperas ungefär så här:

OmrådeExempel-verktygServer-side scope
Transaktionergnubok_list_uncategorized_transactions, gnubok_categorize_transaction, gnubok_match_transaction_to_invoicetransactions:read / :write
Fakturorgnubok_create_invoice, gnubok_send_invoice, gnubok_credit_invoiceinvoices:write
Leverantörergnubok_list_suppliers, gnubok_create_supplier_invoice_from_inbox, gnubok_approve_supplier_invoicesuppliers:read / :write
Rapportergnubok_get_trial_balance, gnubok_get_balance_sheet, gnubok_get_income_statement, gnubok_get_vat_report, gnubok_vat_close_check, gnubok_get_kpi_reportreports:read
Bokslutgnubok_year_end_readiness (read), gnubok_run_year_end, gnubok_close_period, gnubok_explain_voucher_gapreports:read / bookkeeping:write
Löngnubok_create_salary_run, gnubok_calculate_salary_run, gnubok_book_salary_run, gnubok_generate_agipayroll:read / :write
Skatteverketgnubok_vat_declaration_submit, gnubok_agi_submitskatteverket:write
Godkännandegnubok_list_pending_operations, gnubok_approve_pending_operationpending_operations:read / :approve
Auditgnubok_audit_package, gnubok_export_sie, gnubok_query_journalreports:read

Skrivverktygen stagar en pending_operation med förhandsvisning. Inget bokförs förrän den godkänts, i appen under Granskning eller i chatten efter ditt uttryckliga ja. Inlämningar till Skatteverket är dessutom klara först när du signerat med BankID.

Behörigheterna sitter på anslutningen: de du lämnar ikryssade på samtyckessidan, med din roll i bolaget som tak. Anslutningen når alla bolag där din användare är medlem. gnubok_list_companies listar dem, och company_id på ett anrop väljer bolag; utan det gäller anslutningens standardbolag.

Verktygen heter gnubok_* som standard. Med tool_namespace=accounted i adressen heter de accounted_*, vilket Claude Code-pluginet och produktens egen guide använder. Det är samma verktyg.

Installera i Claude.ai eller Claude Desktop

  1. Inställningar → Connectors → Add custom connector.
  2. Ange URL: https://app.accounted.se/api/extensions/ext/mcp-server/mcp?auth=required (utan auth=required föreslår dialogen "None" som autentisering och inloggningen öppnas aldrig).
  3. Claude öppnar accounted-inloggningen i webbläsaren. Logga in och godkänn anslutningen.
  4. Connectorn dyker upp i listan. Slå på den i de chattar där du vill ha den aktiv.

Installera i ChatGPT

  1. I ChatGPT på webben: Inställningar → Säkerhet och inloggning → slå på Utvecklarläge.
  2. Gå till Plugins, välj + och skapa en app i utvecklarläge med adressen https://app.accounted.se/api/extensions/ext/mcp-server/mcp.
  3. Starta en ny chatt, välj + → Utvecklarläge → appen, och logga in när ChatGPT frågar.

Installera i Grok

  1. På grok.com: Connectors → New Connector → Custom.
  2. Ange URL: https://app.accounted.se/api/extensions/ext/mcp-server/mcp?auth=required (utan auth=required ser Grok servern som öppen och startar aldrig inloggningen).
  3. Grok registrerar sig själv och öppnar accounted-inloggningen. Logga in och godkänn anslutningen.
  4. Starta en ny chatt med connectorn påslagen.

Installera i Claude Code

Det officiella pluginet ger både anslutningen och sju arbetsflöden (bokföring, hälsokoll, månadsavslut, moms, lön, bokslut):

/plugin marketplace add erp-mafia/accounted
/plugin install accounted@accounted

Bara anslutningen:

claude mcp add --transport http accounted "https://app.accounted.se/api/extensions/ext/mcp-server/mcp"

Logga sedan in via /mcp.

Installera i Cursor

~/.cursor/mcp.json (globalt) eller .cursor/mcp.json (per projekt):

{
  "mcpServers": {
    "accounted": {
      "url": "https://app.accounted.se/api/extensions/ext/mcp-server/mcp"
    }
  }
}

Logga in i webbläsaren när Cursor ber om det.

Stdio-brygga med API-nyckel

För klienter som bara stödjer stdio (vissa egna agentmiljöer, CI-pipelines) finns en lokal brygga via npm. Nya installationer använder accounted-mcp:

{
  "mcpServers": {
    "accounted": {
      "command": "npx",
      "args": ["-y", "accounted-mcp"],
      "env": {
        "ACCOUNTED_API_KEY": "gnubok_sk_..."
      }
    }
  }
}

Befintliga konfigurationer med gnubok-mcp och GNUBOK_API_KEY fungerar oförändrade.

API-nyckeln skapas i app.accounted.se under Inställningar → API och MCP. Nyckelvärdet börjar fortfarande med gnubok_sk_. Du väljer scopes per nyckel och område (transaktioner, kunder, artiklar, fakturor, leverantörer, rapporter, bokföring, löner, dokument, avstämning, Skatteverket, godkännande med flera), och nyckelns scopes styr vilka verktyg som går att anropa. En gnubok_sk_test_*-nyckel läser bolagets riktiga data men tvingar varje skrivning till dry-run.

Lämpligt när maskinen som kör agenten inte kan öppna en webbläsare.

Audit och behandlingshistorik

För revision och BFL-spårbarhet använder du gnubok_audit_package({ fiscal_period_id }). Den producerar en zip för räkenskapsåret med:

  • SIE 4-fil
  • Rapporter: saldobalans, resultat- och balansräkning, huvudbok, grundbok och moms (JSON och CSV)
  • Underlagen, med ett manifest
  • Behandlingshistoriken
  • Systemdokumentationen för räkenskapsåret

Filen hämtas via en signerad länk som gäller i en timme.

Sånt servern inte gör

  • Servern kör ingen tredjepartskod. Egna skills och workflows körs alltid hos den som skickar anropet, inte hos oss.
  • Servern stagar alltid skrivoperationer. Ett verifikat bokförs först när någon med rätt behörighet godkänt det, i app.accounted.se eller i chatten.
  • Anslutningen når bara bolag där den inloggade användaren är medlem. Det kontrolleras på servern vid varje anrop.

Versionering

OAuth-discoveryn följer RFC 8414 (Authorization Server Metadata), RFC 9728 (Protected Resource Metadata) och RFC 7591 (Dynamic Client Registration). Stdio-bryggorna på npm är accounted-mcp@1.0.0 för nya installationer och gnubok-mcp@1.1.0 för befintliga konfigurationer, båda under MIT. Servern är källkod under AGPL-3.0 på github.com/erp-mafia/accounted.

OAuth-scopes

  • transactions:read
  • transactions:write
  • invoices:write
  • suppliers:read
  • suppliers:write
  • reports:read
  • bookkeeping:write
  • payroll:read
  • payroll:write
  • skatteverket:write
  • pending_operations:read
  • pending_operations:approve

accounted-verktyg

  • gnubok_list_uncategorized_transactions
  • gnubok_categorize_transaction
  • gnubok_create_invoice
  • gnubok_get_vat_report
  • gnubok_auto_match_period
  • gnubok_export_sie

Vanliga frågor

Vad är accounted MCP-server?
En HTTP-baserad MCP-server som ger en AI-agent åtkomst till en svensk huvudbok: verifikat, kunder, fakturor, moms, lön, SIE-export. OAuth 2.1 med PKCE och dynamisk klientregistrering. Över 150 verktyg över bokföring, fakturor, leverantörer, moms, lön och rapporter.
Hur funkar OAuth-flödet?
MCP-klienten upptäcker accounteds autentiseringsserver via `.well-known/oauth-protected-resource`. Klienten registrerar sig dynamiskt (RFC 7591) på `/api/mcp-oauth/register`, öppnar `/api/mcp-oauth/authorize` i webbläsaren, du loggar in på accounted och godkänner anslutningen, klienten utbyter authorization code mot en access token via `/api/mcp-oauth/token` med PKCE S256. Saknar du konto skapar du det i samma inloggning, med BankID eller e-post.
Vilka klienter funkar?
Claude.ai och Claude Desktop (connectors), Claude Code, ChatGPT (utvecklarläge), Grok (custom connectors) och Cursor. Deras OAuth-callbacks är godkända i förväg, liksom localhost. En egen klient med publik HTTPS-callback registrerar sin redirect-URI under Inställningar → API och MCP. För klienter som bara kör stdio finns en lokal brygga: `npx -y accounted-mcp` med API-nyckel.
Vilka scopes ger jag bort?
Samtyckessidan listar behörigheterna per område: transaktioner, fakturor, leverantörer, rapporter, bokföring, löner, Skatteverket, godkännande med flera. För Claude, ChatGPT, Grok och Cursor är alla förvalda, och du kan välja bort dem, till exempel med Endast läs. Din roll i bolaget sätter taket: en läsare kan bara ge läsbehörighet. Anslutningen återkallas under Inställningar → API och MCP i app.accounted.se.
Får agenten skriva direkt till huvudboken?
Nej. Varje skrivverktyg stagar en `pending_operation` med förhandsvisning, som bokförs först när den godkänts: i appen under Granskning, eller i chatten där agenten anropar `gnubok_approve_pending_operation` efter ditt uttryckliga ja. Det kräver behörigheten `pending_operations:approve`, och högriskoperationer kräver dessutom `confirmed: true`. En nyckel som både kan förbereda och godkänna kräver ett uttryckligt medgivande som loggas. Bokförda verifikat raderas aldrig; rättelser stagas med `gnubok_correct_entry` (storno plus rättad post) eller `gnubok_reverse_journal_entry`.
Hur tar jag fram underlag till en revision?
`gnubok_audit_package` paketerar ett räkenskapsår som en zip: SIE 4-fil, rapporter (saldobalans, resultat- och balansräkning, huvudbok, grundbok, moms), underlagen, behandlingshistoriken och systemdokumentationen. Filen hämtas via en signerad länk som gäller i en timme. Det är samma data som appen bygger på.
Nästa steg

Klar att testa själv?

Open är gratis. Open source, ingen bindningstid. Importera SIE4 i tio minuter.