ankimcp avatar

AnkiMCP Server

ankimcp/anki-mcp-server-addon

This Anki addon runs a local MCP server inside the flashcard app, exposing your entire collection to Claude or other AI assistants. You get tools for syncing with AnkiWeb, searching notes, batch-adding cards (up to 100 at once via native API), managing card states (suspend, bury, reposition), and manipulating tags. It auto-starts on port 3141 when you launch Anki and works through mcp-remote for Claude Desktop since the JSON config doesn't natively support HTTP. The config lets you disable specific tools to cut token usage, set custom paths for tunnel deployments, and lock down media imports to prevent path traversal. Built for local-first workflows where you want AI to read and modify your study materials without leaving your machine.

GitHub stars
100
tools
51
last updated
Nov 9, 2026

Tools

51 tools

Public tool metadata for what this MCP can expose to an agent.

syncSynchronize collection with AnkiWeb (asynchronous job: sync() starts a sync, sync(job_id) polls its status, sync(job_id, resolve=...) resolves a full-sync conflict)

Synchronize collection with AnkiWeb (asynchronous job: sync() starts a sync, sync(job_id) polls its status, sync(job_id, resolve=...) resolves a full-sync conflict)

No parameter schema in public metadata yet.

list_decksList all decks in the collection

List all decks in the collection

No parameter schema in public metadata yet.

create_deckCreate a new deck

Create a new deck

No parameter schema in public metadata yet.

get_deck_descriptionRead a deck's stored description and Markdown setting; returns deck_id, name, description and is_markdown

Read a deck's stored description and Markdown setting; returns deck_id, name, description and is_markdown

No parameter schema in public metadata yet.

update_deck_descriptionReplace a deck's description and optionally change is_markdown; an empty string clears the description, and an omitted or null Markdown setting preserves its current value

Replace a deck's description and optionally change is_markdown; an empty string clears the description, and an omitted or null Markdown setting preserves its current value

No parameter schema in public metadata yet.

find_notesSearch for notes using Anki's search syntax. include_first_field=true adds a noteLabels array so you can search and label notes in one call

Search for notes using Anki's search syntax. include_first_field=true adds a noteLabels array so you can search and label notes in one call

No parameter schema in public metadata yet.

notes_infoGet detailed information about notes. excerpt_chars caps every field value at that many characters, marking each with truncated/fullLength

Get detailed information about notes. excerpt_chars caps every field value at that many characters, marking each with truncated/fullLength

No parameter schema in public metadata yet.

add_noteAdd a new note to a deck

Add a new note to a deck

No parameter schema in public metadata yet.

add_notesBatch-add up to max_notes_per_batch notes (default 100) sharing the same deck and model. Uses Anki's native batch API for atomic undo. Supports partial success

Batch-add up to max_notes_per_batch notes (default 100) sharing the same deck and model. Uses Anki's native batch API for atomic undo. Supports partial success

No parameter schema in public metadata yet.

card_repositionSet the learning order of new cards (only new cards are affected)

Set the learning order of new cards (only new cards are affected)

No parameter schema in public metadata yet.

card_change_deckMove cards to another deck, creating it if needed

Move cards to another deck, creating it if needed

No parameter schema in public metadata yet.

card_buryHide cards until tomorrow

Hide cards until tomorrow

No parameter schema in public metadata yet.

card_unburyRestore every buried card in a deck

Restore every buried card in a deck

No parameter schema in public metadata yet.

card_suspendExclude cards from review indefinitely

Exclude cards from review indefinitely

No parameter schema in public metadata yet.

card_unsuspendRestore suspended cards to review

Restore suspended cards to review

No parameter schema in public metadata yet.

card_set_flagSet or remove a color flag (0-7)

Set or remove a color flag (0-7)

No parameter schema in public metadata yet.

card_set_due_dateReschedule cards with the days DSL (0, 5, 5-7, 5!)

Reschedule cards with the days DSL (0, 5, 5-7, 5!)

No parameter schema in public metadata yet.

card_forgetReset cards to new

Reset cards to new

No parameter schema in public metadata yet.

tag_addBulk add tags on notes

Bulk add tags on notes

No parameter schema in public metadata yet.

tag_removeBulk remove tags on notes

Bulk remove tags on notes

No parameter schema in public metadata yet.

tag_replaceSwap one tag for another on notes

Swap one tag for another on notes

No parameter schema in public metadata yet.

tag_listList all tags, or scoped to a deck via the optional deck param

List all tags, or scoped to a deck via the optional deck param

No parameter schema in public metadata yet.

tag_clear_unusedRemove orphan tags

Remove orphan tags

No parameter schema in public metadata yet.

tag_batchApply multiple add/remove tag operations in one call, with partial success

Apply multiple add/remove tag operations in one call, with partial success

No parameter schema in public metadata yet.

