Anki MCP Server

by nietus
Integrations
  • Provides tools for managing Anki flashcards and decks, including creating and updating cards, managing note types, searching for cards, retrieving due and new cards, and handling card reviews programmatically through the AnkiConnect plugin.

anki-mcp

Servidor MCP para Anki. Este servidor permite la interacción con Anki mediante el Protocolo de Contexto de Modelo (MCP). Permite a los usuarios gestionar tarjetas, mazos y procesos de revisión mediante programación.

Prerrequisitos

  • Node.js y npm instalados.
  • Complemento AnkiConnect instalado y ejecutándose en Anki.

Configuración y ejecución

Se recomienda encarecidamente ejecutarlo localmente, ya que Anki Connect solo funciona localmente.

Para ejecutar localmente:

  1. Clonar el repositorio:
    git clone https://github.com/nietus/anki-mcp
  2. Instalar dependencias:
    npm install
  3. Compilar el proyecto: El script prepare en package.json debería ejecutar la compilación automáticamente tras la instalación. Si necesita compilar manualmente:
    npm run build
    Este comando compila el código TypeScript y hace que el script del cliente sea ejecutable.
  4. Integrar con la configuración del cursor para Windows
    "anki": { "command": "cmd", "args": [ "/c", "node", "c:/Users/-/Downloads/anki-mcp/build/client.js" ] }

Herramientas disponibles

Para depurar las herramientas, utilice

npm run inspector

