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)
Related MCP server: Anki MCP Server
Installation
Verwendung
So führen Sie den MCP-Server aus:
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:
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:
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:
Ausführen von Tests
Aufgaben
[ ] Schließen Sie das Hinzufügen aller AnkiConnect-Tools ab