anki-mcp-server

MCP.Pizza Chef: scorzeth

The anki-mcp-server is an MCP server that connects to a locally running Anki desktop application via the Anki-Connect add-on. It enables real-time interaction with Anki's flashcard system, allowing users to fetch cards from the current deck, review due and new cards, and update card review statuses with ease scores. Additionally, it supports creating new cards directly in the default Anki deck. This server facilitates seamless integration of Anki's spaced repetition system into AI workflows, enhancing study automation and personalized learning experiences.

Use This MCP server To

Fetch all cards from the current Anki deck Retrieve due and learning cards for review Get all new, unseen cards in Anki Mark cards as reviewed with ease scores Create new flashcards in the default deck Automate Anki card review sessions Integrate Anki flashcards into AI study assistants

README

Anki MCP Server

An MCP server implementation that connects to a locally running Anki, providing card review and creation.

This server is designed to work with the Anki desktop app and the Anki-Connect add-on.

Make sure you have the add-on installed before using.

Resources

  • anki://search/deckcurrent
    • Returns all cards from current deck
    • Equivalent of deck:current in Anki
  • anki://search/isdue
    • Returns cards in review and learning waiting to be studied
    • Equivalent of is:due in Anki
  • anki://search/isnew
    • Returns all unseen cards
    • Equivalent of is:new in Anki

Tools

  • update_cards

    • Marks cards with given card IDs as answered and gives them an ease score between 1 (Again) and 4 (Easy)
    • Inputs:
      • answers (array): Array of objects with cardId (number) and ease (number) fields
  • add_card

    • Creates a new card in the Default Anki deck
    • Inputs:
      • front (string): Front of card
      • back (string): Back of card
  • get_due_cards

    • Returns n number of cards currently due for review
    • Inputs:
      • num (number): Number of cards
  • get_new_cards

    • Returns n number of cards from new
    • Inputs:
      • num (number): Number of cards

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Configuration

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "anki-mcp-server": {
      "command": "/path/to/anki-mcp-server/build/index.js"
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

anki-mcp-server FAQ

How do I set up the anki-mcp-server?
Install the Anki desktop app and the Anki-Connect add-on, then run the anki-mcp-server locally to connect.
What is required before using anki-mcp-server?
You must have the Anki desktop application running locally with the Anki-Connect add-on installed and enabled.
How does anki-mcp-server update card review status?
It uses the update_cards tool to mark cards as answered and assigns an ease score from 1 (Again) to 4 (Easy).
Can I create new cards using anki-mcp-server?
Yes, the add_card tool allows creating new flashcards in the default Anki deck.
Is anki-mcp-server compatible with other spaced repetition apps?
No, it specifically integrates with Anki desktop via the Anki-Connect add-on.
Does anki-mcp-server support remote Anki instances?
It is designed to connect to a locally running Anki instance only.
Can I use anki-mcp-server with different LLM providers?
Yes, it can be integrated with models from OpenAI, Anthropic Claude, and Google Gemini for enhanced AI-driven study workflows.
How does anki-mcp-server handle card searches?
It supports queries like deck:current, is:due, and is:new to fetch cards based on review status.