MCP YNAB 服务器借助模型上下文协议(Model Context Protocol),实现对 YNAB(You Need A Budget)功能的便捷访问,为用户提供了标准化的资源访问途径,轻松管理账户与交易。
MCP YNAB 服务器可通过模型上下文协议(MCP)访问 YNAB 功能。在使用前,你需要获取 YNAB API 密钥,该密钥可从YNAB 开发者设置获取。获取后,可通过环境变量、MCP 秘密管理系统或项目根目录中的 .env 文件提供该密钥。
以下是启动服务器的命令:
# 开发模式,带热重载和浏览器启动
task dev
# 生产安装,适用于Claude Desktop、Goose或其他支持MCP的环境
task install
在项目根目录下,使用以下命令进行安装:
uv pip install -e .
# 创建一个新交易
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}")
# 运行所有测试,包括集成测试(需要YNAB API密钥)
task test:all
# 生成覆盖报告
task coverage
# 格式化和检查代码
task fmt # 应将此添加到Taskfile中
ynab://accounts - 列出所有 YNAB 账户。ynab://transactions/{account_id} - 获取特定账户的近期交易。create_transaction - 创建新交易。get_account_balance - 获取账户当前余额。该项目使用 Taskfile 来管理常见操作,关键命令如下:
task dev # 运行开发服务器,带自动重新加载
task test # 运行单元测试
task coverage # 生成测试覆盖报告
task install # 安装生产版本
task deps # 同步依赖项
查看Taskfile.yml以获取所有可用任务。
# 安装依赖(使用uv)
task deps