预算管理服务器

一个通过自然语言管理YNAB预算的MCP服务器,支持导入银行文件、分类交易和查询支出情况。

  • by Tankatronic
  • TypeScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 Tankatronic/ynab-mcp-server

使用说明

ynab mcp服务器

一 MCP服务器 它允许您通过自然语言管理YNAB预算——导入银行文件、对交易进行分类,并询问有关支出的问题。

专为不链接银行账户的YNAB用户打造。 如果您更喜欢手动导入交易,而不是将您的金融账户连接到第三方服务,此工具可以消除繁琐的部分。从你的银行导出一个文件,告诉你的人工智能助手导入它,你就完成了。

与YNAB的内置文件导入不同,它要求CSV 重新格式化为特定布局 --此服务器直接处理您银行的CSV导出。它自动检测美国主要银行的格式,并自动处理列映射、日期解析和金额符号约定。

您的财务数据保留在您的机器上。唯一的外部调用是使用您的个人访问令牌访问官方YNAB API-没有数据聚合器,没有第三方服务。

安装

npm install -g @tankatronic/ynab-mcp-server

快速开始

1.获取YNAB代币

首选 YNAB开发人员设置 并创建个人访问令牌。

2.配置您的MCP客户端

将服务器添加到MCP客户端配置中。以下是Claude Desktop的示例(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上, %APPDATA%\Claude\claude_desktop_config.json 在Windows上):

{
  "mcpServers": {
    "ynab": {
      "command": "npx",
      "args": ["-y", "@tankatronic/ynab-mcp-server"],
      "env": {
        "YNAB_API_TOKEN": "your-token-here"
      }
    }
  }
}

这适用于任何兼容MCP的客户端——请参阅 MCP客户端目录 其他选择。

3.重新启动客户端并尝试

“将我的Chase交易从~/Downloads/Chase-eb-2026.csv导入我的支票账户”

服务器将解析文件,根据您最近的交易历史建议类别,并允许您在将任何内容导入YNAB之前进行查看。

你能做什么

导入银行文件

删除CSV、OFX或QFX导出,让服务器处理解析和分类。自动检测来自大通、美国银行、富国银行、美国运通和花旗的格式。任何其他银行都使用显式列映射。

"Import ~/Downloads/amex-statement.csv into my Amex account"

导入同一文件两次是安全的——每个事务都会得到一个确定的ID,YNAB会跳过已经导入的任何内容。

获取类别建议

在预览导入时,服务器会查找您最近的YNAB历史记录,并通过将收款人名称与您之前的分类方式进行匹配来建议类别。在做出任何决定之前,你都要进行审查和调整。

拆分交易

一笔交易可以分为不同的类别,例如,在同一张好市多收据上的杂货和家居用品。

询问你的预算

"How does my grocery spending compare to the last 3 months?"
"Which categories are consistently underspent?"
"Show me all Amazon transactions over $50 this year"

使用指导工作流程

该服务器附带了逐步的工作流程配置,可引导您的AI助手完成导入和对账等多步骤流程:

"List available workflows"
"Run the import-categorize workflow"

您可以通过设置添加自己的 YNAB_MCP_WORKFLOWS_DIR 到markdown工作流文件目录。

工具

工具 它做什么
parse_bank_export 解析CSV、OFX或QFX文件
preview_import 使用类别建议对导入进行模拟运行
import_transactions 具有自动重复数据删除功能的批量导入
reconcile_import 验证导入的总计是否与源文件匹配
get_budget_overview 显示帐户、余额和类别组总计
get_spending_by_category 给定月份的预算与实际
get_monthly_trends 比较几个月的支出(最多12个月)
search_transactions 按账户、类别、收款人、日期或金额筛选
create_transaction 创建交易,可选择拆分
update_transaction 编辑现有交易
update_category_budget 更改类别的预算金额
list_workflow_configs 列出可用的工作流配置
read_workflow_config 加载工作流配置

支持的银行格式

自动检测CSV布局:

  • Chase(信用卡和支票)
  • 美国银行
  • 富国银行
  • 美国运通
  • 花旗

还支持:

  • OFX和QFX文件(大多数银行提供此导出)
  • 任何具有自定义的CSV column_mapping 参数

没看到你的银行吗?这 parse_bank_export 该工具接受显式列映射。

先决条件

发展

git clone https://github.com/Tankatronic/ynab-mcp-server.git
cd ynab-mcp-server
npm install
npm test          # run tests
npm run build     # compile TypeScript
npm run lint      # type-check

要将本地构建与MCP客户端一起使用,请将其指向构建入口点:

{
  "mcpServers": {
    "ynab": {
      "command": "node",
      "args": ["/absolute/path/to/ynab-mcp-server/dist/index.js"],
      "env": {
        "YNAB_API_TOKEN": "your-token-here"
      }
    }
  }
}

贡献

欢迎提出问题和公关,特别是:

  • 新银行的CSV格式配置文件
  • 常见用例的工作流配置文件
  • 带有匿名样本银行文件的Bug报告

许可证

麻省理工学院