An MCP server that enables AI assistants like Claude to interact with Anki flashcard decks through the Model Context Protocol (MCP).
- Create and manage Anki decks
- Create basic flashcards with front/back content
- Create cloze deletion cards
- Update existing cards and cloze deletions
- Add and manage tags
- View deck contents and card information
- Full integration with AnkiConnect
- Anki installed and running
- AnkiConnect plugin installed in Anki
- Node.js 16 or higher
- Clone this repository:
git clone https://github.com/yourusername/clanki.git
cd clanki- Install dependencies:
npm install- Build the project:
npm run build-
Make sure Anki is running and the AnkiConnect plugin is installed and enabled
-
Configure Claude for Desktop to use the server by editing
claude_desktop_config.json:
{
"mcpServers": {
"clanki": {
"command": "node",
"args": ["/absolute/path/to/clanki/build/index.js"]
}
}
}Replace /absolute/path/to/clanki with the actual path to your clanki installation.
Creates a new Anki deck
- Parameters:
name: Name for the new deck
Creates a new basic flashcard in a specified deck
- Parameters:
deckName: Name of the deck to add the card tofront: Front side content of the cardback: Back side content of the cardtags: (Optional) Array of tags for the card
Creates a new cloze deletion card in a specified deck
- Parameters:
deckName: Name of the deck to add the card totext: Text containing cloze deletions using {{c1::text}} syntaxbackExtra: (Optional) Extra information to show on the back of the cardtags: (Optional) Array of tags for the card
Updates an existing basic flashcard
- Parameters:
noteId: ID of the note to updatefront: (Optional) New front side contentback: (Optional) New back side contenttags: (Optional) New tags for the card
Updates an existing cloze deletion card
- Parameters:
noteId: ID of the note to updatetext: (Optional) New text with cloze deletionsbackExtra: (Optional) New extra information for the backtags: (Optional) New tags for the card
To modify or extend the server:
- Make changes to
src/index.ts - Rebuild with
npm run build - Debug with
npx @modelcontextprotocol/inspector node build/index.js