Avenir Mcp

io.github.mathbeal由 GitHub 账号 mathbeal 发布v0.8.0更新于 Oct 25, 2026

Unofficial MCP server for YNAB: read-only by default, every change previewed and undoable.

已验证STDIO仅桌面效率与工作流金融

概览

AI 生成的概览

非官方 YNAB 服务器,让助手读取你的预算计划、预测余额、规划还债并核对账户,默认只读。

可以做什么
  • 汇总某月预算并找出超支分类
  • 预测余额并生成还债计划
  • 查找交易并为待处理交易建议分类
  • 将账户与银行余额核对
  • 启用写入工具后在分类间转移资金,先预览、经确认并可撤销
适用场景
当你的预算放在 YNAB,想用自然语言询问预算情况、判断某笔支出是否可行、规划还债,或整理与核对交易而不必打开应用时使用。
运行要求
通过 stdio 在本机运行 PyPI 包 avenir-mcp(例如用 uvx),需要 Python/uv 运行环境。需要以环境变量 YNAB_API_KEY 提供 YNAB 个人访问令牌,并能访问 YNAB 的 API。仅当把 AVENIR_MCP_WRITE 设为 1 时才会出现写入工具。
安装前请注意
YNAB_API_KEY 令牌可访问你的 YNAB 预算,并会发送给 YNAB,请勿写入共享日志或公开发布。工具获取的预算数据会返回给你的助手,因此 MCP 客户端背后的模型提供方也能看到。启用 AVENIR_MCP_WRITE 会开放修改预算的工具;改动虽可预览和撤销,仍需你自行确认负责。仅供本人使用自己的令牌,不支持作为共享服务器,且不构成财务建议。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Avenir Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

avenir-mcp: an unofficial MCP server for YNAB

🇬🇧 avenir-mcp (avenir is French for the future) lets an AI agent read your YNAB plan and help you plan what comes next.

🇫🇷 avenir-mcp permet à un agent IA de lire votre plan YNAB et de vous aider à préparer la suite.

[Works with YNAB] [PyPI] [avenir-mcp on Glama] [Mentioned in Awesome MCP Servers] [licence] [quality] [MCP Inspector] [mutation] [docs] [YNAB API terms: self-checked] [coverage] [types] [docstrings] [code style] [python] [OpenSSF Best Practices] [last commit]

Ask Claude — or any MCP client — about your plan in plain words. Read-only by default; every change is previewed, confirmed by you, and can be undone.

Install

You need a YNAB personal access token: YNAB → Account Settings → Developer Settings → New Token.

[Download for Claude Desktop]

Claude Desktop, no terminal: drop the file the button downloads onto Settings → Extensions, then paste your token on that screen.

Claude Code, one command with your token in it:

bash
claude mcp add avenir-mcp --env YNAB_API_KEY=your-token -- uvx avenir-mcp

Both install it read-only. Cursor, LM Studio, VS Code, Windows, changes to your plan (AVENIR_MCP_WRITE=1) and every option: Install · Configuration.

[One conversation, in thirty seconds. Asked how the month is going and where the room is, the agent calls four read-only tools at the same time: Month summary, Every category, Budget vs spent and Three months. It answers that Restaurants is the only category over budget: 166.50 spent of 144.00 available (120.00 budgeted + 24.00 left from earlier months), 138.8 %, available −22.50; that its spending rose 113.70 → 119.90 → 166.50 over three months; and that 80.00 is left in Tennis and 411.90 in Groceries. It offers to cover the 22.50 from Tennis, which has nothing spent yet. The user answers “Cover it from Tennis.”, and move_money shows a preview that changes nothing: Tennis budgeted 80.00 → 57.50, Restaurants budgeted 120.00 → 142.50, available −22.50 → 0.00, exactly on budget, with a Cancel button, a Confirm button, and the reminder that nothing changes until you confirm and that any change can be undone.]

▶ Watch the 20-second tour

