返回市场
麦克佩-预算助手

麦克佩-预算助手

作者:klauern5 星标更新:2025-02-26

项目介绍

MCP YNAB 服务器

这是一个通过模型上下文协议(Model Context Protocol)提供访问You Need A Budget(YNAB)功能的MCP服务器实现。

功能

  • 查看账户余额和交易记录
  • 创建新的交易
  • 通过标准化的MCP资源访问YNAB数据

安装

uv pip install -e .

配置

该服务器需要一个YNAB API密钥才能运行。您可以在您的YNAB开发者设置中获取一个。

API密钥可以通过以下方式提供:

  1. 环境变量:YNAB_API_KEY=your_api_key
  2. MCP密钥管理系统
  3. 项目根目录下的.env文件

使用方法

运行服务器

# 开发模式,支持热重载和浏览器启动
task dev

# 在Claude Desktop、Goose或其他任何支持MCP的环境中安装生产版本
task install

可用资源

  • ynab://accounts - 列出所有YNAB账户
  • ynab://transactions/{account_id} - 获取特定账户的最近交易记录

可用工具

  • create_transaction - 创建一个新的交易
  • get_account_balance - 获取账户当前余额

示例使用

# 创建一个新的交易
result = await create_transaction(
    account_id="your_account_id",
    amount=42.50,  # 以美元计
    payee_name="Coffee Shop",
    category_name="Dining Out",
    memo="Morning coffee"
)

# 获取账户余额
balance = await get_account_balance("your_account_id")

# 列出账户
accounts = await ctx.read_resource("ynab://accounts")

# 获取最近的交易记录
transactions = await ctx.read_resource(f"ynab://transactions/{account_id}")

开发

# 安装依赖项(使用uv)
task deps

# 运行所有测试,包括集成测试(您需要一个YNAB API密钥来完成此操作)
task test:all

# 生成覆盖率报告
task coverage

# 格式化和检查代码
task fmt  # 应该在Taskfile中添加此任务

项目任务

该项目使用Taskfile进行常见操作。关键命令如下:

task dev       # 启动带有自动重载的开发服务器
task test      # 运行单元测试
task coverage  # 生成测试覆盖率报告
task install   # 安装生产版本
task deps      # 同步依赖项

查看Taskfile.yml以了解所有可用任务。