预算管理服务器

YNAB MCP服务器是一个通过API与You Need A Budget(YNAB)交互的预算管理工具,支持预算、账户、类别和交易的管理。

  • by ntdef
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ntdef/ynab-mcp

使用说明

YNAB MCP服务器

模型上下文协议(MCP)服务器,用于通过其API与YNAB(您需要预算)交互。

特性

  • 获取预算、账户和类别
  • 获取、创建和更新交易
  • 创建新类别
  • 更新类别的预算金额
  • 获取预算摘要

先决条件

安装

  1. 克隆此存储库

    git clone https://github.com/ntdef/ynab-mcp.git
    cd ynab-mcp
    
  2. 创建虚拟环境

    uv venv
    
  3. 激活虚拟环境

    • 窗户:
      venv\Scripts\activate
      
    • Unix/MacOS:
      source venv/bin/activate
      
  4. 使用UV安装依赖项

    # python -m pip install uv
    uv sync
    
  5. 复制 .env.example 向 .env 并添加您的YNAB API令牌

    cp .env.example .env
    # Edit .env with your favorite editor
    

用法

运行服务器

uv run ynab-mcp

服务器将以stdio模式启动,因此您将看不到任何输出。

可用工具

YNAB MCP服务器提供以下工具:

预算管理

  • get_budgets:检索已验证用户的所有预算
  • get_budget_summary:获取特定月份的预算摘要(可选)

账户管理

  • get_accounts:检索特定预算的所有帐户

品类管理

  • get_categories:检索特定预算的所有类别
  • create_category:在指定的预算组中创建新类别
  • update_category_budgeted:更新特定月份某一类别的预算金额

交易管理

  • get_transactions:检索特定预算的交易记录,可选择按日期、帐户或类别进行筛选
  • create_transaction:在指定预算中创建新交易
  • update_transaction:更新特定交易的一个或多个字段

发展

运行测试

uv run pytest

代码风格

此项目使用Black和isort进行代码格式化。要格式化代码,请执行以下操作:

uv run isort src tests
uv run black src tests

许可证

MIT许可证

致谢