Adding a card with a picture normally means copying files into Anki's media folder by hand. This server takes a local path, a URL or a filename and does the right thing with each. The cost of the design is that Anki must be open — this is a live connection to the running app, not a database reader.
An Anki integration that talks to your running desktop app through the AnkiConnect add-on. Its tools are deliberately generic — they work with any deck, note type and field configuration rather than assuming a particular template.
- A card created with the deck, note type and fields you choose, or many at once — `add_card`, `batch_add_card`
- Cards retrieved by id or by any Anki search query — `get_card`
- Cards due for review and new unseen cards listed — `get_due_cards`, `get_new_cards`
- Cards answered and their fields or tags updated — `update_card`
- Media resolved automatically: an absolute local path is read and uploaded into Anki's collection, a URL is downloaded by AnkiConnect, and a bare filename is treated as already present
- Search resources to read from directly, including `anki://search/deckcurrent`, `anki://search/isdue`, `anki://search/isnew` and custom queries like `anki://search/deck:Spanish`
The Anki desktop app running the whole time, with the AnkiConnect add-on installed — code 2055492159 in Tools → Add-ons → Get Add-ons. Node dependencies installed and built; the client points at the absolute path of `build/index.js`. No account or key. The package is `@scorzeth/anki-mcp-server` 1.0.0. Close Anki's browser window while writing — a known AnkiConnect limitation blocks updates otherwise.
One command — npx -y github:letuanvu08/anki-mcp
