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 works with the Anki desktop app and the Anki-Connect add-on.

Resources

  • anki://search/deckcurrent: Returns all cards from the 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 assigns an ease score (1 to 4).
    • Inputs:
      • answers (array): Array of objects with cardId and ease.
  • add_card: Creates a new card in the Default Anki deck.
    • Inputs:
      • front (string): Front of the card.
      • back (string): Back of the card.
  • get_due_cards: Returns a specified number of cards due for review.
    • Inputs:
      • num (number): Number of cards.
  • get_new_cards: Returns a specified number of unseen cards.
    • Inputs:
      • num (number): Number of cards.

Development

Instructions

  1. Install dependencies:

    npm install
    
  2. Build the server:

    npm run build
    
  3. For development with auto-rebuild:

    npm run watch
    

Configuration

To use with Claude Desktop, add the server configuration in:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "anki-mcp-server": {
      "command": "/path/to/anki-mcp-server/build/index.js"
    }
  }
}

Debugging

For debugging, use the MCP Inspector, available as a package script:

npm run inspector

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