bokio-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BOKIO_TOKEN | Yes | Private Bearer token from a Bokio integration. Required when a tool is called. | |
| BOKIO_BASE_URL | No | Base URL for the Bokio API. | https://api.bokio.se/v1 |
| BOKIO_COMPANY_ID | No | Your Bokio company id (from the Bokio URL: .../companies/<companyId>/...). Used when a tool call leaves out companyId. | |
| BOKIO_ALLOW_WRITES | No | Set to `1`, `true`, `yes` or `on` to enable write tools; anything else keeps them hidden and blocked. | |
| BOKIO_DOWNLOAD_DIR | No | Where SIE, PDF and upload downloads are saved. Without it, downloads go to the server's working directory, and they are rejected when that is `/`. Paths outside the directory are rejected and existing files are never overwritten. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bokio_company_infoA | Get the Bokio company's own details, such as its name and organisation number. Use it to confirm which company the token and companyId point at. |
| bokio_list_fiscal_yearsA | List the company's fiscal years with their ids and start and end dates. The ids feed bokio_download_sie and the fiscalYearId of bokio_account_balances. |
| bokio_get_fiscal_yearA | Get one fiscal year by id, with its start and end dates. bokio_list_fiscal_years returns all of them in one call. |
| bokio_chart_of_accountsA | List the company's BAS chart of accounts: account numbers with names. Use it to find the account number the ledger and balance tools take; bokio_get_account reads a single account. |
| bokio_get_accountA | Get one account from the BAS chart of accounts by number. For its balance or postings use bokio_account_balances or bokio_account_ledger. |
| bokio_download_sieA | Download the raw SIE 4 export of one fiscal year to savePath, or return its first 4,000 characters as text when savePath is omitted. For balances, ledgers, VAT or profit and loss use the computed tools, which read this export themselves and do the arithmetic. |
| bokio_account_balancesA | Compute the opening balance, movement and balance per account at a date from the SIE export. Use it for what is on an account at a date; bokio_account_ledger shows the individual lines. Amounts in ledger sign: debit positive, credit negative. |
| bokio_account_ledgerA | List the postings on one account between two dates with a running balance, ordered by date, series and number, computed from the SIE export. Annulled verifications are kept and flagged cancelled; bokio_list_journal_entries lists whole verifications instead. Amounts in ledger sign: debit positive, credit negative. |
| bokio_find_duplicatesA | Find possible double bookings in the SIE export: lines with the same account and amount from different verifications within windowDays of each other. Annulled verifications are skipped; to check against a bank statement use bokio_reconcile_bank. Amounts in ledger sign: debit positive, credit negative. |
| bokio_reconcile_bankA | Match bank statement rows against one ledger account by exact amount within toleranceDays, reading the SIE export itself; rows in date order each take the earliest unmatched ledger line within toleranceDays, each ledger line once. Returns matched pairs, unmatched rows on both sides, suspected duplicate ledger lines and totals, where difference = ledger minus bank. Amounts in ledger sign: debit positive, credit negative. |
| bokio_vat_summaryA | Sum the VAT accounts (2610-2659) and sales accounts (3000-3999) for a period, with outputVat (negated 2610-2639), inputVat (2640-2649) and netVat = output minus input, positive when VAT is to pay. These are account totals and do not map to tax-return boxes. Amounts in ledger sign: debit positive, credit negative. |
| bokio_profit_and_lossA | Sum the result accounts (BAS classes 3-8) for a period, grouped by class or by account, with result = negated total so that profit is positive. For balance-sheet accounts use bokio_account_balances. Amounts in ledger sign: debit positive, credit negative. |
| bokio_open_itemsA | List unpaid items on a ledger account at asOf, matching each payment to the earliest unpaid posting of the same amount (FIFO, exact öre). Returns open items with their age in days, payments that matched nothing, the balance, and the oldest loaded year's opening balance as one unitemised amount. Amounts in ledger sign: debit positive, credit negative. |
| bokio_list_journal_entriesA | List journal entries (verifikationer) with paging, optionally between from and to or narrowed by a raw query filter. For the postings on one account use bokio_account_ledger. |
| bokio_get_journal_entryA | Get one journal entry (verifikation) by id, as Bokio returns it. To find entries by date use bokio_list_journal_entries. |
| bokio_list_invoicesA | List customer invoices with paging and a raw query filter. Revenue booked as journal entries is not listed here; use bokio_account_ledger or bokio_open_items for that. |
| bokio_get_invoiceA | Get one customer invoice by id, as Bokio returns it. Use bokio_download_invoice for the PDF and bokio_list_invoice_payments for its payments. |
| bokio_download_invoiceA | Download a published invoice as a PDF file to savePath. Returns the written path and byte count; bokio_get_invoice returns the invoice data instead. |
| bokio_list_invoice_paymentsA | List the payments registered on one invoice, with paging. Fees and currency differences are listed by bokio_list_invoice_settlements. |
| bokio_list_invoice_settlementsA | List the settlements on one invoice: currency differences, bank fees and payment-service fees. Payments are listed by bokio_list_invoice_payments. |
| bokio_list_credit_notesA | List credit notes (kreditfakturor) with paging and a raw query filter. Customer invoices are listed by bokio_list_invoices. |
| bokio_get_credit_noteA | Get one credit note by id, as Bokio returns it. Use bokio_download_credit_note for the PDF. |
| bokio_download_credit_noteA | Download a published credit note as a PDF file to savePath. Returns the written path and byte count. |
| bokio_list_suppliersA | List suppliers (leverantörer) with paging and a raw query filter. Their invoices are listed by bokio_list_supplier_invoices. |
| bokio_get_supplierA | Get one supplier by id, as Bokio returns it. Their invoices are listed by bokio_list_supplier_invoices. |
| bokio_list_supplier_invoicesA | List supplier invoices (leverantörsfakturor) with paging and a raw query filter. For unpaid supplier debt by age use bokio_open_items on account 2440. |
| bokio_get_supplier_invoiceA | Get one supplier invoice by id, as Bokio returns it. An attached file downloads with bokio_download_upload. |
| bokio_list_bank_paymentsA | List bank payments with paging. Bokio returns only payments created by this integration, and creating them is deliberately not exposed. |
| bokio_get_bank_paymentA | Get one bank payment by id. Bokio returns only payments created by this integration, and creating them is deliberately not exposed. |
| bokio_list_customersA | List customers with paging and a raw query filter. Use bokio_get_customer for one customer's details. |
| bokio_get_customerB | Get one customer by id, as Bokio returns it. Their invoices are listed by bokio_list_invoices. |
| bokio_list_itemsA | List items (artiklar), the products and services used on invoice lines, with paging. Use bokio_get_item for one item. |
| bokio_get_itemA | Get one item (artikel) by id, as Bokio returns it. |
| bokio_list_uploadsA | List uploaded files and receipts (kvitton) with paging. Use bokio_download_upload for a file's content. |
| bokio_get_uploadA | Get one upload's metadata by id. bokio_download_upload fetches the file itself. |
| bokio_download_uploadA | Download an uploaded file's content to savePath. Returns the written path and byte count; bokio_get_upload returns its metadata. |
| bokio_raw_getA | Send a GET to any Bokio API path that no other tool covers; {companyId} in the path is replaced with the company id. Returns the response body. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| company-info | Company information for the default Bokio company (BOKIO_COMPANY_ID). |
| chart-of-accounts | Chart of accounts (BAS) for the default company. |
TDQS
Scored across 37 tools
Each tool has a clearly distinct resource/action, and descriptions explicitly cross-reference alternatives (e.g. list vs get, payments vs settlements, balances vs ledger). Even the computed accounting tools have well-delineated purposes, and raw_get is scoped to paths not covered elsewhere.
All tools share the bokio_ prefix and use predictable verb_noun naming for action tools (list_, get_, download_, find_, reconcile_). A few tools are noun phrases without a verb (company_info, chart_of_accounts, account_balances, vat_summary, profit_and_loss), which is a minor inconsistency.
At 37 tools, the surface is heavy for an accounting integration and includes redundant single-item getters alongside list tools. While the domain is broad, several tools could be consolidated or are only useful for narrow analysis tasks.
The server provides broad read coverage plus computed reports and downloads, but it lacks create/update/delete operations for invoices, customers, suppliers, items, and journal entries. raw_get only covers uncovered GET endpoints, so many write workflows are unavailable.