Skip to main content
Glama

anki-mcp

insignia de herrería

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.

Related MCP server: Anki MCP Server

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

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

Latest Blog Posts

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