mcpField
B
bokio-mcp

bokio-mcp

本地服务
github.com/diblaze金融数据25 天前更新

关于 bokio-mcp

bokio-mcp 将 Bokio 会计 API 封装为 MCP 工具,面向使用 Bokio 自行记账的小型企业和顾问。它默认只读,并可基于 SIE 导出计算余额、增值税和损益等数据。

主要功能

  1. 01读取日记账、发票及客户供应商数据
  2. 02获取账户余额和分类账
  3. 03计算增值税与损益
  4. 04查找未结项目及可能的重复记账
  5. 05按银行对账单进行核对
  6. 06默认禁用写入工具

适用场景

  1. 01用自然语言查询指定日期的账户余额
  2. 02汇总某一期间的增值税和损益
  3. 03检查未付款发票或重复记账
  4. 04将账目与银行对账单核对

MCP 相关

该项目是 MCP 服务,通过 stdio 连接 Bokio API,并向 MCP 客户端提供会计数据查询和计算工具。写入工具默认隐藏,配置后才可启用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"diblaze-bokio": {
"command": "npx",
"args": [
"-y",
"bokio-mcp"
],
"env": {
"BOKIO_TOKEN": "<BOKIO_TOKEN>",
"BOKIO_COMPANY_ID": "<BOKIO_COMPANY_ID>",
"BOKIO_ALLOW_WRITES": "<BOKIO_ALLOW_WRITES>",
"BOKIO_DOWNLOAD_DIR": "<BOKIO_DOWNLOAD_DIR>",
"BOKIO_BASE_URL": "<BOKIO_BASE_URL>"
}
}
}
}
启动命令npx -y bokio-mcp
需要配置的环境变量
BOKIO_TOKEN密钥Private Bearer token, created in Bokio under Integrations
BOKIO_COMPANY_IDDefault company, used when a tool call leaves out companyId
BOKIO_ALLOW_WRITES1, true, yes or on enables write tools; anything else keeps them hidden and blocked
BOKIO_DOWNLOAD_DIRWhere SIE, PDF and upload downloads are saved; paths outside it are rejected and files are never overwritten
BOKIO_BASE_URLDefaults to https://api.bokio.se/v1

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmbokio-mcp0.6.0

工具

37

收录的工具列表 · 更新于 1 周前

参数类型必填说明
companyIdstring否Bokio 公司 ID。未提供时,默认为 BOKIO_COMPANY_ID。

详细介绍

bokio-mcp

CI npm downloads

适用于 Bokio 会计 API 的 MCP 服务。将它连接到 Claude 或任何其他 MCP 客户端,即可用日常语言询问账目情况:某个日期的银行账户余额是多少、哪些客户发票仍未付款、上个季度的增值税合计是多少,以及是否有重复记账。

它面向在 Bokio 中自行记账的小型企业和顾问。默认情况下,它只读取数据:写入工具会保持隐藏,直到你启用它们,因此可以安全地连接到实际会计数据。

涵盖内容

该服务为一家公司封装了 Bokio API:日记账分录、发票、贷项通知单、客户、供应商、供应商发票、商品、上传内容、银行付款(只读)、会计科目表、财年和 SIE 导出。

它还提供基于 SIE 导出的计算工具:指定日期的余额、单个科目的分类账、某一期间的增值税和损益、未结项目、可能的重复记账,以及与银行对账单的核对。服务会以 öre 为单位进行所有计算,并将最终数字交给客户端,因此同一个问题每次都会得到相同的答案。

开始之前

你需要准备三样东西:

  1. Bokio 私有集成令牌。在 Bokio 中,前往 Integrations,创建一个集成并复制令牌。Bokio 允许每家公司每月发送 5,000 次请求,每分钟发送 200 次。
  2. 公司 ID。它位于 Bokio URL 中:.../companies/<companyId>/...。
  3. 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。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。