anki-mcp-server
by: scorzeth
An MCP server for 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 withcardId
andease
.
- Inputs:
- add_card: Creates a new card in the Default Anki deck.
- Inputs:
front
(string): Front of the card.back
(string): Back of the card.
- Inputs:
- get_due_cards: Returns a specified number of cards due for review.
- Inputs:
num
(number): Number of cards.
- Inputs:
- get_new_cards: Returns a specified number of unseen cards.
- Inputs:
num
(number): Number of cards.
- Inputs:
Development
Instructions
-
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 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.