MCP-AnkiConnect

MCP-AnkiConnect

An MCP server that integrates Claude with Anki flashcards, allowing users to review due cards and create new flashcards directly through conversation.

samefarrar

Note Taking
Education & Learning Tools
Knowledge & Memory
Visit Server

Tools

list_decks_and_notes

Get all decks and note types with their fields

num_cards_due_today

Get the number of cards due today with an optional deck filter

get_examples

Get example notes from Anki to guide your flashcard making. Limit the number of examples returned and provide a sampling technique: - random: Randomly sample notes - recent: Notes added in the last week - most_reviewed: Notes with more than 10 reviews - best_performance: Notes with less than 3 lapses - mature: Notes with interval greater than 21 days - young: Notes with interval less than 7 days

fetch_due_cards_for_review

Fetch cards that are due for learning and format them for review. Takes optional arguments: - deck: str - Filter by specific deck. - limit: int - Maximum number of cards to fetch (default 5). More than 5 is overwhelming for users. - today_only: bool - If true, only fetch cards due today, else fetch cards up to 5 days ahead.

submit_reviews

Submit multiple card reviews to Anki. Args: reviews: List of dictionaries containing: - card_id (int): The ID of the card being reviewed - rating (str): The rating to give the card, one of: "wrong" - Card was incorrect (Again) "hard" - Card was difficult (Hard) "good" - Card was good (Good) "easy" - Card was very easy (Easy)

add_note

Add a flashcard to Anki. Ensure you have looked at examples before you do this, and that you have got approval from the user to add the flashcard. Args: deckName: str - The name of the deck to add the flashcard to. modelName: str - The name of the note type to use. fields: dict - The fields of the flashcard to add. tags: List[str] - The tags to add to the flashcard.

README

mcp-ankiconnect MCP server

Connect Claude conversations with AnkiConnect via MCP to make spaced repetition as easy as "Let's go through today's flashcards" or "Make flashcards for this"

Components

Tools

The server implements three tools:

  • num_cards_due_today: Get the number of cards due today

    • Optional deck argument to filter by specific deck
    • Returns count of due cards across all decks or specified deck
  • get_due_cards: Get cards that are due for review

    • Optional limit argument (default: 5) to control number of cards
    • Optional deck argument to filter by specific deck
    • Optional today_only argument (default: true) to show only today's cards
    • Returns cards in XML format with questions and answers
  • submit_reviews: Submit answers for reviewed cards

    • Takes list of reviews with card_id and rating
    • Ratings: "wrong", "hard", "good", "easy"
    • Returns confirmation of submitted reviews

Configuration

Prerequisites

  • Anki must be running with AnkiConnect plugin installed (plugin id 2055492159) AnkiConnect can be slow on Macs due to the AppSleep feature, so disable it for Anki. To do so run the following in your terminal.
    defaults write net.ankiweb.dtop NSAppSleepDisabled -bool true
    defaults write net.ichi2.anki NSAppSleepDisabled -bool true
    defaults write org.qt-project.Qt.QtWebEngineCore NSAppSleepDisabled -bool true
    

Installation

Quickstart

  1. Install the AnkiConnect plugin in Anki:

    • Tools > Add-ons > Get Add-ons...
    • Enter code: 2055492159
    • Restart Anki
  2. Configure Claude Desktop:

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

    Add this configuration:

    {
      "mcpServers": {
        "mcp-ankiconnect": {
          "command": "uv",
          "args": ["run", "--with", "mcp-ankiconnect", "mcp-ankiconnect"]
        }
      }
    }
    
  3. Restart Anki and Claude desktop

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector. First, clone the repository and install the dependencies:

git clone https://github.com/samefarrar/mcp-ankiconnect.git
cd mcp-ankiconnect
uv sync

You can launch the MCP Inspector via the mcp CLI:

uv run mcp dev mcp_ankiconnect/server.py

Upon launching, the Inspector will display a URL you can access in your browser to begin debugging.

Recommended Servers

graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Apple MCP Server

Apple MCP Server

Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.

Featured
Local
TypeScript
MCP DuckDB Knowledge Graph Memory Server

MCP DuckDB Knowledge Graph Memory Server

A memory server for Claude that stores and retrieves knowledge graph data in DuckDB, enhancing performance and query capabilities for conversations with persistent user information.

Featured
TypeScript
Todoist MCP

Todoist MCP

An MCP server that enables LLMs to interact with Todoist tasks, projects, and other features through the Todoist API.

Featured
TypeScript
Airtable MCP Server

Airtable MCP Server

A Model Context Protocol server that provides tools for programmatically managing Airtable bases, tables, fields, and records through Claude Desktop or other MCP clients.

Featured
JavaScript
Notion API MCP Server

Notion API MCP Server

Enables advanced todo list management and content organization using Notion's API, supporting features like creating databases, dynamic filtering, and collaborative task tracking.

Featured
Python
Todoist MCP Server

Todoist MCP Server

Integrates Claude with Todoist for natural language task management, supporting project and section organization, task creation, updating, completion, and deletion using everyday language.

Featured
JavaScript
Todoist MCP Server

Todoist MCP Server

An MCP server that integrates Claude with Todoist, enabling natural language task management including creating, updating, completing, and deleting tasks.

Featured
JavaScript
Curri MCP Server

Curri MCP Server

Enables interaction with Curri's API by managing text notes, offering tools for note creation, and generating summaries using structured prompts.

Official
Local
JavaScript
Inkdrop MCP Server

Inkdrop MCP Server

Integrates Inkdrop note-taking app with Claude AI through Model Context Protocol, allowing Claude to search, read, create, and update notes in your Inkdrop database.

Official
Local
JavaScript