Model Context Protocol server for Anki - enables AI assistants to interact with your Anki flashcards
Model Context Protocol server for Anki - enables AI assistants to interact with your Anki flashcards
Seamlessly integrate Anki with AI assistants through the Model Context Protocol
Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| sync | Sync with AnkiWeb to pull latest data and push changes |
| get_due_cards | Get cards that are due for review, optionally filtered by deck (answers omitted unless include_answer: true, default false) |
| get_cards | Get cards with flexible filtering by state (due, new, learning, suspended, buried) and deck (answers omitted unless include_answer: true, default false) |
| present_card | Show a card for review with its question/front side |
| rate_card | Rate card performance (Again, Hard, Good, Easy) and schedule the next review |
| forgetCards | Reset cards to new, discarding their scheduling without recording a review |
| setDueDate | Reschedule cards to become due in N days ("0", "3-7", "1!"), without recording a review |
| areSuspended | Check suspension state for one or more cards without changing anything |
| suspend | Suspend cards so they are skipped during review until unsuspended |
| unsuspend | Unsuspend cards so they return to normal review |
| listDecks | List all decks, optionally with per-deck study-queue statistics |
| deckStats | Get comprehensive statistics for a single deck (study queue, true card-state counts, ease/interval distributions) |
| createDeck | Create a new empty deck (supports Parent::Child, max 2 levels) |
| changeDeck | Move cards to a different deck (created if it doesn't exist) |
| addNote | Create a single note with specified fields and tags |
| addNotes | Batch-create up to 100 notes sharing a deck and model (partial success supported) |
| findNotes | Search for notes using Anki query syntax (deck:, tag:, is:due, etc.) |
| notesInfo | Get detailed information about notes (fields, tags, note type, card IDs; CSS comes from modelStyling) |
| updateNoteFields | Update existing note fields (CSS-aware, supports HTML content) |
| deleteNotes | Delete notes and all associated cards (destructive, requires confirmation) |
| getTags | Get all tags in the collection (use first to avoid duplication) |
| addTags | Add space-separated tags to specified notes |
| removeTags | Remove space-separated tags from specified notes |
| replaceTags | Rename a tag across specified notes |
| clearUnusedTags | Remove orphaned tags not used by any notes (destructive) |
| getMediaFilesNames | List media files in collection.media, optionally filtered by pattern |
| retrieveMediaFile | Download a media file as base64 content |
| storeMediaFile | Upload media from base64 data, an absolute file path, or a URL |
| deleteMediaFile | Remove a media file from collection.media (destructive) |
| modelNames | List all available note types/models |
| modelFieldNames | Get field names for a specific note type |
| modelStyling | Get CSS styling information for a note type |
| modelTemplates | Get the card templates (Front and Back HTML) for a note type |
| createModel | Create a new note type with custom fields, card templates, and CSS (e.g., RTL models) |
| updateModelStyling | Update the CSS styling for an existing note type (applies to all its cards) |
| updateModelTemplates | Update the card templates (Front and Back HTML) for an existing note type (applies to all its cards) |
| addModelField | Add a new field to an existing note type (appended at the end or inserted at a specific position) |
| removeModelField | Remove a field from an existing note type (deletes its content from all notes; requires explicit confirmation) |
| renameModelField | Rename a field in an existing note type (Anki rewrites references to the old name in the card templates) |
| repositionModelField | Change the position of a field within an existing note type |
| collection_stats | Aggregated statistics across all decks with per-deck breakdown and collection-wide card-state counts |
| review_stats | Review history analysis (temporal patterns, retention metrics, study streaks) |
| guiBrowse | Open the Card Browser and search for cards |
| guiSelectCard | Select a specific card in the Card Browser |
| guiSelectedNotes | Get IDs of notes currently selected in the Card Browser |
| guiAddCards | Open the Add Cards dialog with preset note details |
| guiEditNote | Open the note editor for a specific note |
| guiDeckOverview | Open the Deck Overview dialog for a specific deck |
| guiDeckBrowser | Open the Deck Browser dialog |
| guiCurrentCard | Get info about the current card in review mode (includes the answer; errors outside review mode) |
| guiShowQuestion | Show the question side of the current card |
| guiShowAnswer | Show the answer side of the current card |
| guiUndo | Undo the last action in Anki |
{
"mcpServers": {
"anki-mcp": {
"command": "npx",
"args": [
"-y",
"@ankimcp/anki-mcp-server",
"--stdio"
],
"env": {
"ANKI_CONNECT_URL": "http://localhost:8765"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| ANKI_CONNECT_URL | Declared in the maintainer’s client configuration. | Check documentation |
Enables Large Language Models to interact with Anki flashcard software through AnkiConnect using the Model Context Protocol.
Demonstrates building an AI agent using the Model Context Protocol (MCP) with open LLMs like Meta Llama 3, OpenAI, or Google Gemini, and a SQLite
Manages courses, assignments, enrollments, and grades within Canvas using the Canvas API.
Manage educational context based on courses, assignments, and exams using a knowledge graph.
Source profile for Acornonaut. Its purpose and connection details need verification against the maintainer’s documentation.
Model Context Procotol (MCP) server with tools for Cannabis Datasets.