⚠️ Breaking change
get_due_cards / get_cards no longer return card answers by default (#62, #63). Previously every batch fetch put all answers into the model's context before you had a chance to self-test — defeating the point of spaced repetition, especially with smaller models where answers reliably leaked into the question turn. Both tools now take an include_answer parameter (default false):
- Review sessions: leave it off; reveal answers per card via
present_cardwithshow_answer: true. - Content analysis / editing workflows: pass
include_answer: trueto getbackas before.
New scheduling tools (#60)
Two tools that fix a card's schedule without recording a review — unlike rating a card Again, which logs a real lapse and drops its ease factor, permanently skewing scheduling and statistics:
forgetCards— resets cards to the new queue (interval, due date, ease discarded; review log preserved). Reports each card's prior state (previousState,previousIntervalDays,reps,lapses).setDueDate— moves the next review by N days using Anki's spec format:"0"(today),"5","3-7"(random day in range — spreads a batch out),"1!"(also overwrite the interval). Reads scheduling back so ranges report where each card landed.
Both validate every card ID before mutating (AnkiConnect reports success even for nonexistent IDs), cap input at 100 IDs, dedupe duplicates, and require positive integer IDs.
NestJS 12
Upgraded to NestJS 12 (ESM-only upstream). No user-facing change — the runtime Node.js floor stays >=22.12.0. Development/testing now needs Node 24.9+ (Jest's require(esm) support; the required --experimental-vm-modules flag is baked into the npm test scripts).
Housekeeping
- All open Dependabot alerts cleared (browserslist, fast-uri, qs, @humanfs/node, fflate — lockfile-only updates).
- README tool catalog count corrected: 50 tools (39 essential + 11 GUI).
- Port tests use ephemeral ports; misc dev-dep bumps.
Full changelog: CHANGELOG.md · Install: npm i -g @ankimcp/anki-mcp-server@0.25.0 or grab the .mcpb bundle below for Claude Desktop.