clanki

Clanki is an MCP server that enables AI assistants like Claude to interact with Anki flashcard decks. It offers a variety of features including creating and managing decks, creating and updating flashcards, managing tags, and viewing card information. With full integration with AnkiConnect, it supports efficient learning for users.

GitHub Stars

8

User Rating

Not Rated

Favorites

0

Views

19

Forks

5

Issues

2

README

MseeP.ai Security Assessment Badge

Clanki - Claude's Anki Integration

An MCP server that enables AI assistants like Claude to interact with Anki flashcard decks through the Model Context Protocol (MCP).

Features
  • 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
Prerequisites
  • Anki installed and running
  • AnkiConnect plugin installed in Anki
  • Node.js 16 or higher
Installation
  1. Clone this repository:
git clone https://github.com/yourusername/clanki.git
cd clanki
  1. Install dependencies:
npm install
  1. Build the project:
npm run build
Setup
  1. Make sure Anki is running and the AnkiConnect plugin is installed and enabled

  2. 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.

Available Tools
create-deck

Creates a new Anki deck

  • Parameters:
    • name: Name for the new deck
create-card

Creates a new basic flashcard in a specified deck

  • Parameters:
    • deckName: Name of the deck to add the card to
    • front: Front side content of the card
    • back: Back side content of the card
    • tags: (Optional) Array of tags for the card
create-cloze-card

Creates a new cloze deletion card in a specified deck

  • Parameters:
    • deckName: Name of the deck to add the card to
    • text: Text containing cloze deletions using {{c1::text}} syntax
    • backExtra: (Optional) Extra information to show on the back of the card
    • tags: (Optional) Array of tags for the card
update-card

Updates an existing basic flashcard

  • Parameters:
    • noteId: ID of the note to update
    • front: (Optional) New front side content
    • back: (Optional) New back side content
    • tags: (Optional) New tags for the card
update-cloze-card

Updates an existing cloze deletion card

  • Parameters:
    • noteId: ID of the note to update
    • text: (Optional) New text with cloze deletions
    • backExtra: (Optional) New extra information for the back
    • tags: (Optional) New tags for the card
Development

To modify or extend the server:

  1. Make changes to src/index.ts
  2. Rebuild with npm run build
  3. Debug with npx @modelcontextprotocol/inspector node build/index.js