预算管理服务器

一个用于与You Need A Budget (YNAB)无缝集成的模型上下文协议(MCP)服务器,为AI助手提供预算自动化管理和财务分析功能。

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

使用说明

YNAB MCP服务器

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

快速安装(克劳德桌面版)

{
  "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:

# Run directly (recommended)
uvx ynab-mcp-server

# Or with specific version
uvx ynab-mcp-server@0.1.1

发展:

# Clone and run from source
git clone https://github.com/yourusername/ynab-mcp-server.git
cd ynab-mcp-server
uv run ynab-mcp-server

平台特定设置

克劳德桌面

  1. 找到您的配置文件:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %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"
}

鹅

  1. 打开鹅设置
  2. 导航到MCP服务器部分
  3. 使用以下命令添加新服务器:
    • 姓名: ynab-mcp
    • 命令: uvx ynab-mcp-server
    • 环境变量:
      • YNAB_PAT:您的留言在此

其他平台

对于其他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检查器进行调试:

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

建筑与出版

# Build package
uv build

# Publish to PyPI
uv publish

贡献

欢迎投稿!以下是您可以提供帮助的方式:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

请确保您的PR:

  • 遵循现有代码样式
  • 包括适当的测试
  • 根据需要更新文档

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