Skip to main content
Glama

anki-mcp

by ujisati

anki-mcp

Ein Model Context Protocol (MCP)-Server für die Interaktion mit Anki-Karteikarten über das AnkiConnect-Add-on. Dieser Server stellt AnkiConnect-Aktionen als MCP-Tools bereit, die in logischen Diensten organisiert sind.

Voraussetzungen

  • Anki-Desktopanwendung
  • AnkiConnect-Add-on in Anki installiert und konfiguriert
  • Python 3.8+
  • uv (zum Ausführen und Installieren von Abhängigkeiten, optional, aber empfohlen)

Installation

# Clone the repository git clone https://github.com/ujisati/anki-mcp.git cd anki-mcp # Install dependencies (using uv) uv pip install -e .

Verwendung

So führen Sie den MCP-Server aus:

uv run anki-mcp

Der Server wird gestartet und wartet auf MCP-Anfragen. Normalerweise erfolgt die Schnittstelle zu AnkiConnect unter http://127.0.0.1:8765 .

Überprüfen des Servers

Sie können den MCP-Inspektor verwenden, um die verfügbaren Tools anzuzeigen:

npx @modelcontextprotocol/inspector uv run anki-mcp

Konfiguration für MCP-Clients

Wenn Sie dies in einen MCP-Client (z. B. ein Framework für KI-Assistenten) integrieren, müssen Sie ihn so konfigurieren, dass dieser Server gefunden wird. Hier ist ein Beispiel für eine Konfiguration:

{ "mcpServers": { "anki": { "command": "uv", "args": [ "run", // uv will find anki-mcp if run from project root "anki-mcp" ], // If running from outside the project directory, specify the path: // "args": [ // "--directory", // "/ABSOLUTE/PATH/TO/anki-mcp", // Replace with actual path // "run", // "anki-mcp" // ] } } }

Verfügbare MCP-Tools

Dieser MCP-Server bietet Zugriff auf Anki-Funktionen über nach Diensten gruppierte Tools. Die Toolnamen entsprechen direkt den AnkiConnect-Aktionen.

Deckservice ( deck.* )

  • deck.deckNamesAndIds : Ruft die vollständige Liste der Decknamen und ihrer jeweiligen IDs ab.
  • deck.getDeckConfig : Ruft das Konfigurationsgruppenobjekt für einen bestimmten Decknamen ab.
  • deck.deckNames : Ruft die vollständige Liste der Decknamen für den aktuellen Benutzer ab.
  • deck.createDeck : Erstellt ein neues leeres Deck.
  • deck.deleteDecks : Löscht angegebene Decks.
  • deck.changeDeck : Verschiebt Karten in ein anderes Deck.
  • deck.saveDeckConfig : Speichert eine Deckkonfigurationsgruppe.

Hinweisdienst ( note.* )

  • note.findNotes : Gibt Notiz-IDs für eine bestimmte Anki-Suchabfrage zurück.
  • note.notesInfo : Gibt Informationen für angegebene Notiz-IDs zurück.
  • note.getNoteTags : Ruft die Tags für eine bestimmte Notiz-ID ab.
  • note.addNote : Erstellt eine neue Notiz.
  • note.updateNoteFields : Ändert die Felder einer vorhandenen Notiz.
  • note.deleteNotes : Löscht angegebene Notizen.
  • note.addNotes : Erstellt mehrere Notizen.
  • note.addTags : Fügt angegebenen Notizen Tags hinzu.
  • note.removeTags : Entfernt Tags aus angegebenen Notizen.
  • note.updateNote : Ändert die Felder und/oder Tags einer vorhandenen Notiz.

Kartenservice ( card.* )

  • card.findCards : Gibt Karten-IDs für eine bestimmte Anki-Suchabfrage zurück.
  • card.cardsInfo : Gibt Informationen für angegebene Karten-IDs zurück.
  • card.cardsToNotes : Gibt Notiz-IDs für angegebene Karten-IDs zurück.
  • card.areSuspended : Überprüft, ob angegebene Karten gesperrt sind.
  • card.cardsModTime : Gibt die Änderungszeit für angegebene Karten-IDs zurück.
  • card.suspended : Überprüft, ob eine einzelne Karte gesperrt ist.
  • card.suspend : Sperrt angegebene Karten.
  • card.unsuspend : Hebt die Sperre angegebener Karten auf.
  • card.setSpecificValueOfCard : Legt bestimmte Werte einer einzelnen Karte fest (mit Vorsicht verwenden).

Modelldienst ( model.* ) (Notiztypen)

  • model.modelNamesAndIds : Ruft die vollständige Liste der Modellnamen (Notiztyp) und ihrer IDs ab.
  • model.findModelsByName : Ruft Modelldefinitionen für bereitgestellte Modellnamen ab.
  • model.modelFieldNames : Ruft Feldnamen für einen bestimmten Modellnamen ab.
  • model.modelTemplates : Ruft Vorlageninhalte für jede Karte eines angegebenen Modells ab.
  • model.modelStyling : Ruft den CSS-Stil für einen bestimmten Modellnamen ab.
  • model.createModel : Erstellt ein neues Modell (Notiztyp).
  • model.updateModelTemplates : Ändert Vorlagen eines vorhandenen Modells.
  • model.updateModelStyling : Ändert den CSS-Stil eines vorhandenen Modells.
  • model.modelFieldAdd : Fügt einem vorhandenen Modell ein neues Feld hinzu.
  • model.modelFieldRemove : Entfernt ein Feld aus einem vorhandenen Modell.

Mediendienst ( media.* )

  • media.retrieveMediaFile : Ruft den Base64-codierten Inhalt einer Mediendatei ab.
  • media.getMediaFilesNames : Ruft Namen von Mediendateien ab, die einem Glob-Muster entsprechen.
  • media.storeMediaFile : Speichert eine Mediendatei (von Base64, Pfad oder URL).
  • media.deleteMediaFile : Löscht eine angegebene Mediendatei.

Entwicklung

So richten Sie die Entwicklung ein:

uv sync source .venv/bin/activate uv pip install -e .

Ausführen von Tests

pytest

Aufgaben

  • [ ] Schließen Sie das Hinzufügen aller AnkiConnect-Tools ab

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Ein Model Context Protocol-Server, der die Interaktion mit Anki-Karteikarten über AnkiConnect ermöglicht und organisierte Tools zum Verwalten von Stapeln, Notizen, Karten, Modellen und Mediendateien bereitstellt.

  1. Voraussetzungen
    1. Installation
      1. Verwendung
        1. Überprüfen des Servers
      2. Konfiguration für MCP-Clients
        1. Verfügbare MCP-Tools
          1. Deckservice ( deck.* )
          2. Hinweisdienst ( note.* )
          3. Kartenservice ( card.* )
          4. Modelldienst ( model.* ) (Notiztypen)
          5. Mediendienst ( media.* )
        2. Entwicklung
          1. Ausführen von Tests
        3. Aufgaben

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A server implementation that connects to a locally running Anki, enabling card review and creation through the Model Context Protocol.
            Last updated -
            4
            40
            JavaScript
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server that enables LLMs to interact with Anki flashcard software through AnkiConnect, allowing for creation and management of flashcards, decks, and note types.
            Last updated -
            10
            206
            30
            TypeScript
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that allows Claude to create flashcards for Rember, helping users study and remember information through spaced repetition reviews.
            Last updated -
            88
            16
            TypeScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that allows LLMs to interact with Anki flashcard software, enabling functions like creating decks, adding notes, searching cards, and managing flashcard content through natural language.
            Last updated -
            206
            1
            JavaScript
            MIT License

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/ujisati/anki-mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server