M

Meh-S-Eze

@Meh-S-Eze/ynab-mcp-client2
0 Stars 370 次浏览 Meh-S-Eze 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP YNAB 服务器

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

功能

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

安装

bash
uv pip install -e .

配置

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

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

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

使用方法

运行服务器

bash

开发模式,支持热重载并自动打开浏览器

task dev

生产环境安装,适用于Claude Desktop、Goose或任何其他支持MCP的环境

task install

可用资源

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

可用工具

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

示例使用

python

创建一个新的交易

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}")

开发

bash

安装依赖(使用uv)

task deps

运行所有测试,包括集成测试(这需要一个YNAB API密钥)

task test:all

生成覆盖率报告

task coverage

格式化和检查代码

task fmt # 应将此添加到Taskfile

项目任务

本项目使用Taskfile来执行常见操作。关键命令如下:

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

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

相关 MCP 服务