Skip to main content
Glama

anki-mcp

by ujisati

anki-mcp

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con las tarjetas de memoria de Anki mediante el complemento AnkiConnect. Este servidor expone las acciones de AnkiConnect como herramientas MCP, organizadas en servicios lógicos.

Prerrequisitos

  • Aplicación de escritorio Anki
  • Complemento AnkiConnect instalado y configurado en Anki
  • Python 3.8+
  • uv (para ejecutar e instalar dependencias, opcional pero recomendado)

Instalación

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

Uso

Para ejecutar el servidor MCP:

uv run anki-mcp

El servidor se iniciará y escuchará las solicitudes MCP, generalmente interactuando con AnkiConnect en http://127.0.0.1:8765 .

Inspeccionando el servidor

Puede utilizar el Inspector MCP para ver las herramientas disponibles:

npx @modelcontextprotocol/inspector uv run anki-mcp

Configuración para clientes MCP

Si lo integra con un cliente MCP (como un framework de asistente de IA), deberá configurarlo para que encuentre este servidor. A continuación, se muestra un fragmento de configuración de ejemplo:

{ "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" // ] } } }

Herramientas MCP disponibles

Este servidor MCP proporciona acceso a la funcionalidad de Anki mediante herramientas agrupadas por servicios. Los nombres de las herramientas corresponden directamente a las acciones de AnkiConnect.

Servicio de cubierta ( deck.* )

  • deck.deckNamesAndIds : obtiene la lista completa de nombres de mazos y sus respectivos ID.
  • deck.getDeckConfig : obtiene el objeto del grupo de configuración para un nombre de deck determinado.
  • deck.deckNames : obtiene la lista completa de nombres de mazos para el usuario actual.
  • deck.createDeck : crea un nuevo deck vacío.
  • deck.deleteDecks : elimina los decks especificados.
  • deck.changeDeck : Mueve cartas a un mazo diferente.
  • deck.saveDeckConfig : guarda un grupo de configuración de cubierta.

Nota de servicio ( note.* )

  • note.findNotes : Devuelve los ID de notas para una consulta de búsqueda de Anki determinada.
  • note.notesInfo : Devuelve información para los ID de notas especificados.
  • note.getNoteTags : obtiene las etiquetas para una ID de nota específica.
  • note.addNote : Crea una nueva nota.
  • note.updateNoteFields : modifica los campos de una nota existente.
  • note.deleteNotes : elimina notas especificadas.
  • note.addNotes : crea múltiples notas.
  • note.addTags : agrega etiquetas a notas específicas.
  • note.removeTags : elimina las etiquetas de las notas especificadas.
  • note.updateNote : Modifica los campos y/o etiquetas de una nota existente.

Servicio de tarjeta ( card.* )

  • card.findCards : Devuelve los ID de tarjetas para una consulta de búsqueda de Anki determinada.
  • card.cardsInfo : Devuelve información para los ID de tarjetas especificados.
  • card.cardsToNotes : Devuelve los ID de notas para los ID de tarjetas determinados.
  • card.areSuspended : verifica si las tarjetas especificadas están suspendidas.
  • card.cardsModTime : Devuelve la hora de modificación para las ID de tarjetas especificadas.
  • card.suspended : verifica si una sola tarjeta está suspendida.
  • card.suspend : suspende las tarjetas especificadas.
  • card.unsuspend : anula la suspensión de tarjetas específicas.
  • card.setSpecificValueOfCard : establece valores específicos de una sola tarjeta (úselo con precaución).

Servicio de modelos ( model.* ) (Tipos de notas)

  • model.modelNamesAndIds : obtiene la lista completa de nombres de modelos (tipo de nota) y sus ID.
  • model.findModelsByName : Obtiene las definiciones de modelos para los nombres de modelos proporcionados.
  • model.modelFieldNames : obtiene los nombres de campo para un nombre de modelo determinado.
  • model.modelTemplates : obtiene el contenido de la plantilla para cada tarjeta de un modelo especificado.
  • model.modelStyling : obtiene el estilo CSS para un nombre de modelo determinado.
  • model.createModel : Crea un nuevo modelo (tipo nota).
  • model.updateModelTemplates : modifica las plantillas de un modelo existente.
  • model.updateModelStyling : modifica el estilo CSS de un modelo existente.
  • model.modelFieldAdd : agrega un nuevo campo a un modelo existente.
  • model.modelFieldRemove : elimina un campo de un modelo existente.

Servicio de medios ( media.* )

  • media.retrieveMediaFile : recupera el contenido codificado en base64 de un archivo multimedia.
  • media.getMediaFilesNames : obtiene los nombres de los archivos multimedia que coinciden con un patrón global.
  • media.storeMediaFile : almacena un archivo multimedia (desde base64, ruta o URL).
  • media.deleteMediaFile : elimina un archivo multimedia especificado.

Desarrollo

Para prepararse para el desarrollo:

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

Ejecución de pruebas

pytest

Hacer

  • [ ] Terminar de agregar todas las herramientas de AnkiConnect

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.

Un servidor de protocolo de contexto de modelo que permite la interacción con tarjetas de memoria de Anki a través de AnkiConnect, proporcionando herramientas organizadas para administrar mazos, notas, tarjetas, modelos y archivos multimedia.

  1. Prerrequisitos
    1. Instalación
      1. Uso
        1. Inspeccionando el servidor
      2. Configuración para clientes MCP
        1. Herramientas MCP disponibles
          1. Servicio de cubierta ( deck.* )
          2. Nota de servicio ( note.* )
          3. Servicio de tarjeta ( card.* )
          4. Servicio de modelos ( model.* ) (Tipos de notas)
          5. Servicio de medios ( media.* )
        2. Desarrollo
          1. Ejecución de pruebas
        3. Hacer

          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