Information
MCP YNAB 服务器
这是一个通过模型上下文协议(Model Context Protocol, MCP)提供访问 YNAB(You Need A Budget)功能的MCP服务器实现。
功能
查看账户余额和交易
创建新的交易
通过标准化的MCP资源访问YNAB数据
安装
bash
uv pip install -e .
配置
该服务器需要一个YNAB API密钥才能运行。您可以在YNAB开发者设置中获取一个。
API密钥可以通过以下方式提供:
环境变量:YNAB_API_KEY=your_api_key
MCP密钥管理系统
项目根目录下的.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
生成覆盖率报告
task coverage
格式化和检查代码
task fmt # 应将此添加到Taskfile
项目任务
本项目使用Taskfile来执行常见操作。关键命令如下:
bash
task dev # 启动带有自动重载功能的开发服务器
task test # 运行单元测试
task coverage # 生成测试覆盖率报告
task install # 安装生产构建
task deps # 同步依赖项
查看Taskfile.yml以了解所有可用的任务。