Unofficial Dinero MCP Server
En MCP server til det danske regnskabsprogram Dinero, som tillader dine AI agents at håndtere bogføringen for dig.
Ask AI about Unofficial Dinero MCP Server
Powered by Claude · Grounded in docs
I know everything about Unofficial Dinero MCP Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Uofficiel Dinero MCP Server
En uofficiel Model Context Protocol-server til Dinero regnskabs-API, skrevet i Go.
Giver Claude (og andre MCP-klienter) adgang til at læse fakturaer, kontakter og kontosaldi direkte fra din Dinero-konto — og stille de spørgsmål din revisor ellers ville sende en timeseddel for.
Lavet af Henrik Oddergaard.
Hvad kan man bruge det til?
Dette er et læse-fokuseret admin-værktøj. Formålet er at lade dig stille din AI-assistent naturlige spørgsmål om din virksomheds økonomi — uden at åbne Dinero, bede en bogholder køre rapporter, eller vente på at revisoren svarer på din mail.
Nogle eksempler fra den virkelige verden:
- "Har [kunde] betalt den seneste faktura?"
- "Hvad er vores samlede omsætning indtil videre i år?"
- "Hvad bør der cirka stå på firmakontoen lige nu?"
- "Hvilke fakturaer er forfaldne og med hvor meget?"
- "Kan jeg købe en nerf gun til 500 kr på firmaet?" — AI'en tjekkede selv regnskabet og sagde ja.
- "Find alle kontakter der mangler et CVR-nummer"
- "[Leverandør] har fået nyt telefonnummer — opdater det"
- "Er der uploadede filer der endnu ikke er bogført?"
Tilgængelige værktøjer
| Værktøj | Beskrivelse |
|---|---|
list_fakturaer | Hent fakturaer med filtrering på status — inkl. beløb, kontakt-GUID og betalingsdato |
hent_faktura | Hent én faktura med alle linjer |
list_kontakter | Hent kontakter med navn, email, telefon, adresse og CVR |
hent_kontakt | Hent fuld kontaktdetalje via GUID |
opdater_kontakt | Opdater en kontakt (PUT — inkluder alle felter) |
list_kontoplan | Hent virksomhedens kontoplan |
hent_saldo | Hent saldobalancen for et regnskabsĂĄr |
list_ubrugte_filer | Hent uploadede filer der endnu ikke er bogført |
Hvad denne server bevidst ikke understøtter
Ingen oprettelse af fakturaer eller bogføring
Det har jeg kigget på — og valgt fra. Her er hvorfor.
Pålidelig bogføring via en AI-assistent kræver at kildebilag (kvitteringer, fakturaer) vedhæftes som dokumentation. Problemet er at hverken Claude eller ChatGPT kan overføre binære filer pålideligt over en MCP-forbindelse i dag — og de filer der allerede ligger i Dinero kan heller ikke læses for deres indhold. For udviklerne, er der process isolation imellem MCP og de værktøjker der kan køres, og Claude har fortalt mig gentagne gange idag, at den nægter at flytte 200 KB encoded Base64 til MCP requesten, så den truncatede silently og smadrede PDF'erne.
Alternartivet er at vi tog eksisterende filer som venter på bogføroing, men så skal vi hente dem retur via MCP. Jeg har ikke undersøgt det i detaljer, men da Dinero ikke eksponerer signerede download links, men kun kan returnere filen binært vil det betyder jeg skal buffer dem og linke dem i min server, eller lade Claude læse base64 den anden vej som nok også vil dø. Det blev altså udenfor scope for dette projekt. Jeg ønsker den her server er stateless så jeg kan demo den live for folk.
En del af god softwareudvikling — ikke bare vibe coding — er at vide hvornår man trækker en grænse mens den stadig kan trækkes rent.
Ingen fuld posteringshistorik
Teoretisk set kunne vi hente alle posteringer på alle konti ned. I praksis er Dinero's Ledger API virkelig resurse tungt for dem, og deres egen dokumentation beder venligt om at man ikke hamrer det. Da denne server er stateless af design — dvs. hvert AI-svar udløser et nyt API-kald — ville massehentning resultere i en requeststorm der med stor sandsynlighed ville få dine API-nøgler blokeret. Jeg vil hellere have at du beholder din adgang.
hent_saldo giver dig den aggregerede saldo pr. konto, hvilket besvarer langt de fleste økonomiske spørgsmål uden at røre posteringshistorikken overhovedet.
Det giver dig desværre ikke svar på "Hvad brugte jeg på en sandwich" sidste uge, men kan svare på hvad dit madbudget har været i år.
Byg og kør
Krav: Go 1.22+
git clone https://github.com/oddergaard/unofficial-dinero-mcp-server
cd unofficial-dinero-mcp-server
go mod tidy
go build -o dinero-mcp .
./dinero-mcp
Serveren starter pĂĄ port 8080 som standard. Skift med PORT=9000 ./dinero-mcp.
Der kræves ingen miljøvariabler — legitimationsoplysninger sendes per request via URL-parametre (se nedenfor).
Autentificering
Serveren er multi-tenant og stateless. Hver MCP-connector-URL bærer Dinero-legitimationsoplysningerne som query-parametre:
| Parameter | Beskrivelse |
|---|---|
clientId | Dit Dinero OAuth client ID som du fĂĄr ved at maile dem om en personlig integration |
clientSecret | Din Dinero OAuth client secret som du fĂĄr ved at maile dem om en personlig integration |
apiKey | Din Dinero personlige API-nøgle som du laver i UI |
organizationId | Dit Dinero firma-ID (numerisk) - det står i venstre hjørne på web |
Eksempel pĂĄ connector-URL:
https://dit-domæne.dk/mcp?clientId=abc123&clientSecret=s3cr3t&apiKey=min-api-nøgle&organizationId=123456
SĂĄdan konfigureres det i Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"dinero": {
"type": "http",
"url": "https://dit-domæne.dk/mcp?clientId=abc123&clientSecret=s3cr3t&apiKey=min-api-nøgle&organizationId=123456"
}
}
}
Hvor finder du dine legitimationsoplysninger?
clientId/clientSecret: Du skal kontakte dem på mail. Se developer.dinero.dk/documentation/personal-integration/apiKey: Dinero → Indstillinger → Integrationer → API nøgler (oppe i toppen)organizationId: Synlig i Dinero-URL'en når du er logget ind, f.eks.app.dinero.dk/123456/...eller i venstre hjørne.
Eksponér lokalt med Cloudflare Tunnel
MCP-klienten kræver en offentlig HTTPS-URL. Den nemmeste løsning er en Cloudflare Tunnel — ingen port-forwarding, ingen TLS-opsætning.
1. Installér cloudflared
# macOS
brew install cloudflare/cloudflare/cloudflared
# Linux (Debian/Ubuntu)
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb
2. Log ind pĂĄ Cloudflare
cloudflared tunnel login
Dette ĂĄbner en browser til godkendelse. Et certifikat gemmes lokalt.
3. Opret en navngiven tunnel
cloudflared tunnel create unofficial-dinero-mcp
Notér tunnel-UUID'et der printes — du skal bruge det.
4. Konfigurér tunnelen
Opret ~/.cloudflared/config.yml:
tunnel: unofficial-dinero-mcp
credentials-file: /home/<bruger>/.cloudflared/<tunnel-uuid>.json
ingress:
- hostname: dinero-mcp.ditdomæne.dk
service: http://localhost:8080
- service: http_status:404
Tilføj derefter en DNS-record der peger på tunnelen:
cloudflared tunnel route dns unofficial-dinero-mcp dinero-mcp.ditdomæne.dk
5. Kør
Start serveren, derefter tunnelen:
./dinero-mcp &
cloudflared tunnel run unofficial-dinero-mcp
Eller en hurtig midlertidig URL (ingen konfiguration nødvendig):
cloudflared tunnel run --url http://localhost:8080 unofficial-dinero-mcp
Den offentlige URL der printes bruges som din MCP-connector-URL (tilføj legitimationsoplysningerne som parametre).
Docker
go mod tidy
go mod vendor
docker build -t dinero-mcp .
docker run -p 8080:8080 dinero-mcp
Licens
MIT