filtered_deck_upsertCreate or modify a filtered deck from 1-2 search terms (Anki's hard limit)

Create or modify a filtered deck from 1-2 search terms (Anki's hard limit)

No parameter schema in public metadata yet.

filtered_deck_rebuildRepopulate a filtered deck

Repopulate a filtered deck

No parameter schema in public metadata yet.

filtered_deck_emptyReturn a filtered deck's cards to their home decks

Return a filtered deck's cards to their home decks

No parameter schema in public metadata yet.

filtered_deck_deleteReturn a filtered deck's cards, then remove the deck

Return a filtered deck's cards, then remove the deck

No parameter schema in public metadata yet.

filtered_deck_get_infoRead-only inspection of up to 50 deck IDs per call, returning search terms, limit, order, reschedule flag and card count

Read-only inspection of up to 50 deck IDs per call, returning search terms, limit, order, reschedule flag and card count

No parameter schema in public metadata yet.

update_note_fieldsUpdate fields of existing notes via full replace or find-and-replace patch

Update fields of existing notes via full replace or find-and-replace patch

No parameter schema in public metadata yet.

update_notesBatch-update fields of multiple notes in one atomic undo step, with partial success

Batch-update fields of multiple notes in one atomic undo step, with partial success

No parameter schema in public metadata yet.

delete_notesDelete notes from the collection

Delete notes from the collection

No parameter schema in public metadata yet.

get_due_cardsGet next due card for review. Returns the rendered question only; the answer is omitted unless include_answer=true

Get next due card for review. Returns the rendered question only; the answer is omitted unless include_answer=true

No parameter schema in public metadata yet.

cards_statsBulk per-card scheduling stats for a deck (incl. subdecks), paginated

Bulk per-card scheduling stats for a deck (incl. subdecks), paginated

No parameter schema in public metadata yet.

present_cardGet card content for review

Get card content for review

No parameter schema in public metadata yet.

rate_cardRate a card after review (Again/Hard/Good/Easy)

Rate a card after review (Again/Hard/Good/Easy)

No parameter schema in public metadata yet.

model_namesList available note types

List available note types

No parameter schema in public metadata yet.

model_field_namesGet field names and descriptions for a note type

Get field names and descriptions for a note type

No parameter schema in public metadata yet.

model_stylingGet CSS styling for a note type. include_latex=true also returns the LaTeX preamble

Get CSS styling for a note type. include_latex=true also returns the LaTeX preamble

No parameter schema in public metadata yet.

update_model_stylingUpdate CSS styling for a note type, full replace or patch via old_str/new_str

Update CSS styling for a note type, full replace or patch via old_str/new_str

No parameter schema in public metadata yet.

model_templatesRead the Front/Back HTML templates for each card type in a note type

Read the Front/Back HTML templates for each card type in a note type

No parameter schema in public metadata yet.

update_model_templatesUpdate Front/Back template HTML, full replace or patch, applied atomically

Update Front/Back template HTML, full replace or patch, applied atomically

No parameter schema in public metadata yet.

model_field_addAdd a field to an existing note type, optionally at a 0-based index

Add a field to an existing note type, optionally at a 0-based index

No parameter schema in public metadata yet.

model_field_renameRename a field on an existing note type, preserving content

Rename a field on an existing note type, preserving content

No parameter schema in public metadata yet.

model_field_repositionReorder fields on an existing note type

Reorder fields on an existing note type

No parameter schema in public metadata yet.

model_field_removeDelete a field and its content from every note of the type

Delete a field and its content from every note of the type

No parameter schema in public metadata yet.

create_modelCreate a new note type

Create a new note type

No parameter schema in public metadata yet.

change_note_typeMove existing notes to a different note type, remapping fields by name

Move existing notes to a different note type, remapping fields by name

No parameter schema in public metadata yet.

store_media_fileStore a media file (image/audio) via base64, file path, or URL

Store a media file (image/audio) via base64, file path, or URL

No parameter schema in public metadata yet.

get_media_files_namesList media files matching a pattern

List media files matching a pattern

No parameter schema in public metadata yet.

delete_media_fileMove a media file out of the collection

Move a media file out of the collection

No parameter schema in public metadata yet.

Sponsors

Readme

AnkiMCP Server (Addon)

Anki + MCP Integration

Seamlessly integrate Anki with AI assistants through the Model Context Protocol

An Anki addon that exposes your collection to AI assistants via the Model Context Protocol (MCP).

What is this?

AnkiMCP Server runs a local MCP server inside Anki, allowing AI assistants like Claude to interact with your flashcard collection. This enables AI-powered study sessions, card creation, and collection management.

Part of the ankimcp.ai project.

Note on First Run

On first run, this addon downloads pydantic_core (~2MB) from PyPI. This is required because pydantic_core contains platform-specific binaries (Windows/macOS/Linux) that cannot be bundled in a single addon file.


View the full README on GitHub

Details

Repository
github.com/ankimcp/anki-mcp-server-addon
Website
ankimcp.ai
Category
Productivity & Office
Registry
MCP registry, active

More from ankimcp

Related Productivity & Office MCP servers

View all
1henilcalagiya avatarMcp Apple Noteshenilcalagiya/mcp-apple-notesMCP server for Apple Notes integration using AppleScript with full CRUD operations51stars
2rog0x avatarTaskrog0x/mcp-task-toolsTodo, priority, estimation, burndown for AI agents0stars
3mag-cie avatarMcp Microsoft Todomag-cie/mcp-microsoft-todoMCP server for Microsoft To Do via Microsoft Graph. MSAL device code flow, no client secret needed.3stars
4doist avatarTodoistdoist/todoist-mcpOfficial Todoist MCP server. Manage tasks and projects. Hosted, no API key needed.563stars
5ankimcp avatarAnki MCP Serverankimcp/anki-mcp-serverMCP server for Anki flashcards: adaptive review, notes, media, and deck management via AnkiConnect.546stars
6cvrt-jh avatarClickup Mcpcvrt-jh/clickup-mcpLightweight ClickUp MCP server - 37 tools, token-optimized (95% smaller responses)4stars