Anki
Overview
What is Anki
The Anki MCP Server is an implementation that interfaces with the local Anki desktop application via the Anki-Connect add-on. It provides functionalities for card review and creation, streamlining users’ interaction with their Anki decks.
Use cases
This server can be used to automate the review process by fetching due cards, creating new cards, and updating card statuses. It is particularly useful for users looking to enhance their learning efficiency by programmatically managing their flashcards.
How to use
To use the server, first ensure the Anki-Connect add-on is installed in Anki. After that, install the necessary dependencies, build the server, and configure it to work with Claude Desktop. Users can then utilize specific resources and tools provided by the server for card management.
Key features
Key features include retrieving cards from the current deck, getting all due and new cards, updating card statuses with ease scores, and creating new cards in the default Anki deck. The server supports various commands, making it a versatile tool for flashcard management.
Where to use
The Anki MCP Server is best used in personal study setups where Anki is employed for spaced-repetition learning. It can be integrated into desktop applications to enhance learning workflows, making it suitable for anyone using Anki for educational purposes.
Content
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 withcardId
(number) andease
(number) fields
-
add_card
- Creates a new card in the Default Anki deck
- Inputs:
front
(string): Front of cardback
(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.