MCP YNAB 连接器
一个MCP服务器,允许用户与YNAB数据交互,通过模型上下文协议访问账户余额、交易记录,并创建新的交易。
服务介绍
MCP YNAB 服务器
一个通过模型上下文协议 (MCP) 提供访问 YNAB(你需要一个预算)功能的 MCP 服务器实现。
功能
- 查看账户余额和交易
- 创建新交易
- 通过标准化的 MCP 资源访问 YNAB 数据
安装
uv pip install -e .
配置
服务器需要一个 YNAB API 密钥才能运行。你可以从 YNAB 开发者设置 获取。
API 密钥可以通过以下方式提供:
- 环境变量:
YNAB_API_KEY=your_api_key - MCP 密钥管理系统
- 项目根目录中的
.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 以获取所有可用任务。