Mcp Ynab Server

Mcp Ynab Server

🚀 MCP YNAB 服务器

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

✨ 主要特性

  • 账户与交易管理:支持查看账户余额和交易信息,还能创建新交易。
  • 标准化访问:通过标准化的 MCP 资源访问 YNAB 数据。

📦 安装指南

在项目根目录下,使用以下命令进行安装:

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
  • 0 关注
  • 0 收藏,15 浏览
  • system 提出于 2025-09-25 19:42

相似服务问题

相关AI产品