M

MCP YNAB 连接器

@klauern/mcp-ynab
0 Stars 377 次浏览 klauern 更新于 2026-08-23

一个MCP服务器,允许用户与YNAB数据交互,通过模型上下文协议访问账户余额、交易记录,并创建新的交易。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP YNAB 服务器

一个通过模型上下文协议 (MCP) 提供访问 YNAB(你需要一个预算)功能的 MCP 服务器实现。

功能

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

安装

uv pip install -e .

配置

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

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

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

使用

运行服务器

# Development mode with hot reload and browser launch
task dev

# Production install for Claude Desktop, Goose, or any other MCP-supported environment
task install

可用资源

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

可用工具

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

示例使用

# Create a new transaction
result = await create_transaction(
    account_id="your_account_id",
    amount=42.50,  # in dollars
    payee_name="Coffee Shop",
    category_name="Dining Out",
    memo="Morning coffee"
)

# Get account balance
balance = await get_account_balance("your_account_id")

# List accounts
accounts = await ctx.read_resource("ynab://accounts")

# Get recent transactions
transactions = await ctx.read_resource(f"ynab://transactions/{account_id}")

开发

# Install dependencies (uses uv)
task deps

# Run all tests including integration tests (you will need a YNAB API key for this)
task test:all

# Generate coverage report
task coverage

# Format and lint code
task fmt  # Should add this to Taskfile

项目任务

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

task dev       # Start dev server with auto-reload
task test      # Run unit tests
task coverage  # Generate test coverage report
task install   # Install production build
task deps      # Synchronize dependencies

请参阅 Taskfile.yml 以获取所有可用任务。

相关 MCP 服务