Tripletex MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tripletex MCP Servervis meg åpne ordrer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Tripletex MCP Server
En open source MCP-server som lar AI-assistenter (Claude, Cursor, osv.) jobbe direkte mot Tripletex sitt regnskapssystem. Se hvordan du installerer repo og kobler på under.
Foretrekker du en ferdigkonfigurert MCP-løsning? Prøv: Regnskapsagent.no
Bygd og vedlikeholdt av CWV Ventures AS.
Trenger du hjelp til implementering?
Kontakt meg på carl@cwv.no.
Related MCP server: HLedger MCP Server
I korte trekk
56 MCP-verktøy dekker ordre, faktura, leverandørfaktura, bilag, hovedbok, rapporter, prosjekt, timer, HR og reiseregning.
18 regnskapsflyter (skills) — norsk-språklige steg-for-steg-guider som aktiveres via MCP-prompts.
Tynn, presis proxy over Tripletex v2 — feltnavn matcher API-ets DTO-er verbatim, slik at LLM-en får riktig feedback og kan selvkorrigere.
Automatisk autentisering — consumer + employee token byttes til kortlevd session token, caches til midnatt CET og fornyes ved 401.
Stdio transport per MCP-spesifikasjonen; kan kobles på Claude Desktop, Cursor, eller andre MCP-klienter.
Arkitektur
MCP-serveren er delt i tre lag: tynn proxy (tripletex-client.ts), body-byggere (tripletex-transform.ts) og 56 tool-registreringer + 18 skills (tripletex-tools.ts, skills/). LLM-klienten snakker med serveren over stdio; serveren snakker med Tripletex v2 over HTTPS.
flowchart LR
Client["MCP-klient<br/>(Claude / Cursor / Regnskapsagent)"]
subgraph Server["tripletex-mcp (stdio-server)"]
direction TB
Entry["index.ts<br/>bootstrap + McpServer"]
Tools["tripletex-tools.ts<br/>56 server.tool(...)"]
Skills["skills/*.ts<br/>18 MCP prompts"]
Resource["Resource<br/>tripletex://skills"]
Transform["tripletex-transform.ts<br/>body-byggere"]
HttpClient["TripletexClient<br/>auth + HTTP + retry"]
end
API["Tripletex v2 REST<br/>tripletex.no/v2"]
Client -- "stdio / JSON-RPC" --> Entry
Entry --> Tools
Entry --> Skills
Skills --> Resource
Tools --> Transform
Tools --> HttpClient
Transform --> HttpClient
HttpClient -- "Basic Auth + session token" --> APIHvor hver ting lever:
Fil | Ansvar |
Stdio-bootstrap, | |
Alle 56 | |
Rene funksjoner som bygger Tripletex-JSON fra MCP-input (f.eks. | |
Autentisering, session-caching, | |
18 regnskapsflyter som MCP prompts, pluss ressursen |
Autentiseringsflyt
Tripletex bruker ikke én API-nøkkel — applikasjonen identifiseres med consumer token, brukeren med employee token, og hvert faktisk API-kall signeres med en kortlevd session token. MCP-serveren håndterer hele vekslingen transparent:
sequenceDiagram
participant MCP as MCP-tool (f.eks. create_invoice)
participant C as TripletexClient
participant TT as Tripletex v2
MCP->>C: client.post("/invoice", body)
C->>C: ensureSession()
alt Ingen gyldig session
C->>TT: PUT /token/session/:create<br/>(consumer + employee token)
TT-->>C: { token, expiresAt = i morgen }
C->>C: cache session
end
C->>TT: POST /invoice<br/>Authorization: Basic 0:sessionToken
alt 401 Unauthorized
C->>C: session = null
C->>TT: PUT /token/session/:create (ny)
TT-->>C: ny session
C->>TT: POST /invoice (retry)
end
TT-->>C: 200 OK + JSON
C-->>MCP: parsed responseHva kan den gjøre?
56 MCP-verktøy fordelt på 9 kategorier (per v2.4.0, synket med Regnskapsagent-MCP):
Kategori | Antall | Dekker |
Ordrer & utgående faktura | 7 | Søk/opprett ordre, fakturering, søk fakturaer |
Leverandørfaktura | 8 | Søk, godkjenning, oppdater posteringer, bilagsmottak |
Kunder & leverandører | 7 | Søk, opprett, oppdater på begge sider |
Produkter | 2 | Søk og opprett produkt |
Bilag & hovedbok | 10 | Kontoplan, MVA, bilagstyper, bilag, vedlegg, hovedbok |
Rapporter | 1 | Saldobalanse |
Prosjekt, time & HR | 7 | Prosjekt, aktivitet, timer, ansatt, avdeling |
Reise & kjøregodtgjørelse | 12 | Reiseregning, kjøring, km-satser, kostnader, approval |
Utility | 2 |
|
Kategori | Verktøy | Beskrivelse |
Ordrer & utgående faktura |
| Søk ordrer (åpne/lukkede, abonnement m.m.) |
| Hent én ordre | |
| Opprett ordre | |
| Fakturer ordre | |
| Ordre + faktura i ett steg | |
| Søk utgående fakturaer (datointervall) | |
| Hent én faktura | |
Leverandørfaktura |
| Søk registrerte leverandørfakturaer |
| Hent én leverandørfaktura | |
| Liste til godkjenning | |
| Godkjenn | |
| Avvis | |
| Oppdater posteringer på leverandørbilag | |
| Opprett leverandørbilag til bilagsmottak ( | |
| Antall i bilagsmottak | |
Kunder & leverandører |
| Søk kunder |
| Opprett kunde | |
| Oppdater kunde | |
| Søk leverandører | |
| Opprett leverandør | |
| Hent leverandør | |
| Oppdater leverandør | |
Produkter |
| Søk produkter |
| Opprett produkt | |
Bilag & hovedbok |
| Søk kontoplan |
| MVA-typer | |
| Bilagstyper | |
| Søk bilag | |
| Hent bilag | |
| Opprett bilag | |
| Send bilag til bokføring | |
| Vedlegg dokument (Base64) til bilag | |
| Importer bilag fra fil | |
| Søk hovedboksposteringer | |
Rapporter |
| Saldobalanse for periode |
Prosjekt & time |
| Søk prosjekter |
| Søk aktiviteter | |
| Søk timeføringer | |
| Logg timer | |
| Opprett prosjekt | |
| Opprett avdeling | |
HR |
| Opprett ansatt |
Reise & kjøregodtgjørelse |
| Søk reiseregninger |
| Hent reiseregning | |
| Opprett reiseregning | |
| Kjøregodtgjørelse | |
| Søk kjøregodtgjørelser | |
| km-satser | |
| Satskategorier | |
| Lever til godkjenning | |
| Godkjenn | |
| Kostnad (parkering, bom, …) | |
| Kostnadskategorier | |
| Betalingstyper | |
Utility |
| Sesjon / selskap |
| Søk ansatte |
Skills (regnskapsflyter)
I tillegg til verktøyene eksponerer serveren 18 regnskapsflyter som MCP prompts — norsk-språklige playbooks som hjelper LLM-en å kjøre vanlige operasjoner i riktig rekkefølge, med korrekt MVA-håndtering og validering underveis. Flyter er indeksert som ressursen tripletex://skills slik at klienten kan slå opp triggere automatisk.
Tier | Skill-id | Flyt | Typiske triggere |
Core |
| Opprett utgående faktura med korrekt MVA | faktura, invoice, fakturere, utgående faktura |
Core |
| Bilagsføring med debet/kredit og NS 4102-kontoplan | bilag, voucher, bokføring, postering |
Core |
| Registrer leverandørfaktura (inkl. bilagsmottak) | leverandørfaktura, inngående faktura, bilagsmottak |
Core |
| Søk, opprett og oppdater kunder | kunde, ny kunde, kundeoppslag |
Common |
| Konverter loggede timer til faktura | timer til faktura, fakturere timer |
Common |
| Utsted kreditnota på eksisterende faktura | kreditnota, kreditere, tilbakebetaling faktura |
Common |
| Saldobalanse og kontooversikt for periode | saldobalanse, kontooversikt, periode avslutning |
Common |
| Opprett produkt for ordre/faktura | produkt, vare, tjeneste |
Common |
| Registrer innbetaling/utbetaling | betaling, innbetaling, utbetaling |
Common |
| Onboard ansatt med norske krav | ansatt, ny ansatt, onboarding |
Common |
| Opprett prosjekt for timer/fakturering | prosjekt, nytt prosjekt |
Common |
| Opprett avdeling/kostnadssted | avdeling, department, kostnadssted |
Advanced |
| Lønnskjøring med skatt og arbeidsgiveravgift | lønn, payroll, lønnsberegning |
Advanced |
| Årsoppgjør etter norsk regnskapslov | årsoppgjør, årsregnskap, årsavslutning |
Advanced |
| Månedsslutt og MVA-oppgjør | månedsslutt, mva-oppgjør, terminoppgave |
Advanced |
| Bankavstemming mot konto 1920 | bankavstemming, avstemming, bankbalanse |
Advanced |
| Reiseregning og kjøregodtgjørelse | reiseregning, diett, kjøregodtgjørelse |
Advanced |
| Utlegg / kvittering mot konto 2930 | utlegg, kvittering, refusjon |
Full kildekode for hver flyt ligger i src/skills/. Registry og ressurs-definisjon: src/skills/registry.ts.
Kom i gang
1. Hent API-nøkler fra Tripletex
Du trenger to tokens:
Consumer token — søk om produksjonstilgang via developer.tripletex.no. Godkjenning tar typisk 2–3 uker. For testing kan du opprette en gratis testkonto med egne tokens.
Employee token — opprettes i Tripletex under Innstillinger → Integrasjoner → API-tilgang av en bruker med admin-rettigheter.
2. Installer
git clone https://github.com/cwv-ventures/tripletex-mcp.git
cd tripletex-mcp
npm install
npm run build3. Koble til Claude Desktop
Legg til følgende i Claude Desktop sin konfigurasjonsfil:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/claude-desktop/claude_desktop_config.json
{
"mcpServers": {
"tripletex": {
"command": "node",
"args": ["/absolutt/sti/til/tripletex-mcp/dist/index.js"],
"env": {
"TRIPLETEX_CONSUMER_TOKEN": "din-consumer-token",
"TRIPLETEX_EMPLOYEE_TOKEN": "din-employee-token"
}
}
}
}4. Testmiljø
For å bruke Tripletex sitt testmiljø (api-test.tripletex.tech) istedenfor produksjon, legg til:
"TRIPLETEX_ENV": "test"i env-blokken.
Hvordan autentisering fungerer
Serveren håndterer alt automatisk:
Ved første kall opprettes en session token via
PUT /v2/token/session/:createSession token fornyes automatisk når den utløper (midnatt CET)
Alle API-kall bruker Basic Auth med brukernavn
0og session token som passord
Du trenger ikke tenke på dette — bare sett consumer og employee token som miljøvariabler. Se autentiseringsflyten over for detaljer.
Eksempler på bruk
Når MCP-serveren er koblet til Claude, kan du si ting som:
"Logg 7.5 timer på prosjekt Konsulentbistand i dag"
Claude finner prosjektet, velger riktig aktivitet, og oppretter timeoppføringen.
"Vis alle fakturaer til Nordvik Bygg fra mars 2026"
Claude søker kunder, finner riktig ID, og henter fakturaene.
"Opprett ny kunde Havbruk Nord AS med org.nr 912 345 678"
Claude oppretter kunden direkte i Tripletex.
"Hvilke bilag ble ført forrige uke?"
Claude søker bilag med datofilter og viser en oversikt.
"Registrer kjøring fra Oslo til Drammen i dag, 42 km, personbil"
Claude slår opp satskategori for personbil, oppretter en reiseregning, legger til kjøregodtgjørelse med riktig sats, og rapporterer totalbeløp.
"Jeg kjørte til Ski i dag, 48 km. Hadde 85 kr i bompenger og 120 kr parkering"
Claude oppretter reiseregning med kjøregodtgjørelse pluss kostnadsrader for bompenger og parkering.
Kvalitetssikring
Dette er en fakta-orientert oversikt over hvordan serveren er bygget — tenkt som referanse for fagpersoner og ledelse.
PRD-samsvar mot Tripletex v2. Tynn proxy, ingen felt-aliaser:
count(ikkequantity),unitPriceExcludingVatCurrency/unitPriceIncludingVatCurrency,isPrioritizeAmountsIncludingVat,vendorInvoiceNumber,amountGross/amountGrossCurrency,termOfPayment, og action-endepunkter med kolon-prefiks (:invoice,:sendToLedger,:deliver,:approve). Referanser wrappes til{ id: N }i transform-laget — utad eksponeres barecustomerId,vatTypeId, osv.Eksklusive to-datoer er dokumentert i tool-beskrivelsene for
search_supplier_invoices,search_vouchersm.fl. slik at LLM-en unngår den klassiske av-for-én-feilen.Feilhåndtering for LLM self-correction. Alle Tripletex-feil returneres rått som JSON
{ httpStatus, tripletexResponse }, ikke som kastede exceptions. LLM-en ser validation-meldinger direkte og kan rette kallet uten menneskelig intervensjon.Autentisering. Consumer + employee token byttes til en session token som caches til midnatt CET. 401 trigger automatisk fornyelse og én retry. Begge tokens leses fra miljøvariabler (
TRIPLETEX_CONSUMER_TOKEN,TRIPLETEX_EMPLOYEE_TOKEN).Domenekunnskap isolert fra tool-laget. Forretningsregler som «balanserende kredittpost på konto 2400 for leverandørfaktura» ligger i src/tripletex-transform.ts, ikke spredt utover tool-definisjonene.
Multi-tenant klar.
TripletexClienthar både env-basert konstruktør (stdio MCP) ogTripletexClientOptionsfor programmatisk bruk — samme kodebase brukes av den hostede Regnskapsagent-MCP-en.Typesikkerhet. TypeScript
strict+Node16modulmodus. Alle tool-inputs er definert med Zod-schemas og ender som typede argumenter i handlerne.Multipart-opplasting (
attach_voucher_document,import_ledger_voucher_document) validerer Base64 og håndhever 8 MB-grense før nettkall — beskytter både klient og Tripletex.Optimistisk låsing på
send_voucher_to_ledgerviaversion-parameter, for å hindre race conditions ved parallell bokføring.Versjon er pinnet til
2.4.0i både src/index.ts og package.json.Transport er stdio per MCP-spesifikasjonen; SDK
@modelcontextprotocol/sdk ^1.12.1.
Kjent scope (roadmap)
Ingen automatiserte tester ennå — transform-funksjonene i src/tripletex-transform.ts er første kandidater for enhetstester.
Ingen eksplisitt 429/backoff-logikk (Tripletex har 5000 req/time; dagens retry dekker kun 401).
count-parameter cappes ikke eksplisitt mot Tripletex' maks (1000).Ingen
CHANGELOG.md— endringer spores i git-historikken.
Teknisk
Arkitektonisk referanse: docs/PRD-Tripletex-MCP-Rebuild.md — mål-API, DTO-tabeller, feltmapping mot Tripletex v2.
Tool-registreringer: src/tripletex-tools.ts — alle 56
server.tool(...), delt oppsett med Regnskapsagent viaregisterAllTools(server, client).MCP skills (prompts): src/skills/ + ressursen
tripletex://skills.Runtime: Node.js 18+
Språk: TypeScript (strict)
Avhengigheter:
@modelcontextprotocol/sdk ^1.12.1,zod ^4Transport: stdio (standard MCP-protokoll)
API: Tripletex REST API v2 (
tripletex.no/v2/api-test.tripletex.tech/v2)
Bidra
Pull requests er velkomne! Åpne gjerne et issue hvis du har forslag til nye verktøy eller forbedringer.
Testing
Tests use Vitest and focus first on the pure transform functions in src/tripletex-transform.ts — request-body builders that mirror the Tripletex v2 DTO shapes exactly.
Commands
npm test— run the full test suite oncenpm run test:watch— watch mode, re-run on file changenpm run test:coverage— run with coverage report (V8 provider, HTML + LCOV output incoverage/)
Scope
The current suite covers every exported function in src/tripletex-transform.ts:
transformOrderLinebuildOrderBodytransformVoucherPostingbuildSupplierInvoiceVoucherBody— including the balancing-credit invariant (sum ofamountGrossacross all postings equals zero)wrapPostingsForSupplierInvoiceUpdate
Client-level tests (auth, retries, HTTP transport) are intentionally deferred — those require mocking the Tripletex API and live in a follow-up. See tests/README.md for contributor conventions.
CI
GitHub Actions runs typecheck, tests, and build on every pull request and push to main. See .github/workflows/test.yml.
Lisens
MIT — se LICENSE for detaljer.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to interact with the Tripletex accounting API to manage time tracking, projects, and timesheet approvals through natural language. It also supports searching and managing outgoing invoices and processing supplier invoice approvals.312
- Alicense-qualityBmaintenanceProvides AI assistants with direct access to HLedger accounting data and functionality, enabling natural language queries for balances, reports, journal entries, and financial analysis.3264MIT
- AlicenseCqualityAmaintenanceEnables AI assistants to manage invoices, contacts, purchases, journal entries, and other accounting operations via the Fiken API.100131MIT
- AlicenseBqualityDmaintenanceEnables AI agents to manage invoices, customers, suppliers, accounting entries, orders, and more through Fortnox's cloud accounting platform via natural language.20441MIT
Related MCP Connectors
Open-source AI accounting skills verified by licensed accountants (tax, VAT, payroll).
AI agents for bookkeeping, reconciliation, and financial close for SMBs.
Norway Peppol/EHF BIS 3.0 e-invoices for AI agents: send, check recipient, get delivery proof.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cwvedvik/tripletex-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server