使用说明
hledger MCP服务器
一种模型上下文协议(MCP)服务器,提供与hledger纯文本会计系统交互的工具。
特性
此MCP服务器提供以下处理工具:
财务报告
- hledger_balance -生成带有过滤选项的余额报告
- hledger_income报表 -生成损益表
- 资产负债表 -生成资产负债表
- hledger_现金流 -生成现金流量表
事务管理
- hledger_register -通过筛选查看交易列表
账户管理
- hledger_accounts -列出所有具有可选筛选功能的帐户
- hledger_stats -显示日记统计信息
安装
- 确保你有 赫勒杰 安装在您的系统上
- 克隆此存储库
- 安装依赖项:
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文件:
- 明确的
file参数 -如果在工具调用中提供 LEDGER_FILE环境变量 -如果设置- 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