# anki-mcp/anki-mcp-desktop [Health: Active]

**Category:** 🛠️ Other Tools and Integrations  
**Repository:** https://github.com/anki-mcp/anki-mcp-desktop  
**GitHub Stars:** 474  
**npm Downloads (last month):** 7932  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/anki-mcp-anki-mcp-desktop

## Description
Enterprise-grade Anki integration with natural language interaction, comprehensive note/deck management, and one-click MCPB installation. Built on NestJS with comprehensive test coverage.

## Tools
Capabilities this server exposes over MCP:

- **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
- **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, CSS styling)
- **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 (card templates referencing the old name must be updated separately)
- **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
- **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

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "anki-mcp-desktop": {
    "command": "npx",
    "args": ["-y","@ankimcp/anki-mcp-server"]
  }
}
```

## Documentation

## What anki-mcp/anki-mcp-desktop MCP server does

The anki-mcp/anki-mcp-desktop MCP server connects an AI assistant to the Anki spaced-repetition application. Its tools cover the main collection objects: cards, notes, decks, tags, media, and note models. It also supports study-session actions, including retrieving cards, showing a question, recording a rating, resetting scheduling, and moving a card's due date.

Review tools can retrieve due cards or filter cards by states such as new, learning, suspended, or buried. Deck filters are available for card queries and due-card retrieval. The server can report deck-level study queues and card-state information, while collection and review statistics are also described in the repository documentation.

For content management, the server can create individual notes or batches of up to 100 notes, search with Anki query syntax, inspect note fields and styling, update HTML-aware fields, and delete notes with their associated cards. Deck creation supports a parent and child structure up to two levels, and cards can be moved into a destination deck that is created when needed.

## How it works

The MCP tools operate on the connected Anki collection and can synchronize it with AnkiWeb using `sync`. Card content is rendered for the individual card from its template, which supports reversed and cloze cards as well as template-provided static text. Review ratings use Anki's Again, Hard, Good, and Easy choices and schedule the next review.

Scheduling changes have different meanings. `forgetCards` resets cards to new without recording a review, while `setDueDate` moves the next due date without adding a review record. Deletion and cleanup operations are destructive and require confirmation according to the tool descriptions.

Media can be listed, retrieved as base64, uploaded from base64, an absolute local path, or a URL, and deleted from Anki's `collection.media` directory. The model tools expose available note types, fields, CSS, and card templates. The README also describes model creation and model-field or template changes, including workflows for custom right-to-left styling.

## Setup and configuration

The repository describes the anki-mcp/anki-mcp-desktop MCP server as supporting one-click MCPB installation and includes documentation for use with Claude Desktop. The supplied material does not provide a complete installation command or configuration block, so deployment details should be taken from the project's current documentation. The project is labeled beta, and its APIs and features may change during active development.

AnkiWeb synchronization is available through the server's `sync` tool. The material does not specify environment variables, API keys, or an external authentication configuration.

## Tools and capabilities

Supported capability groups include:

- Review cards, retrieve due cards, inspect card states, and record ratings.
- List, create, inspect, and reorganize decks.
- Create, search, inspect, update, batch-create, and delete notes.
- Add, remove, replace, and clean up tags.
- List, download, upload, and delete collection media.
- Inspect note models, fields, styling, and front/back templates.
- Drive selected Anki desktop interface workflows through GUI tools described in the README.

The README distinguishes GUI tools from review tools: GUI operations are intended for note editing, note creation, and deck-management workflows rather than review sessions.

_Full upstream README: https://allmcps.com/mcp/anki-mcp-anki-mcp-desktop/readme_

