关于 bokio-mcp
bokio-mcp 将 Bokio 会计 API 封装为 MCP 工具,面向使用 Bokio 自行记账的小型企业和顾问。它默认只读,并可基于 SIE 导出计算余额、增值税和损益等数据。
主要功能
- 01读取日记账、发票及客户供应商数据
- 02获取账户余额和分类账
- 03计算增值税与损益
- 04查找未结项目及可能的重复记账
- 05按银行对账单进行核对
- 06默认禁用写入工具
适用场景
- 01用自然语言查询指定日期的账户余额
- 02汇总某一期间的增值税和损益
- 03检查未付款发票或重复记账
- 04将账目与银行对账单核对
MCP 相关
该项目是 MCP 服务,通过 stdio 连接 Bokio API,并向 MCP 客户端提供会计数据查询和计算工具。写入工具默认隐藏,配置后才可启用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y bokio-mcpBOKIO_TOKEN密钥Private Bearer token, created in Bokio under IntegrationsBOKIO_COMPANY_IDDefault company, used when a tool call leaves out companyIdBOKIO_ALLOW_WRITES1, true, yes or on enables write tools; anything else keeps them hidden and blockedBOKIO_DOWNLOAD_DIRWhere SIE, PDF and upload downloads are saved; paths outside it are rejected and files are never overwrittenBOKIO_BASE_URLDefaults to https://api.bokio.se/v1本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
37收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| companyId | string | 否 | Bokio 公司 ID。未提供时,默认为 BOKIO_COMPANY_ID。 |
详细介绍
bokio-mcp
适用于 Bokio 会计 API 的 MCP 服务。将它连接到 Claude 或任何其他 MCP 客户端,即可用日常语言询问账目情况:某个日期的银行账户余额是多少、哪些客户发票仍未付款、上个季度的增值税合计是多少,以及是否有重复记账。
它面向在 Bokio 中自行记账的小型企业和顾问。默认情况下,它只读取数据:写入工具会保持隐藏,直到你启用它们,因此可以安全地连接到实际会计数据。
涵盖内容
该服务为一家公司封装了 Bokio API:日记账分录、发票、贷项通知单、客户、供应商、供应商发票、商品、上传内容、银行付款(只读)、会计科目表、财年和 SIE 导出。
它还提供基于 SIE 导出的计算工具:指定日期的余额、单个科目的分类账、某一期间的增值税和损益、未结项目、可能的重复记账,以及与银行对账单的核对。服务会以 öre 为单位进行所有计算,并将最终数字交给客户端,因此同一个问题每次都会得到相同的答案。
开始之前
你需要准备三样东西:
- Bokio 私有集成令牌。在 Bokio 中,前往 Integrations,创建一个集成并复制令牌。Bokio 允许每家公司每月发送 5,000 次请求,每分钟发送 200 次。
- 公司 ID。它位于 Bokio URL 中:
.../companies/<companyId>/...。 - Node.js 22 或更高版本。
安装
该服务可直接通过 npm 运行,无需克隆仓库。它通过 stdio 使用 MCP,因此由你的 MCP 客户端启动。它在 MCP Registry 中的名称是 io.github.diblaze/bokio-mcp。
正在使用 AI Agent?将 https://raw.githubusercontent.com/diblaze/bokio-mcp/main/LLM.md 粘贴给它,并让它安装 bokio-mcp。
Claude Code
claude mcp add --transport stdio --scope user \
--env BOKIO_TOKEN=your_token \
--env BOKIO_COMPANY_ID=your_company_id \
bokio -- npx -y bokio-mcp
Claude Desktop 和其他 MCP 客户端
将以下内容添加到客户端的 mcpServers 配置中(对于 Claude Desktop,配置文件为 claude_desktop_config.json):
{
"mcpServers": {
"bokio": {
"command": "npx",
"args": ["-y", "bokio-mcp"],
"env": {
"BOKIO_TOKEN": "your_token",
"BOKIO_COMPANY_ID": "your_company_id",
"BOKIO_DOWNLOAD_DIR": "/path/for/downloads",
"BOKIO_ALLOW_WRITES": ""
}
}
}
}
请勿将令牌放入你会提交或分享的文件中。Claude Code 等支持此功能的客户端可以改为从 shell 环境中读取 ${BOKIO_TOKEN}。
配置
| 变量 | 必需 | 用途 |
|---|---|---|
BOKIO_TOKEN | 调用工具时需要 | 私有 Bearer 令牌 |
BOKIO_COMPANY_ID | 默认公司 | 工具调用未提供 companyId 时使用 |
BOKIO_ALLOW_WRITES | 否 | 设置为 1、true、yes 或 on 时启用写入工具;其他任何值都会使其保持隐藏并被禁用 |
BOKIO_DOWNLOAD_DIR | 建议设置 | SIE、PDF 和上传内容下载后的保存位置。未设置时,下载内容会保存到服务的工作目录;如果该目录是 /,则会拒绝下载,Claude Desktop 经常会出现这种情况。目录之外的路径会被拒绝,且绝不会覆盖现有文件 |
BOKIO_BASE_URL | 否 | 默认为 https://api.bokio.se/v1 |
读取和写入
需要服务在 Bokio 中创建或更改内容时,将 BOKIO_ALLOW_WRITES=1;其余时间请留空。下方的写入工具会标记为 (写入)。
银行付款有意设置为只读。创建付款并通过 BankID 签署后会转移资金,因此服务不提供此功能。
工具
公司和总账: bokio_company_info、bokio_list_fiscal_years、bokio_get_fiscal_year、bokio_chart_of_accounts、bokio_get_account、bokio_download_sie
日记账: bokio_list_journal_entries(from/to/query)、bokio_get_journal_entry、bokio_create_journal_entry (写入)、bokio_reverse_journal_entry (写入)
发票: bokio_list_invoices、bokio_get_invoice、bokio_create_invoice (写入)、bokio_update_invoice (写入)、bokio_delete_invoice (写入)、bokio_publish_invoice (写入)、bokio_record_invoice (写入)、bokio_create_invoice_payment (写入)、bokio_download_invoice(PDF)、bokio_list_invoice_payments、bokio_list_invoice_settlements、bokio_create_invoice_settlement (写入)
贷项通知单: bokio_list_credit_notes、bokio_get_credit_note、bokio_download_credit_note(PDF)、bokio_create_credit_note (写入,根据发票创建)、bokio_update_credit_note (写入)、bokio_publish_credit_note (写入)、bokio_record_credit_note (写入)、bokio_delete_credit_note (写入,仅限草稿)
供应商: bokio_list_suppliers、bokio_get_supplier、bokio_create_supplier (写入)、bokio_update_supplier (写入)
供应商发票: bokio_list_supplier_invoices、bokio_get_supplier_invoice、bokio_create_supplier_invoice (写入)、bokio_update_supplier_invoice (写入)
客户: bokio_list_customers、bokio_get_customer、bokio_create_customer (写入)、bokio_update_customer (写入)
项目: bokio_list_items、bokio_get_item、bokio_create_item (写入)、bokio_update_item (写入)
上传: bokio_list_uploads、bokio_get_upload、bokio_upload_file (写入)、bokio_download_upload
银行付款: bokio_list_bank_payments、bokio_get_bank_payment。Bokio 只会返回由同一集成创建的付款。
计算结果: bokio_account_balances、bokio_account_ledger、bokio_find_duplicates、bokio_reconcile_bank(将银行对账单作为 {date, amount, text} 行传入)、bokio_vat_summary(账户合计,未映射到 VAT 申报表项目)、bokio_profit_and_loss、bokio_open_items(即使收入是通过手动日记账分录而非发票模块入账,也适用)。每次调用都会下载所需财政年度的 SIE 导出文件,每年发送一个请求。金额采用总账符号规则,借方为正、贷方为负;验证记录会与其 Annullering av … 冲销记录相互抵消。
其他所有内容: bokio_raw_get 会向任意 Bokio 路径发送 GET 请求。
限制
- 日记账分录采用复式记账,因此借方总额必须等于贷方总额。
- 标签组、项目、日记账分录备注和标签,以及发票附件目前都没有对应工具。请使用
bokio_raw_get读取。 - Bokio 的 API 参考文档位于 https://docs.bokio.se,OpenAPI 规范位于 https://github.com/bokio/bokio-api。
参与贡献
欢迎提交问题和拉取请求。CONTRIBUTING.md 介绍了如何从源代码构建、运行测试和冒烟检查,以及拉取请求的要求。简而言之:提交信息遵循 Conventional Commits,运行 pnpm install 会设置用于检查格式和提交信息的 git 钩子;维护者审核前,CI 必须在 Node 22 和 24 上通过。添加工具的检查清单也在同一文件中。
请按照 SECURITY.md 中的说明私下报告安全问题,不要在公开问题中披露。发布说明见 CHANGELOG.md。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。