[get_net_worth_trend on the demo plan: over the last 18 months the debts shrink from 27,198 to 19,041 despite the car loan's interest, the assets grow, and the net worth rises from −24,038 to +1,230, with a dip for a car repair and another at Christmas.]

Both come from an invented demo plan, replayed by python -m docsgen: every figure is what avenir-mcp answers today.

What you can ask

  • Understand a month — "Which category is overspent this month?" → get_monthly_summary
  • Prepare a spend — "Will I go below zero before December?" → forecast_balance
  • Pay off a debt — "When will my debts be paid off if I put 500 a month on them?" → get_debt_payoff_plan
  • Tidy the transactions — "Categorise what is pending." → suggest_categories, applied after your yes
  • Find one transaction — "Which transaction is my 86.40 receipt from the 12th?" → find_transactions
  • Reconcile an account — "My bank shows 3,440.80. Does YNAB agree?" → reconcile_account
  • Change something — "Move 30 from Tennis to Restaurants." → move_money, previewed, confirmed, and undone by undo_operation

Every tool, with a real answer: Reference · Use cases.

Missing a question? Have an idea? Tell us the question you would like to ask your budget in Discussions → Ideas; help with using avenir-mcp is in Discussions → Q&A. Never post a real amount, a real account or your token.

Why avenir-mcp

  • Tools for tasks, not endpoints. One tool classifies a month, one reconciles an account.
  • Read-only by default. The tools that change a plan are registered only if you enable them.
  • Preview, confirm, undo. A write waits for your yes; undo_operation reverts it.
  • Answers an agent can read. Currency units, typed answers, bank text treated as untrusted.
  • Verified. 100 % line and branch coverage, and a real agent on an invented plan: 25/25.
[Asked how the budget is doing this month, the agent reads the month with two read-only tools and answers: one category over budget, Restaurants by 22.50, everything else on track.] [forecast_balance on the demo plan: the month-end balance rises from this month to three months ahead, with each month's lowest day and a yearly insurance payment scheduled next month.]

📖 Documentation: https://avenir-mcp.pages.dev/avenir-mcp/ · English · Français · Español · Deutsch · Nederlands

Claude Code plugin

plugin/ is avenir-mcp as a Claude Code plugin: Claude Code asks for your token, keeps it out of sight, and starts the server from the plugin's own locked environment. From a clone: claude --plugin-dir plugin.

The pluginWhat
runsuv run --locked --project the plugin's folder, which starts the release plugin/pyproject.toml pins, and nothing else. No script of its own, no build step, no hook, no shell
contactspypi.org and files.pythonhosted.org, to install that release and the versions plugin/uv.lock pins, the first time; then api.ynab.com, with your token, as avenir-mcp always does
writesthe environment uv resolves inside the plugin's folder, and uv's own cache. Nothing elsewhere
changes in your plannothing. It starts avenir-mcp read-only: AVENIR_MCP_WRITE is not set, so the tools that change a plan are never registered

Development

bash
git clone https://github.com/mathbeal/avenir-mcp && cd avenir-mcpuv syncjust check        # lint, types, tests at 100 % coverage, vocabulary, lockfilejust docs-serve   # the documentation, livejust evaluate     # a real agent on the demo plan (uses your Claude plan)

Read AGENTS.md and CONTRIBUTING.md before opening a pull request. Security reports: SECURITY.md. Also: ARCHITECTURE.md, ROADMAP.md, GOVERNANCE.md and the code of conduct.

Built and tested against YNAB's API v1.88.0; a weekly YNAB API drift check fails when YNAB publishes a new version. Self-checked on every change against YNAB's API terms of 2025-05-28 (naming, attribution, YNAB's own image, a personal token for its owner only, the hourly limit); a weekly job turns that badge red when they change.

Privacy Policy

avenir-mcp is a program you run yourself, not a service: its publisher runs no server and receives none of your data. Your token is read from the environment, kept in memory as a secret value and sent only to YNAB; your plan's data is fetched when a tool needs it and returned to your agent, so the model provider behind your MCP client sees it too. What is handled, how long it is kept and how to erase it: https://avenir-mcp.pages.dev/avenir-mcp/project/privacy/.

Licence

MIT.

Unofficial project

We are not affiliated, associated, or in any way officially connected with YNAB or any of its subsidiaries or affiliates. The official YNAB website can be found at https://www.ynab.com. The names YNAB and You Need A Budget, as well as related names, tradenames, marks, trademarks, emblems, and images are registered trademarks of YNAB. They are named here only to say which service avenir-mcp works with. Listed by YNAB in its Works with YNAB directory, among third-party apps. Not endorsed by YNAB.

avenir-mcp is for personal use on your own machine, with your own YNAB token. Running it as a public or shared server is not supported. It is provided as is, without warranty, and is not financial advice: you remain responsible for the changes you confirm. See the legal notice.

来源:README.md,提交 77ab268

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:软件包安装失败。

版本历史

9
  1. v0.8.0最新Oct 25, 2026
  2. v0.7.1Oct 25, 2026
  3. v0.7.0Oct 22, 2026
  4. v0.6.0Oct 10, 2026
  5. v0.5.0Oct 2, 2026
  6. v0.4.0Oct 2, 2026
  7. v0.3.0Oct 1, 2026
  8. v0.2.1Oct 1, 2026
  9. v0.2.0Sep 30, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分