支持MCP的个人记账应用ezBookkeeping
简介
什么是 ezBookkeeping ?
ezBookkeeping
是一款轻量、自托管 (self-hosted
) 的个人记账应用,拥有简洁美观的用户界面与强大的记账功能。它以“简单易用、易于部署”为设计理念,对系统资源的需求极低,非常适合部署在MicroServer
、NAS
设备,甚至树莓派上使用。
主要特点
- 开源与自托管: 用户可以完全控制自己的数据,保护隐私。
- 轻量与快速:优化性能,即使在低资源环境中也能流畅运行。
- 简单安装:支持
Docker
部署,兼容SQLite
、MySQL
和PostgreSQL
数据库。 - 跨平台支持:兼容
Windows
、macOS
和Linux
,支持x86
、amd64
和ARM
架构。 - 用户友好的界面:针对移动和桌面设备优化的
UI
,支持PWA
(渐进式Web
应用)。 - 强大的记账功能:支持两层账户和分类、交易附加图片、位置跟踪、定期交易等。
- 数据导入/导出功能:支持多种格式(如
CSV
、Firefly III
、随手记、支付宝以及微信账单等多种格式)的数据导入和导出。 - 安全性:提供双因素认证、登录限速和应用锁等安全措施。
- 多语言和多货币支持:自动汇率更新和多时区意识,便于国际用户使用。
应用场景
- 个人财务管理:适合个人用户管理和跟踪日常开支、收入和财务状况。
- 家庭预算规划:家庭用户可以利用该应用进行预算管理和开支分析。
- 小型企业记账:小型企业可使用该工具进行财务记录和报表生成。
- 数据迁移与整合:支持从其他财务软件迁移数据,方便用户集中管理财务信息。
ezBookkeeping
是一个灵活、高效的财务管理工具,适合希望控制个人财务的用户和小型企业。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 ezbookkeeping
,选择第一个 mayswind/ezbookkeeping
,版本选择 latest
。
本文写作时,
latest
版本对应为0.10
;
老苏选择了 MySQL
做数据库,但是没有用群晖自带的,这样适用范围更广,无论你使用什么类型的 NAS
,只要支持 docker
环境就可以
因为涉及多容器,所以采用 docker-compose
安装。将下面的内容保存为 docker-compose.yml
文件
1 | version: "3" |
- 容器
ezbookkeeping
的环境变量
环境变量 | 说明 |
---|---|
EBK_DATABASE_TYPE |
数据库类型,设置为 mysql |
EBK_DATABASE_HOST |
数据库主机地址,通常为 mysql:3306 |
EBK_DATABASE_NAME |
数据库名称,设置为 ezbookkeeping |
EBK_DATABASE_USER |
连接数据库的用户名,设置为 ezbookkeeping |
EBK_DATABASE_PASSWD |
连接数据库的密码,设置为 ezbookkeeping |
EBK_LOG_MODE |
日志模式,设置为 file |
EBK_SECURITY_SECRET_KEY |
随机字符串,用于安全密钥 |
EBK_MCP_ENABLE_MCP |
启用 MCP 功能,设置为 true |
- 容器
mysql
的环境变量
环境变量 | 说明 |
---|---|
MYSQL_DATABASE |
创建的数据库名称,设置为 ezbookkeeping |
MYSQL_USER |
数据库用户的名称,设置为 ezbookkeeping |
MYSQL_PASSWORD |
数据库用户的密码,设置为 ezbookkeeping |
MYSQL_ROOT_PASSWORD |
MySQL 根用户的密码,设置为 ezbookkeeping |
更多更详细的设置,请参考官方文档: https://ezbookkeeping.mayswind.net/zh_Hans/configuration
然后执行下面的命令
1 | # 新建文件夹 ezbookkeeping 和 子目录 |
运行
在浏览器中输入 http://群晖IP:8422
就能看到登录界面
第一次需要注册一个用户
如果不想麻烦,可以启用 使用预设交易分类
主界面
首先要有账户
可以是现金、借记卡、信用卡等,老苏建的账户名称为 测试账户
然后就可以添加交易数据了
生成 MCP 令牌
ezBookkeeping
支持 MCP
服务器,安装时,我们已经在环境变量中已经设置EBK_MCP_ENABLE_MCP=true
,接下来我们还需要生成 MCP
令牌
请注意,
ezBookkeeping
的MCP
令牌与其他类型的令牌不同,MCP
令牌没有过期时间;
有两种办法
方法一
第一种是通过图形界面,相对简单
右上角 –> 用户设置
–> 安全
–> 生成 MCP 令牌
输入当前账号的密码
生成令牌
启用配置,可以看到 json
配置格式
之后是看不到的,只能重新生成
方法二
第二种是命令行方式
1 | # 进入容器 |
Cherry Studio
以 Cherry Studio
为例添加 ezBookkeeping MCP
名称
:主要用于识别,例如:ezBookkeeping
类型
:选择streamableHttp
协议URL
:为http://群晖IP:8422/mcp
请求头
: 为Authorization=Bearer {token}
如果使用 json
1 | { |
如果设置没问题,可以看到可用的工具
为了确保大模型能正确理解什么是今天,还需要加个时间 mcp
如果使用 json
1 | { |
新建一个助手
启用 Time MCP
和 ezBookkeeping MCP
现在可以用自然语言进行记账了
回到 ezBookkeeping
的 web
界面,可以看到记录成功了
参考文档
mayswind/ezbookkeeping: A lightweight personal bookkeeping app hosted by yourself.
地址:https://github.com/mayswind/ezbookkeepingHome | ezBookkeeping
地址:https://ezbookkeeping.mayswind.net/ezBookkeeping
地址:https://ezbookkeeping-demo.mayswind.net