Mmcp.market

Anki MCP Server

by ankimcp.ai·ai.ankimcp/anki-mcp-server·v0.26.0

MCP server for Anki flashcards: adaptive review, notes, media, and deck management via AnkiConnect.

A94/100grade A
What users say
No reviews yet
Be the first
Safety scan
A94/100

full report

Adoption
Established

486 stars1.7k downloads/wk

Reviews

Write one

Nobody has reviewed Anki MCP Server yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Anki MCP Server tools (53, 12 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • addModelField

    Add a new field to an existing Anki note type (model).

  • addNote

    Add a SINGLE note to Anki. To create multiple notes, use the addNotes batch tool instead of calling addNote repeatedly — AnkiConnect processes requests one at a time, so repeated (especially parallel) addNote calls are slower and unnecessary. Use modelNames to see available note types and modelFieldNames to see required fields. Returns the note ID on success. IMPORTANT: Only create notes that were

  • addNotes

    Add multiple notes to Anki in a single batch — the preferred way to create more than one note (use this instead of repeated addNote calls). Up to 100 notes sharing the same deck and model. Duplicates are skipped individually; validation errors (empty required fields, bad tags) reject the batch. IMPORTANT: Only create notes that were explicitly requested by the user.

  • addTags

    Add tags to specified notes. Tags is a space-separated string (e.g., "tag1 tag2 tag3"). Use getTags first to discover existing tags and prevent duplication.

  • areSuspended

    Check whether cards are suspended, without changing anything. Card IDs (not note IDs) —

  • changeDeck

    Move cards to a different deck. Target deck will be created if it doesn't exist.

  • clearUnusedTagswrite action

    Remove orphaned tags that are not used by any notes in the collection. CRITICAL: This is destructive and permanent - only run when the user explicitly asks to clean up tags.

  • collection_stats

    Get aggregated statistics across all decks in the collection including card counts, ease factor distribution, and interval distribution.

  • createDeckwrite action

    Create a new empty Anki deck. Use "::" for parent::child structure (max 2 levels, e.g., "Japanese::JLPT N5"). Will not overwrite existing decks.

  • createModelwrite action

    Create a new note type (model) in Anki with custom fields, card templates, and styling.

  • deckStats

    Get comprehensive statistics for a single deck including card counts, ease and interval distributions. Pass a deck name (e.g., "Japanese::JLPT N5") and optional bucket boundaries.

  • deleteMediaFilewrite action

    Remove a media file from Anki's collection.media folder. CRITICAL: This is destructive and permanent - only delete media the user explicitly confirmed for deletion.

  • deleteNoteswrite action

    Delete notes by their IDs. This will permanently remove the notes and ALL associated cards.

  • findNotes

    Search for notes using Anki query syntax. Returns an array of note IDs matching the query.

  • forgetCards

    Reset cards to the new queue, discarding their current scheduling (interval, due date, and ease factor).

  • getMediaFilesNames

    List media files in Anki's collection.media folder, optionally filtered by a glob-style pattern.

  • getTags

    Get all tags in the Anki collection. Use this to discover existing tags before creating notes to maintain consistency and prevent tag duplication (e.g., avoiding 'roman-empire' vs 'roman_empire' vs 'RomanEmpire').

  • get_cards

    Retrieve cards from Anki with flexible filtering by deck and card state. IMPORTANT: Use sync tool FIRST before getting cards to ensure latest data. By default answers are NOT included (include_answer defaults to false) so they never enter context before the user has a chance to self-test — after getting cards, use present_card to show them one by one and reveal the answer only when the user is rea

  • get_due_cards

    Retrieve cards that are due for review from Anki. IMPORTANT: Use sync tool FIRST before getting cards to ensure latest data. By default answers are NOT included (include_answer defaults to false) so they never enter context before the user has a chance to self-test — after getting cards, use present_card to show them one by one and reveal the answer only when the user is ready. Set include_answer=

  • guiAddCards

    Open Anki Add Cards dialog with preset note details (deck, model, fields, tags). Returns potential note ID.

  • guiBrowse

    Open Anki Card Browser and search for cards using Anki query syntax. Returns array of card IDs found.

  • guiCurrentCard

    Get information about the current card displayed in review mode. Returns card details (question, answer, deck, model, etc.) or null if not in review.

  • guiDeckBrowser

    Open Anki Deck Browser dialog showing all decks.

  • guiDeckOverview

    Open Anki Deck Overview dialog for a specific deck. Shows deck statistics and study options. Returns true if succeeded.

  • guiEditNote

    Open Anki note editor dialog for a specific note ID. Allows manual editing of note fields, tags, and cards in the GUI.

  • guiSelectCard

    Select a specific card in an open Card Browser window. Returns true if browser is open and card was selected, false if browser is not open.

  • guiSelectedNotes

    Get the IDs of notes currently selected in the Card Browser. Returns array of note IDs (empty if no selection).

  • guiShowAnswer

    Show the answer side of the current card in review mode. Returns true if in review mode, false otherwise.

  • guiShowQuestion

    Show the question side of the current card in review mode. Returns true if in review mode, false otherwise.

  • guiUndo

    Undo the last action or card in Anki. Returns true if undo succeeded, false otherwise.

  • listDecks

    List all Anki decks, optionally with per-deck study-queue statistics.

  • modelFieldNames

    Get the field names for a specific note type (model). Use this to know what fields are required when creating notes of this type.

  • modelNames

    Get a list of all available note type (model) names in Anki. Use this to see what note types are available before creating notes.

  • modelStyling

    Get the CSS styling for a specific note type (model). This CSS is used when rendering cards of this type.

  • modelTemplates

    Get the card templates (Front and Back HTML) for a specific note type (model).

  • notesInfo

    Get detailed information about specific notes including all fields, tags, model info, and CSS styling.

  • present_card

    Retrieve a card's content for review. WORKFLOW: 1) Show question, 2) Wait for user answer, 3) Show answer with show_answer=true, 4) Evaluate and suggest rating (1-4), 5) Wait for user confirmation ("ok"/"next" = accept, or they provide different rating), 6) Only then use rate_card

  • rate_cardwrite action

    Submit a rating for a card to update Anki's spaced repetition scheduling. Before calling this, the card's answer must already have been revealed to the user via present_card with show_answer: true, and the user must have self-assessed their recall. Use this ONLY after the user confirms or modifies your suggested rating. Do not rate automatically without user input.

  • removeModelFieldwrite action

    Remove a field from an existing Anki note type (model).

  • removeTagswrite action

    Remove tags from specified notes. Tags is a space-separated string (e.g., "tag1 tag2 tag3").

  • renameModelField

    Rename a field in an existing Anki note type (model).

  • replaceTags

    Rename a tag across specified notes (e.g., "RomanEmpire" -> "roman-empire"). Single tag only; spaces are not allowed in either value.

  • repositionModelField

    Change the position of a field within an Anki note type (model).

  • retrieveMediaFile

    Download a media file from Anki's collection.media folder. Returns base64-encoded file content, or null if the file is not found.

  • review_stats

    Get review history analysis including temporal patterns, retention metrics, and study streak information.

  • setDueDate

    Reschedule cards to become due in a given number of days, without recording a review.

  • storeMediaFilewrite action

    Upload a media file to Anki's collection.media folder. Supports base64 data, absolute file paths, or URLs. Perfect for workflows like ElevenLabs TTS -> Anki audio flashcards.

  • suspend

    Suspend cards so they're skipped during review until unsuspended. Card IDs (not note IDs) —

  • sync

    Synchronize local Anki collection with AnkiWeb. IMPORTANT: Always sync at the START of a review session (before getting cards) and at the END when user indicates they are done. This ensures data consistency across devices.

  • unsuspend

    Unsuspend cards so they return to normal review. Card IDs (not note IDs) — use get_cards,

  • updateModelStylingwrite action

    Update the CSS styling for an existing note type (model).

  • updateModelTemplateswrite action

    Update the card templates (Front and Back HTML) for an existing note type (model).

  • updateNoteFieldswrite action

    Update the fields of an existing note. Supports HTML content in fields and preserves CSS styling.

Public scan report

scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it

no findings
  • Code scan242 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 1 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; website matches verified namespace9/10
Overall 94/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Install directly

Runs npx -y @ankimcp/anki-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add anki-mcp-server -- npx -y @ankimcp/anki-mcp-server
Add to Cursor

Anki MCP Server: common questions

Is Anki MCP Server safe?
Yes, by our scan: it is graded A (94/100). Read the Anki MCP Server safety report
How do I install Anki MCP Server?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Anki MCP Server need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Anki MCP Server maintained?
The last commit was 2 days ago (2026-09-18). The latest release is v0.26.0.

More from ankimcp.ai