# bokio-mcp (npm · bokio-mcp)

Bokio accounting API as MCP tools: ledger, invoices, SIE balances, VAT, P&L. Read-only by default.

- Trust score: 87/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-06

## Components

- npm · `bokio-mcp`: 87/100 (this document), [markdown](https://verifymcp.io/servers/diblaze-bokio-mcp/bokio-mcp.md), [page](https://verifymcp.io/servers/diblaze-bokio-mcp/bokio-mcp)

## Channel facts

- Registry: `npm`
- Package: `bokio-mcp`
- Version: `0.6.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-06.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 30 of 92 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to diblaze/bokio-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 8 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 83/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4723 tokens (~121/item across 39 items; 37 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (51% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 37 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 39 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the bokio-mcp server?

bokio-mcp runs locally as an npm package, launched with npx -y bokio-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add diblaze-bokio-mcp -- npx -y bokio-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "diblaze-bokio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "bokio-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "diblaze-bokio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "bokio-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add diblaze-bokio-mcp -- npx -y bokio-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "diblaze-bokio-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "bokio-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add diblaze-bokio-mcp --command npx --arg -y --arg bokio-mcp
```

### Hermes

```yaml
mcp_servers:
  diblaze-bokio-mcp:
    command: "npx"
    args: ["-y", "bokio-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "diblaze-bokio-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "bokio-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add diblaze-bokio-mcp -t stdio -c npx -a -y bokio-mcp
```

### Other

```json
{
  "mcpServers": {
    "diblaze-bokio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "bokio-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-06 (score 87, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-04 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 0 to 3. That category is still filling its 30-day observation window: 0 days of observed history at the previous scan, 1 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 82)

First indexed and scored.

## MCP tools (37)

### `bokio_company_info` (~63 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.

### `bokio_list_fiscal_years` (~70 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_fiscal_year` (~91 tokens)

Get one fiscal year by id, with its start and end dates. bokio_list_fiscal_years returns all of them in one call.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `fiscalYearId` (string, required): Id from bokio_list_fiscal_years; an unknown id returns a not-found error.

### `bokio_chart_of_accounts` (~108 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

### `bokio_get_account` (~87 tokens)

Get one account from the BAS chart of accounts by number. For its balance or postings use bokio_account_balances or bokio_account_ledger.

Input parameters:

- `account` (integer, required): BAS account number, such as 1930; bokio_chart_of_accounts lists them.
- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.

### `bokio_download_sie` (~154 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `fiscalYearId` (string, required): Id from bokio_list_fiscal_years; an unknown id returns a not-found error.
- `savePath` (string): File path inside BOKIO_DOWNLOAD_DIR, else the working directory; an existing file is never overwritten, so pick a new name.

### `bokio_account_balances` (~155 tokens)

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.

Input parameters:

- `accounts` (array): Only these account numbers
- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `date` (string): Balance date (YYYY-MM-DD); defaults to the fiscal year's last day when fiscalYearId is given, else today.
- `fiscalYearId` (string): Id from bokio_list_fiscal_years; an unknown id returns a not-found error.

Output parameters:

- `balances` (array)
- `date` (string)

### `bokio_account_ledger` (~152 tokens)

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.

Input parameters:

- `account` (integer, required): BAS account number, such as 1930; bokio_chart_of_accounts lists them.
- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `from` (string, required): First day, inclusive (YYYY-MM-DD).
- `to` (string, required): Last day, inclusive (YYYY-MM-DD).

Output parameters:

- `account` (number)
- `closing` (number)
- `from` (string)
- `lines` (array)
- `name` (string)
- `opening` (number)
- `to` (string)

### `bokio_find_duplicates` (~158 tokens)

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.

Input parameters:

- `account` (integer): Only this BAS account; omit for all accounts.
- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `from` (string, required): First day, inclusive (YYYY-MM-DD).
- `to` (string, required): Last day, inclusive (YYYY-MM-DD).
- `windowDays` (integer): Max days between the two bookings; default 7.

Output parameters:

- `groups` (array)

### `bokio_reconcile_bank` (~175 tokens)

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.

Input parameters:

- `account` (integer): Ledger account to match; default 1930 (bank).
- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `rows` (array, required): Bank statement rows; amounts in kronor with at most two decimals, outflow negative.
- `toleranceDays` (integer): Max days between a bank row and its ledger line; default 3.

Output parameters:

- `account` (number)
- `bankTotal` (number)
- `difference` (number)
- `from` (string)
- `ledgerTotal` (number)
- `matched` (array)
- `suspectedDuplicates` (array)
- `to` (string)
- `unmatchedBank` (array)
- `unmatchedLedger` (array)

### `bokio_vat_summary` (~151 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `from` (string, required): First day, inclusive (YYYY-MM-DD).
- `to` (string, required): Last day, inclusive (YYYY-MM-DD).

Output parameters:

- `accounts` (array)
- `from` (string)
- `inputVat` (number)
- `netVat` (number)
- `outputVat` (number)
- `to` (string)

### `bokio_profit_and_loss` (~146 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `from` (string, required): First day, inclusive (YYYY-MM-DD).
- `groupBy` (string): Group by BAS class (3-8) or by account; default class.
- `to` (string, required): Last day, inclusive (YYYY-MM-DD).

Output parameters:

- `from` (string)
- `result` (number)
- `rows` (array)
- `to` (string)

### `bokio_open_items` (~182 tokens)

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.

Input parameters:

- `account` (integer): Ledger account; default 1510 (receivables), 2440 for supplier debt.
- `asOf` (string): Date to evaluate at (YYYY-MM-DD); defaults to today.
- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `lookbackYears` (integer): Calendar years before the year of asOf to load, so older unpaid items are itemised; default 1.

Output parameters:

- `account` (number)
- `asOf` (string)
- `balance` (number)
- `open` (array)
- `openingUnitemised` (number)
- `unmatchedPayments` (array)

### `bokio_list_journal_entries` (~167 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `from` (string): First day, inclusive (YYYY-MM-DD).
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"
- `to` (string): Last day, inclusive (YYYY-MM-DD).

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_journal_entry` (~91 tokens)

Get one journal entry (verifikation) by id, as Bokio returns it. To find entries by date use bokio_list_journal_entries.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `journalEntryId` (string, required): Id from bokio_list_journal_entries; an unknown id returns a not-found error.

### `bokio_list_invoices` (~134 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_invoice` (~89 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `invoiceId` (string, required): Id from bokio_list_invoices; an unknown id returns a not-found error.

### `bokio_download_invoice` (~121 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `invoiceId` (string, required): Id from bokio_list_invoices; an unknown id returns a not-found error.
- `savePath` (string, required): File path inside BOKIO_DOWNLOAD_DIR, else the working directory; an existing file is never overwritten, so pick a new name.

### `bokio_list_invoice_payments` (~150 tokens)

List the payments registered on one invoice, with paging. Fees and currency differences are listed by bokio_list_invoice_settlements.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `invoiceId` (string, required): Id from bokio_list_invoices; an unknown id returns a not-found error.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_list_invoice_settlements` (~153 tokens)

List the settlements on one invoice: currency differences, bank fees and payment-service fees. Payments are listed by bokio_list_invoice_payments.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `invoiceId` (string, required): Id from bokio_list_invoices; an unknown id returns a not-found error.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_list_credit_notes` (~128 tokens)

List credit notes (kreditfakturor) with paging and a raw query filter. Customer invoices are listed by bokio_list_invoices.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_credit_note` (~82 tokens)

Get one credit note by id, as Bokio returns it. Use bokio_download_credit_note for the PDF.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `creditNoteId` (string, required): Id from bokio_list_credit_notes; an unknown id returns a not-found error.

### `bokio_download_credit_note` (~114 tokens)

Download a published credit note as a PDF file to savePath. Returns the written path and byte count.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `creditNoteId` (string, required): Id from bokio_list_credit_notes; an unknown id returns a not-found error.
- `savePath` (string, required): File path inside BOKIO_DOWNLOAD_DIR, else the working directory; an existing file is never overwritten, so pick a new name.

### `bokio_list_suppliers` (~126 tokens)

List suppliers (leverantörer) with paging and a raw query filter. Their invoices are listed by bokio_list_supplier_invoices.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_supplier` (~81 tokens)

Get one supplier by id, as Bokio returns it. Their invoices are listed by bokio_list_supplier_invoices.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `supplierId` (string, required): Id from bokio_list_suppliers; an unknown id returns a not-found error.

### `bokio_list_supplier_invoices` (~136 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_supplier_invoice` (~83 tokens)

Get one supplier invoice by id, as Bokio returns it. An attached file downloads with bokio_download_upload.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `supplierInvoiceId` (string, required): Id from bokio_list_supplier_invoices; an unknown id returns a not-found error.

### `bokio_list_bank_payments` (~124 tokens)

List bank payments with paging. Bokio returns only payments created by this integration, and creating them is deliberately not exposed.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_bank_payment` (~85 tokens)

Get one bank payment by id. Bokio returns only payments created by this integration, and creating them is deliberately not exposed.

Input parameters:

- `bankPaymentId` (string, required): Id from bokio_list_bank_payments; an unknown id returns a not-found error.
- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.

### `bokio_list_customers` (~119 tokens)

List customers with paging and a raw query filter. Use bokio_get_customer for one customer's details.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_customer` (~80 tokens)

Get one customer by id, as Bokio returns it. Their invoices are listed by bokio_list_invoices.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `customerId` (string, required): Id from bokio_list_customers; an unknown id returns a not-found error.

### `bokio_list_items` (~125 tokens)

List items (artiklar), the products and services used on invoice lines, with paging. Use bokio_get_item for one item.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_item` (~71 tokens)

Get one item (artikel) by id, as Bokio returns it.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `itemId` (string, required): Id from bokio_list_items; an unknown id returns a not-found error.

### `bokio_list_uploads` (~123 tokens)

List uploaded files and receipts (kvitton) with paging. Use bokio_download_upload for a file's content.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `page` (integer): Page number (1-based)
- `pageSize` (integer): Items per page (max 100)
- `query` (string): Bokio filter query; combine conditions with &&, e.g. "date>=2026-07-01&&date<=2026-07-31"

Output parameters:

- `currentPage` (number)
- `items` (array)
- `totalItems` (number)
- `totalPages` (number)

### `bokio_get_upload` (~75 tokens)

Get one upload's metadata by id. bokio_download_upload fetches the file itself.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `uploadId` (string, required): Id from bokio_list_uploads; an unknown id returns a not-found error.

### `bokio_download_upload` (~117 tokens)

Download an uploaded file's content to savePath. Returns the written path and byte count; bokio_get_upload returns its metadata.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `savePath` (string, required): File path inside BOKIO_DOWNLOAD_DIR, else the working directory; an existing file is never overwritten, so pick a new name.
- `uploadId` (string, required): Id from bokio_list_uploads; an unknown id returns a not-found error.

### `bokio_raw_get` (~109 tokens)

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.

Input parameters:

- `companyId` (string): Bokio company id. Defaults to BOKIO_COMPANY_ID if omitted.
- `params` (object): Scalar query params
- `path` (string, required): API path below /v1, e.g. /companies/{companyId}/tag-groups; query values go in params

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/diblaze-bokio-mcp/bokio-mcp#diagnostics

## Score history

- 2026-11-06: 87
- 2026-11-05: 86
- 2026-11-04: 86
- 2026-11-03: 85
- 2026-11-02: 85
- 2026-11-01: 84
- 2026-10-31: 84
- 2026-10-30: 83
- 2026-10-29: 83
- 2026-10-28: 82

## Common questions

### What is the bokio-mcp server?

bokio-mcp is listed in the public MCP registry as io.github.diblaze/bokio-mcp. Bokio accounting API as MCP tools: ledger, invoices, SIE balances, VAT, P&L. Read-only by default. This page covers its npm package (bokio-mcp).

### Is the bokio-mcp server safe to use?

bokio-mcp scores 87 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 6 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the bokio-mcp server expose?

bokio-mcp exposes 37 tools: bokio_company_info, bokio_list_fiscal_years, bokio_get_fiscal_year, bokio_chart_of_accounts, bokio_get_account, and 32 more. Their descriptions and schemas cost roughly 4,375 tokens of context every time the server is loaded.

### Is the bokio-mcp server still maintained?

bokio-mcp is still listed as active in the MCP registry. We last reached this channel on 6 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the bokio-mcp server under?

bokio-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

### What did VerifyMCP test on the bokio-mcp server?

VerifyMCP ran 16 checks on bokio-mcp, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- npm package: https://www.npmjs.com/package/bokio-mcp
- Socket report: https://socket.dev/npm/package/bokio-mcp
- Repository: https://github.com/diblaze/bokio-mcp
- Changelog RSS feed: https://verifymcp.io/servers/diblaze-bokio-mcp/bokio-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/diblaze-bokio-mcp/bokio-mcp/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/diblaze-bokio-mcp/bokio-mcp.json
- HTML version of this page: https://verifymcp.io/servers/diblaze-bokio-mcp/bokio-mcp
