hledger财务报告工具

一个基于hledger的MCP服务器,提供财务报告、交易管理和账户管理功能,适用于个人和企业财务管理。

  • by Rigellute
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 rigellute/hledger-mcp

使用说明

hledger MCP服务器

一种模型上下文协议(MCP)服务器,提供与hledger纯文本会计系统交互的工具。

特性

此MCP服务器提供以下处理工具:

财务报告

  • hledger_balance -生成带有过滤选项的余额报告
  • hledger_income报表 -生成损益表
  • 资产负债表 -生成资产负债表
  • hledger_现金流 -生成现金流量表

事务管理

  • hledger_register -通过筛选查看交易列表

账户管理

  • hledger_accounts -列出所有具有可选筛选功能的帐户
  • hledger_stats -显示日记统计信息

安装

  1. 确保你有 赫勒杰 安装在您的系统上
  2. 克隆此存储库
  3. 安装依赖项:
    bun install
    

VS代码配置

当将此MCP服务器与VS Code一起使用时,您需要确保它在正确的目录中运行hledger命令。将服务器添加到VS Code MCP设置中(通常在VS Code设置中):

{
  "mcpServers": {
    "hledger": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/hledger-mcp/index.ts"],
      "env": {
        "LEDGER_FILE": "/path/to/your/finances/main.journal"
      }
    }
  }
}

文件分辨率优先级

服务器按以下顺序解析要使用的hledger文件:

  1. 明确的 file 参数 -如果在工具调用中提供
  2. LEDGER_FILE 环境变量 -如果设置
  3. hledger的默认文件发现 -遵循hledger的标准规则

工作目录处理

MCP服务器支持多种方式来指定要使用的hledger文件:

选项1:使用LEDGER_FILE环境变量(推荐)

设置 LEDGER_FILE MCP服务器配置中的环境变量。服务器将自动使用中指定的日志文件 $LEDGER_FILE.

选项2:使用workingDirectory参数

所有工具都接受可选 workingDirectory 指定应在何处执行hledger命令的参数。

选项3:使用绝对文件路径

您可以使用指定日志文件的确切路径 file 参数。

选项4:使用工作目录的相对路径

如果您的日志文件位于特定的目录结构中,您可以将 workingDirectory 带有相对值的参数 file 路径。

用法

作为MCP服务器

在stdio模式下运行服务器:

bun run index.ts

刀具参数

公共参数

  • 文件 (可选):特定hledger日志文件的路径(覆盖 $LEDGER_FILE 任何人)
  • 工作目录 (可选):运行hledger命令的目录(默认为当前目录)
  • 时期 (可选):使用自然语言的时间段过滤器(例如,“本月”、“2024”、“上一季度”)
  • 开始日期 (可选):过滤的精确开始日期(YYYY-MM-DD、YYYY-MM或YYYY)
  • 实际结束 (可选):过滤的精确结束日期(YYYY-MM-DD、YYYY-MM或YYYY)
  • 深度 (可选):报告的帐户深度限制

备注:使用 beginDate/endDate 精确的日期范围和月平均值。如果两者都有 period 和 beginDate/endDate 如有提供,以具体日期为准。

环境变量

  • LEDGER_FILE:默认日志文件路径(未指定显式文件时使用)

hledger_balance

  • 账户 (可选):要过滤的帐户模式
  • 时期 (可选):自然语言时间段(例如,“本月”、“2024”)
  • 开始日期 (可选):筛选的开始日期(YYYY-MM-DD或YYYY-MM或YYYY)
  • 实际结束 (可选):筛选结束日期(YYYY-MM-DD或YYYY-MM或YYYY)
  • 每月 (可选):显示每月明细
  • 平均 (可选):显示报告期内的平均值
  • 平坦的 (可选):显示平面帐户列表而不是树

hledger_register

  • 怎么翻译 (可选):查询以筛选交易
  • 时期 (可选):自然语言时间段(例如,“本月”、“2024”)
  • 开始日期 (可选):筛选的开始日期(YYYY-MM-DD或YYYY-MM或YYYY)
  • 实际结束 (可选):筛选结束日期(YYYY-MM-DD或YYYY-MM或YYYY)
  • 每月 (可选):显示每月明细
  • 宽度 (可选):输出宽度(默认值:80)

hledger_accounts

  • 模式 (可选):过滤帐户的模式
  • 树 (可选):以树格式显示帐户

需求

发展

服务器是使用以下方式构建的:

  • Bun用于JavaScript运行时和进程执行
  • MCP服务器功能的模型上下文协议SDK
  • Zod用于输入验证

要在开发模式下运行:

bun run index.ts