返回市场
预算管理器-mcp

预算管理器-mcp

作者:Jtewen5 星标更新:2025-06-20

项目介绍

YNAB MCP Server

PyPI 版本 许可证:MIT

这是一个用于与You Need A Budget(YNAB)无缝集成的模型上下文协议(MCP)服务器。此服务器使AI助手能够与您的YNAB预算进行交互,提供强大的自动化和分析功能。

快速安装(Claude Desktop)

{
  "mcpServers": {
    "ynab-mcp": {
      "command": "uvx",
      "args": ["ynab-mcp-server"],
      "env": {
        "YNAB_PAT": "your_token_here",
      }
    }
  }
}

可选环境变量:

"env": {
  "YNAB_DEFAULT_BUDGET_ID": "your_budget_id",
  "YNAB_READ_ONLY": "true"
}

功能

  • 完整的预算管理

    • 查看和管理多个预算
    • 跟踪账户余额和交易
    • 监控类别支出和目标
  • 交易控制

    • 列出和搜索交易
    • 更新交易详情
    • 管理收款人和类别
  • 财务分析

    • 获取全面的财务概览
    • 跟踪消费模式
    • 监控预算进度

目录

安装及使用

无需安装即可使用uvx

# 直接运行(推荐)
uvx ynab-mcp-server

# 或指定版本
uvx ynab-mcp-server@0.1.1

对于开发:

# 克隆并从源代码运行
git clone https://github.com/yourusername/ynab-mcp-server.git
cd ynab-mcp-server
uv run ynab-mcp-server

平台特定设置

Claude Desktop

  1. 找到您的配置文件:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 添加YNAB MCP服务器配置:

{
  "mcpServers": {
    "ynab-mcp": {
      "command": "uvx",
      "args": ["ynab-mcp-server"],
      "env": {
        "YNAB_PAT": "your_token_here"
      }
    }
  }
}

可选环境变量:

env: {
  "YNAB_DEFAULT_BUDGET_ID": "your_budget_id",
  "YNAB_READ_ONLY": "true"
}

Goose

  1. 打开Goose设置
  2. 导航至MCP服务器部分
  3. 添加一个新服务器:
    • 名称:ynab-mcp
    • 命令:uvx ynab-mcp-server
    • 环境变量:
      • YNAB_P_:your_token_here

其他平台

对于其他兼容MCP的平台,使用以下参数进行配置:

  • 服务器名称:ynab-mcp
  • 命令:uvx
  • 参数:ynab-mcp-server
  • 必要的环境变量:YNAB_PAT

配置

您的服务器可以通过环境变量进行配置。您可以在项目根目录创建一个.env文件,或者在shell中设置它们。

变量必需描述
YNAB_PAT您的YNAB个人访问令牌。
YNAB_DEFAULT_BUDGET_ID如果设置,服务器将以单个预算模式运行,始终使用此预算ID。list-budgets工具将被隐藏。
YNAB_READ_ONLY设置为true以禁用所有更改YNAB数据的工具。

获取您的YNAB令牌

  1. 获取您的YNAB令牌

  2. 设置环境

    在您的工作目录中创建一个.env文件:

    YNAB_PAT="your_token_here"
    YNAB_DEFAULT_BUDGET_ID="your_budget_id"
    YNAB_READ_ONLY="true"
    

    或者直接设置环境变量:

    export YNAB_PAT="your_token_here"
    

可用工具

该服务器提供了一系列工具来与您的YNAB数据进行交互。描述解释了每个工具的目的和推荐使用方法。

工具描述
manage-financial-overview获取、更新或刷新高级财务概览。这是任何分析的最佳起点,提供账户余额、目标和重要上下文注释。
list-accounts列出给定预算的所有账户。对于获取其他工具使用的账户ID很有用。
get-month-info获取单个月份的详细预算信息,包括资金年龄和预算总额、已花费金额和可用金额。调用此工具检查每月预算状态,然后再进行更改。
list-categories列出所有类别、组及其预算详情。在管理预算金额之前调用此工具,查看可用内容以及已经分配的内容。
list-transactions列出特定账户或整个月份的交易。用于调查财务概览中识别的消费模式
list-scheduled-transactions列出所有即将发生的计划交易。对于预测即将到期的账单很有用。
manage-budgeted-amount将预算金额分配给类别或将资金在类别之间转移。这是分配资金的主要工具。(只读模式下禁用写操作)
bulk-manage-transactions一次创建、更新或删除多个交易。比单独更改更有效率。(只读模式下禁用写操作)
manage-scheduled-transaction创建、更新或删除单个计划(重复)交易。用于管理重复账单或储蓄转账。(只读模式下禁用写操作)
list-payees列出给定预算的所有收款人。可用于查找收款人ID或识别需要合并的混乱收款人数据。
manage-payees将多个收款人名称合并为一个名称。用于清理收款人数据。(只读模式下禁用写操作)
lookup-entity-by-id根据其ID查找特定账户、类别或收款人的名称和详细信息。当您拥有ID但需要完整上下文时,这是一个实用工具。
lookup-payee-locations查找与收款人相关的地理位置。
list-budgets列出所有可用的YNAB预算(在单个预算模式下不可用)。

开发

本地设置

  1. 克隆仓库:

    git clone https://github.com/yourusername/ynab-mcp-server.git
    cd ynab-mcp-server
    
  2. 安装依赖项:

    uv sync
    
  3. 运行服务器:

    uv run ynab-mcp-server
    

调试

使用MCP Inspector进行调试:

npx @modelcontextprotocol/inspector uvx ynab-mcp-server

对于本地开发调试:

cd path/to/ynab-mcp-server
npx @modelcontextprotocol/inspector uv run ynab-mcp-server

您还可以通过以下方式查看日志:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

构建和发布

# 构建包
uv build

# 发布到PyPI
uv publish

贡献

欢迎贡献!以下是您可以帮助的方式:

  1. 分叉仓库
  2. 创建一个特性分支(git checkout -b feature/amazing-feature
  3. 提交您的更改(git commit -m '添加神奇功能'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开拉取请求

请确保您的PR:

  • 遵循现有的代码风格
  • 包含适当的测试
  • 如有必要,更新文档

许可证

该项目根据MIT许可证授权 - 请参阅LICENSE文件了解详细信息。

致谢