预算管理协议服务器

一个基于Docker的MCP服务器,用于Claude Code与You Need A Budget (YNAB)的集成,提供预算管理、交易跟踪和财务洞察的API。

  • by mattweg
  • JavaScript
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 mattweg/ynab-mcp

使用说明

YNAB MCP

YNAB模型上下文协议(MCP)服务器,用于克劳德代码与您需要预算(YNAB)的集成。

概述

此存储库包含一个基于Docker的MCP服务器,使Claude Code能够与YNAB(您需要预算)帐户进行交互。它实现了OAuth流程,并为预算管理、交易跟踪和财务见解提供了全面的API。

已知问题

MCP工具可用性

已查明以下问题:

  1. 交易API -The list_transactions 使用时,终结点失败,出现“无效日期”错误 sinceDate 参数
  2. 缺少API工具 -源代码中定义的几个端点在MCP集成中不可用
  3. 行为不一致 -一些工具在test-mcp.js测试中工作,但在实际的mcp集成中失败

问题跟踪

我们正在积极进行以下修复:

  • fix-transactions-api 分支:处理API事务中的日期格式处理
  • fix-mcp-registration 分支机构:确保所有API工具正确注册并可用

特性

  • 使用YNAB API进行基于OAuth的身份验证
  • 全面的预算和账户管理
  • 交易创建和分类
  • 具有批量分配和推荐功能的高级类别管理
  • 支持多种预算(个人和家庭)
  • 速率限制处理(YNAB API限制:200次请求/小时)
  • 缓存以提高性能

新类别管理功能

此MCP包括高级类别管理功能:

  • 分配到类别:在一次操作中将“准备分配”中的资金分配给多个类别
  • 建议分配:根据目标和支出模式,获取基于人工智能的预算分配建议

看 类别管理文件 了解详情。

入门指南

先决条件

  • 码头工人
  • Node.js v18+(用于开发)
  • 克劳德代码CLI
  • YNAB帐户

安装

  1. 克隆此存储库
  2. 复制 config/config.example.js 向 config/config.js 并添加您的YNAB API证书
  3. 构建Docker镜像: docker build -t ynab-mcp:latest .
  4. 为Claude创建JSON配置:
    {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "/path/to/data:/app/data",
        "-v",
        "/path/to/config:/app/config",
        "-e",
        "NODE_ENV=production",
        "ynab-mcp:latest"
      ]
    }
    
  5. 在Claude Code CLI中注册MCP:
    claude mcp add-json ynab '{"command": "docker", "args": ["run", "--rm", "-i", "-v", "/path/to/data:/app/data", "-v", "/path/to/config:/app/config", "-e", "NODE_ENV=production", "ynab-mcp:latest"]}'
    
    您还可以将JSON保存到文件中并使用:
    claude mcp add-json ynab "$(cat config.json)"
    
  6. 在Claude提示时使用您的YNAB帐户进行身份验证

与Claude整合

此MCP与Claude无缝集成,允许:

  • 查看预算和交易记录
  • 获得财务见解
  • 通过自然对话管理您的预算

安全

  • 令牌安全地存储在已挂载的Docker卷中
  • 未记录敏感数据
  • 身份验证使用OAuth 2.0标准
  • 支持只读模式

实现细节

该实现遵循模型上下文协议标准,使用:

  • Node.js和官方MCP SDK
  • Docker用于容器化和部署
  • 用于API操作的YNAB JavaScript SDK
  • OAuth 2.0用于身份验证

许可证

麻省理工学院

致谢