bokio-mcp
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., "@bokio-mcplist the last 10 journal entries"
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.
bokio-mcp
Model Context Protocol server for the Bokio accounting API.
Auth: private self-serve Bearer token (single company). No OAuth.
Scope: journal entries, invoices, customers, items, uploads, chart of accounts, fiscal years, SIE export.
Safety: all write operations are blocked unless
BOKIO_ALLOW_WRITES=1.
Built for driving a Swedish AB's books alongside a YNAB budget. Read-only by default so it is safe to point at live accounting data.
Prerequisites
A Bokio private API token: Bokio → Inställningar → API Tokens (free up to 5,000 requests/month).
Your company id — copy it from the Bokio browser URL (
.../companies/<companyId>/...).Node.js ≥ 22.13 and pnpm (
corepack enable).
Related MCP server: billforward-mcp
Install & build (local)
git clone https://github.com/diblaze/bokio-mcp.git ~/git/bokio-mcp
cd ~/git/bokio-mcp
pnpm install
pnpm run build # → dist/
pnpm test # mocked unit tests
pnpm run smoke # MCP handshake, asserts tools register
pnpm run lint # biome check (lint + format)Configure in Claude Code
Add to ~/.claude.json under mcpServers (or use claude mcp add):
{
"mcpServers": {
"bokio": {
"command": "node",
"args": ["/home/denis/git/bokio-mcp/dist/index.js"],
"env": {
"BOKIO_TOKEN": "${BOKIO_TOKEN}",
"BOKIO_COMPANY_ID": "your_company_id",
"BOKIO_ALLOW_WRITES": ""
}
}
}
}Leave BOKIO_ALLOW_WRITES empty for read-only. Set it to 1 only when you intend to mutate the books.
Do not hardcode the token in a committed file. Use
${BOKIO_TOKEN}env expansion, matching how the YNAB MCP token is handled.
Environment
Var | Required | Purpose |
| yes (at call time) | Private Bearer token |
| default company | Omit a tool's |
| no |
|
| no | Confines SIE/upload downloads to this dir (rejects path traversal) |
| no | Defaults to |
Tools
Meta: bokio_company_info, bokio_list_fiscal_years, bokio_get_fiscal_year, bokio_chart_of_accounts, bokio_get_account, bokio_download_sie
Journal: bokio_list_journal_entries (from/to/query), bokio_get_journal_entry, bokio_create_journal_entry (write), bokio_reverse_journal_entry (write)
Invoices: bokio_list_invoices, bokio_get_invoice, bokio_create_invoice (write), bokio_update_invoice (write), bokio_delete_invoice (write), bokio_publish_invoice (write), bokio_record_invoice (write), bokio_create_invoice_payment (write)
Customers: bokio_list_customers, bokio_get_customer, bokio_create_customer (write), bokio_update_customer (write)
Items: bokio_list_items, bokio_get_item, bokio_create_item (write), bokio_update_item (write)
Uploads: bokio_list_uploads, bokio_get_upload, bokio_upload_file (write), bokio_download_upload
Escape hatch: bokio_raw_get — GET any Bokio path (read-only).
Notes
Journal entries are double-entry: debit total must equal credit total.
SIE download is great for reconciling the AB ledger against an external budget.
[Preview]Bokio endpoints (supplier-invoices, suppliers, tag-groups) are not yet wrapped; reach them viabokio_raw_get.API reference: https://docs.bokio.se · specs: https://github.com/bokio/bokio-api
Contributing
main is protected — external changes land via pull request.
Fork, branch, commit.
Ensure
pnpm exec biome ci,pnpm run typecheck,pnpm test,pnpm run build, andpnpm run smokeall pass (CI runs the same on Node 22).Open a PR against
main. CI must be green and a maintainer (@diblaze, perCODEOWNERS) must approve before merge.
Toolchain: TypeScript + pnpm, Biome for lint/format, Vitest for tests.
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
- AlicenseAqualityDmaintenanceEnables interaction with Brex financial data including expenses, budgets, transactions, and accounts through read-only API access with support for pagination, filtering, and receipt management.216MIT
- AlicenseAqualityBmaintenanceEnables LLMs to interact with Billforward's billing and subscription management API, providing tools for accounts, subscriptions, invoices, payments, and more with read-only safety by default.23853MIT
- Alicense-qualityCmaintenanceEnables AI agents to read and write Cynco accounting data, including querying books, creating invoices, reconciling transactions, and generating financial reports.91MIT
- Alicense-qualityCmaintenanceEnables interaction with the sevDesk accounting API for managing contacts, invoices, credit notes, orders, vouchers, transactions, and parts.321MIT
Related MCP Connectors
Read-only NuMetric.work accounting & ERP data: statements, KPIs, reports, invoices, documents.
Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.
Read-only live access to Australian bank (CDR/open banking) and global brokerage data for AI agents.
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/diblaze/bokio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server