预算管理MCP服务

YNAB MCP服务器是一个通过自然对话使AI助手能够与您的YNAB预算交互的服务,支持查看和管理预算、交易、账户等功能。

  • by yabbi
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 yabbi/ynab_mcp

使用说明

YNAB MCP服务器

MCP(模型上下文协议)服务器,使AI助手能够通过自然对话与您的YNAB预算进行交互。适用于Claude、GitHub Copilot、OpenAI Codex和任何兼容MCP的客户端。

特性

  • 阅读你的预算:查看预算摘要、账户、类别、交易、收款人、计划交易
  • 管理交易:使用拆分事务支持创建、更新和删除事务
  • 预算编制:设置类别预算、更新类别、查看逐月细分
  • 账户管理:创建帐户、查看详细信息、调节余额
  • 定期交易:创建和查看定期交易
  • 收款人管理:查看和重命名收款人
  • 人性化输入:使用类别/账户/收款人名称(不是ID)、美元金额、灵活日期
  • 智能收款人匹配:模糊匹配现有收款人与新收款人的确认
  • 完整的目标细节:查看所有目标信息,包括目标、进度和资金状态

设置

1.获取您的YNAB API代币

  1. 首选 你需要一个预算 → 账户设置→ 开发人员设置
  2. 创建新的个人访问令牌
  3. 复制令牌

2.安装依赖项

npm install
npm run build

3.配置您的MCP客户端

克劳德代码

增添 ~/.claude/mcp_servers.json:

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

GitHub Copilot

添加到您的VS代码 settings.json:

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

OpenAI Codex/其他MCP客户端

使用stdio传输和以下命令:

YNAB_API_TOKEN=your-token-here node /path/to/ynab-mcp/dist/index.js

或者在客户的MCP设置中配置:

  • 命令: node
  • 参数: ["/path/to/ynab-mcp/dist/index.js"]
  • 环境: YNAB_API_TOKEN=your-token-here

替换 /path/to/ynab-mcp 此目录的实际路径。

可用工具

发现

工具 说明
search_tools 按关键字或类别(预算、账户、类别、交易、计划、收款人)搜索可用的YNAB工具

预算

工具 说明
get_budget_summary 概述:准备分配、预算、活动、账户余额
get_monthly_budget 特定月份的预算摘要
get_budget_months 列出所有预算月份,包括预算、活动和待预算金额

账户

工具 说明
get_accounts 列出所有有余额的账户(已清算/未清算)
get_account 按名称列出单个帐户的详细信息
create_account 创建新帐户(支票、储蓄、信用卡等)
reconcile_account 通过可选的余额调整来对账账户

分类

工具 说明
get_categories 所有有预算/支出/可用金额的类别
get_category 特定类别的详细信息,包括完整的目标信息
get_month_category 特定月份的类别详细信息(预算、活动、余额、目标)
set_category_budget 设置特定月份类别的预算金额
update_category 更新类别的名称、注释或目标

交易

工具 说明
get_transactions 最近使用过滤器的交易(帐户、类别、收款人、日期)
get_transaction 按ID获取单笔交易
get_month_transactions 特定预算月的所有交易
create_transaction 添加具有智能收款人匹配和拆分支持的新交易
update_transaction 更新现有交易(金额、收款人、类别、清算状态等)
delete_transaction 按ID永久删除交易

预定交易

工具 说明
get_scheduled_transactions 列出所有计划(重复)交易
create_scheduled_transaction 创建定期交易

收款人

工具 说明
get_payees 列出所有收款人
get_payee 按姓名获取单个收款人的详细信息
update_payee 重命名收款人

显示的数据

交易

每笔交易显示:

  • 日期
  • 金额(带流入/流出指示器)
  • 已清除状态(已清除/未清除/已对账)
  • 批准状态(已批准/待定)
  • 收款人、类别、账户
  • 备忘录(如有)

有目标的类别

当一个类别有目标时,你会看到:

  • 目标类型(TB、TBD、MF、NEED、DEBT)
  • 目标金额
  • 目标月份
  • 进度百分比
  • 已供资和剩余款项共计
  • 资金不足(如有)
  • 离预算还有几个月
  • 目标创建日期

使用示例

检查你的预算:

“我的预算是什么样子的?”

查看支出:

“这个月我在杂货上花了多少钱?”

添加交易:

“我在全食超市花了45美元买杂货”

拆分交易:

“我在好市多花了100美元——60美元买杂货,40美元买家居用品”

更新交易:

“将我最后一笔全食超市交易标记为已清算”

设置类别预算:

“本月杂货预算500美元”

检查账户余额:

“我的账户余额是多少?”

对账账户:

“将我的支票账户对账至1234.56美元”

查看类别目标进度:

“我的假期储蓄目标进展如何?”

智能功能

收款人匹配

  • 模糊匹配现有收款人(“亚马逊”找到“Amazon.com”)
  • 当存在多个匹配项时,要求澄清
  • 在创建新收款人之前确认

弹性日期

  • “今天”、“昨天”、“明天”
  • YYYY-MM-DD格式

美元金额

  • 以美元为单位输入金额(例如,-50.00)
  • 负=支出,正=收入
  • 自动转换为YNAB的毫单位

环境变量

变量 必填 描述
YNAB_API_TOKEN 是 您的YNAB个人访问令牌
YNAB_BUDGET_ID 否 覆盖自动检测到的预算

速率限制

YNAB API每小时允许200个请求。服务器为每个请求获取新数据以确保准确性。

许可证

国际学生委员会