El servidor proporciona las siguientes herramientas para interactuar con Anki:

  • update_cards :
    • Descripción: Después de que el usuario responda las tarjetas en las que lo has interrogado, utiliza esta herramienta para marcarlas como respondidas y actualizar su facilidad.
    • Entrada: una matriz de respuestas, cada una con cardId (número) y ease (número, 1-4).
  • add_card :
    • Descripción: Crea una nueva flashcard en Anki. Nota: El contenido usa HTML.
      • Saltos de línea: <br>
      • Código: <pre style="background-color: transparent; padding: 10px; border-radius: 5px;">
      • Listas: <ol> y <li>
      • Negrita: <strong>
      • Cursiva: <em>
    • Aporte:
      • fields : (objeto) Un objeto donde las claves son los nombres de campo (por ejemplo, "Hanzi", "Pinyin") y los valores son su contenido HTML.
      • modelName : (cadena) El nombre del tipo de nota Anki (modelo) a utilizar.
      • deckName : (cadena opcional) El nombre del mazo al que se añadirá la carta. El valor predeterminado es el mazo actual o "Predeterminado".
      • tags : (matriz opcional de cadenas) Una lista de etiquetas para agregar a la nota.
  • get_due_cards :
    • Descripción: Devuelve una cantidad determinada de tarjetas que deben revisarse.
    • Entrada: num (número).
  • get_new_cards :
    • Descripción: Devuelve una cantidad determinada de tarjetas nuevas y no vistas.
    • Entrada: num (número).
  • get-deck-names :
    • Descripción: Obtenga una lista de todos los nombres de mazos de Anki.
    • Entrada: Ninguna.
  • find-cards :
    • Descripción: Encuentra tarjetas mediante una consulta de búsqueda Anki sin procesar. Devuelve información detallada de la tarjeta, incluidos los campos.
    • Entrada: query (cadena, p. ej., 'deck:Default -tag:test' o '"deck:My Deck" tag:important' ). Para filtrar campos vacíos, utilice '-FieldName:_*' (p. ej., '-Hanzi:_*' ).
  • update-note-fields :
    • Descripción: Actualizar campos específicos de una nota Anki determinada.
    • Entrada: noteId (número), fields (objeto, p. ej., {"Front": "New Q", "Back": "New A"} ).
  • create_deck :
    • Descripción: Crea un nuevo mazo de Anki.
    • Entrada: deckName (cadena).
  • bulk_update_notes :
    • Descripción: Actualizar campos específicos para múltiples notas de Anki.
    • Entrada: una matriz de notes , donde cada nota tiene noteId (número) y fields (objeto).
  • get_model_names :
    • Descripción: Enumera todos los nombres de tipos y modelos de notas Anki disponibles.
    • Entrada: Ninguna.
  • get_model_details :
    • Descripción: Recupera los campos, las plantillas de tarjetas y el estilo CSS para un tipo de nota específico.
    • Entrada: modelName (cadena).
  • get_deck_model_info :
    • Descripción: Recupera información sobre los tipos de notas (modelos) utilizados en un mazo específico. Ayuda a determinar si se utiliza un solo modelo, varios, o si el mazo está vacío o no existe.
    • Entrada: deckName (cadena).
    • Salida: Un objeto con deckName , status (por ejemplo, "single_model_found", "multiple_models_found", "no_notes_found", "deck_not_found") y, condicionalmente, modelName (cadena) o modelNames (matriz de cadenas).
  • add_note_type_field :
    • Descripción: Agrega un nuevo campo a un tipo de nota.
    • Entrada: modelName (cadena), fieldName (cadena).
  • remove_note_type_field :
    • Descripción: Elimina un campo existente de un tipo de nota.
    • Entrada: modelName (cadena), fieldName (cadena).
  • rename_note_type_field :
    • Descripción: Cambia el nombre de un campo en un tipo de nota.
    • Entrada: modelName (cadena), oldFieldName (cadena), newFieldName (cadena).
  • reposition_note_type_field :
    • Descripción: Cambia el orden (índice) de un campo en un tipo de nota.
    • Entrada: modelName (cadena), fieldName (cadena), index (número).
  • update_note_type_templates :
    • Descripción: Actualiza las plantillas HTML (por ejemplo, anverso y reverso) para las tarjetas de un tipo de nota.
    • Entrada: modelName (cadena), templates (objeto, p. ej., {"Card 1": {"Front": "html", "Back": "html"}} ).
  • update_note_type_styling :
    • Descripción: Actualiza el estilo CSS para un tipo de nota.
    • Entrada: modelName (cadena), css (cadena).
  • create_model :
    • Descripción: Crea un nuevo tipo de nota Anki (modelo).
    • Entrada: modelName (cadena), fieldNames (matriz de cadenas), cardTemplates (matriz de objetos, cada uno con las cadenas HTML Name , Front , Back ), css (cadena opcional), isCloze (booleano opcional, el valor predeterminado es falso), modelType (cadena opcional, el valor predeterminado es 'Estándar').
  • add_bulk :
    • Descripción: Agrega varias tarjetas a Anki en una sola operación. El contenido de las notas usa HTML. Esta herramienta permite agregar varias notas (tarjetas) a la vez.
    • Entrada: una matriz de notes , donde cada objeto de nota tiene:
      • fields : (objeto) Un objeto donde las claves son los nombres de los campos y los valores son su contenido HTML.
      • modelName : (cadena) El nombre del tipo de nota Anki (modelo) que se utilizará para esta nota.
      • deckName : (cadena opcional) El nombre del deck para esta nota. El valor predeterminado es 'Default'.
      • tags : (matriz opcional de cadenas) Una lista de etiquetas para esta nota.

Puede encontrar más información aquí Integración de Anki | Smithery

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Servidor que permite la interacción programática con Anki a través del Protocolo de Contexto de Modelo, permitiendo a los usuarios administrar flashcards, mazos y procesos de revisión.

  1. Prerrequisitos
    1. Configuración y ejecución
      1. Para ejecutar localmente:
    2. Herramientas disponibles

      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 TypeScript-based server that integrates with Anki via the AnkiConnect plugin, allowing you to manage flashcard decks, note models, and create Anki notes using natural language.
        Last updated -
        22
        JavaScript
        MIT License
        • Apple
      • -
        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/nietus/anki-mcp'

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