MCP HubMCP Hub
scorzeth

anki-mcp-server

by: scorzeth

An MCP server for Anki

82created 11/12/2024
Visit
Anki

📌Overview

Purpose: To facilitate connection and interaction between a locally running Anki desktop app and a server for card review and creation.

Overview: The Anki MCP Server is an implementation that leverages the Anki desktop application along with the Anki-Connect add-on, enabling users to manage card reviews and creation through a server-based interface.

Key Features:

  • Card Search Resources: Provides multiple search endpoints including those for current deck cards, due cards, and unseen cards using URLs tailored to the Anki query syntax.

  • Card Management Tools: Offers functions for updating card statuses (like marking cards as answered), adding new cards to the default deck, and retrieving a specified number of due or new cards for review.


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 new cards
    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. Using the MCP Inspector package script is recommended:

npm run inspector

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