Skip to content

avenir-mcp 0.2.0

Choose a tag to compare

@mathbeal mathbeal released this 29 Sep 20:30
b1225d3

First beta: tool and argument names may still change until 1.0.

Added

  • Set_category_target sets, changes or removes a category's target (#55)
  • Find_recurring_charges lists subscriptions and other monthly charges with their yearly cost (#54)
  • A "YNAB API terms: self-checked" badge, dated, that turns red when YNAB changes them (#53)
  • List_accounts says whether each bank link works and when it was reconciled (#45)
  • Flag_transactions marks what the user should check, confirmed and undoable (#47)
  • Import_transactions brings in the bank's latest transactions, as Import does (#37)
  • Move_money covers an overspent category in one confirmed, undoable step (#36)
  • The guide is also the server's instructions (#29)

Documentation

  • Make avenir-mcp findable where people look, within YNAB's naming rules (#52)
  • The API coverage page also lists what each tool reads and writes (#48)
  • Show the demo budget in each page's language (#42)
  • The home page chart shows what is left in each category, not a share used (#38)
  • README shows the last commit and links to the site in each language (#23)
  • French, German, Dutch and Spanish read in full against the source and DeepL (#31)
  • Say plan where YNAB now says plan, in the code and in every language (#28)
  • A privacy page says what avenir-mcp keeps, for how long, and how to erase it (#27)
  • The notice that avenir-mcp is unofficial uses YNAB's exact wording (#26)
  • The site in Dutch (#20)
  • The site in German (#19)
  • The README opens on an ordinary question, not on an attack (#25)
  • Two French headings that a back-translation found ambiguous (#22)
  • Spanish pages read as Spanish, not as English in Spanish words (#21) (#32)
  • Roadmap, from a document to the year's schedules (#17)
  • The README shows a real conversation and the forecast chart

Fixed

  • Refuse a credit card payment category on a transaction, which YNAB ignores (#59)
  • Set_category_target says what YNAB does on credit card and loan categories (#57)
  • Configure switches one write gate instead of piling up filters (#51)
  • Refuse a NUL character in text sent to YNAB, before asking the user (#46)
  • Create_transactions refuses what YNAB refuses, before asking the user (#34)
  • The privacy pages say what the journal really keeps (#33)
  • Bound months_count and suggest_categories' limit; README links reach the site (#18)
  • A schedule covers its payee's longer bank labels in the forecast
  • Stay well within YNAB's rate limit, and never retry a 429

Internal

  • Remove the 42 pylint suppressions that silenced nothing (#44)
  • Check that docstrings match signatures, order included, tests documented (#49)
  • Pre-commit runs ruff, typos and zizmor as CI does (#35)
  • Check every link of the README and the docs, on pull requests and weekly (#24)
  • Snyk ignores two http-cache-semantics flaws in the docs build
  • Python 3.15 warns instead of turning pull requests red

Performance

  • Normalise each payee once when looking for duplicates (#41)
  • Pair transfers by amount instead of comparing every two pending (#40)
  • Benchmark the computing functions on a five-year plan (#39)

Tests

  • Every rule YNAB states on what a tool sends has its test, or a reason (#58)
  • Fuzz what comes from outside, and name a journal line that is not text (#50)