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