使用说明
项目简介
Beanquery MCP Server 是一个基于 Model Context Protocol (MCP) 的实验性服务器实现,旨在连接大型语言模型 (LLM) 与 Beancount 财务账本。它利用 Beancount Query Language (BQL) 和 beanquery 工具,使得用户可以通过标准化的 MCP 协议,使用 LLM 客户端查询和分析 Beancount 格式的财务数据。
主要功能点
- 资源访问: 提供对 Beancount 账本数据的资源访问能力,例如获取 BQL 可访问的表列表和账本中的账户列表。
- 工具执行: 支持执行 BQL 查询工具,允许 LLM 客户端通过 'run_query' 工具,使用 BQL 语句查询账本数据,并以文本表格形式返回结果。
- 账本配置: 允许通过 'set_ledger_file' 工具动态设置或更改服务器使用的 Beancount 账本文件。
- 标准化接口: 遵循 MCP 协议,提供与 LLM 客户端进行标准化 JSON-RPC 通信的接口。
安装步骤
- 环境准备: 确保已安装 Python 3.10 或更高版本,并推荐使用 'uv' 进行 Python 项目管理。
- 安装服务器: 根据仓库 README.md 提供的 "Usage" -> "Running the Server" 部分,可以使用 'mcp install server.py' 命令将服务器安装到支持 MCP 协议的客户端,例如 Claude Desktop。
- 安装依赖: 安装 'beancount' 和 'beanquery' 依赖,可以使用如下命令,具体依赖安装方式请参考仓库 README.md:
uv run mcp install server.py --with beancount --with beanquery
服务器配置
MCP 客户端需要配置服务器的启动命令和参数才能连接 Beanquery MCP Server。以下是配置信息示例 (JSON 格式),请在 MCP 客户端中根据实际情况进行配置:
{ "serverName": "Beanquery MCP Server", "command": "mcp", "args": [ "dev", "server.py" ], "transports": { "stdio": {} }, "capabilities": [ "resources", "tools", "prompts" ], "configuration": { "BEANCOUNT_LEDGER": "/path/to/your/ledger.bean" // (可选) Beancount 账本文件路径,也可以通过 set_ledger_file 工具动态设置 } }
基本使用方法
- 启动服务器: 使用 'mcp dev server.py' 命令启动服务器。
- 客户端连接: 在支持 MCP 协议的 LLM 客户端 (如 Claude.ai) 中安装并连接到 Beanquery MCP Server。
- 资源访问: 在 LLM 客户端中,可以使用以下资源 URI 获取信息:
- 'beanquery://tables': 获取 BQL 可访问的表列表。
- 'beanquery://accounts': 获取账本中的账户列表。
- 工具调用: 在 LLM 客户端中,可以调用以下工具执行操作:
- 'set_ledger_file(filename: string)': 设置要使用的 Beancount 账本文件。
- 'run_query(query: string)': 执行 BQL 查询,并返回文本结果。
例如,在 Claude.ai 中,你可以指示 Claude 使用 'run_query' 工具查询特定账户的余额,或者使用 'get_accounts' 资源获取账户列表用于进一步分析。
隐私警告
请务必注意仓库 README.md 中提到的隐私警告。Beanquery MCP Server 可能会将部分账本数据传输给 LLM 提供商,因此请谨慎处理敏感财务信息,并尽可能使用自托管的 LLM 后端。
信息
分类
商业系统