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

MCP-сервер для Anki. Этот сервер позволяет взаимодействовать с Anki через Model Context Protocol (MCP). Он позволяет пользователям программно управлять карточками, колодами и процессами обзора.

Предпосылки

  • Установлены Node.js и npm.
  • Плагин AnkiConnect установлен и работает в Anki.

Настройка и выполнение

Настоятельно рекомендуется запускать локально, так как anki connect работает только локально.

Для локального запуска:

  1. Клонируйте репозиторий:
    git clone https://github.com/nietus/anki-mcp
  2. Установить зависимости:
    npm install
  3. Сборка проекта: скрипт prepare в package.json должен автоматически запустить сборку при установке. Если вам нужно выполнить сборку вручную:
    npm run build
    Эта команда компилирует код TypeScript и делает клиентский скрипт исполняемым.
  4. Интеграция с настройками курсора для Windows
    "anki": { "command": "cmd", "args": [ "/c", "node", "c:/Users/-/Downloads/anki-mcp/build/client.js" ] }

Доступные инструменты

Для отладки инструментов используйте

npm run inspector

Сервер предоставляет следующие инструменты для взаимодействия с Anki:

  • update_cards :
    • Описание: После того, как пользователь ответит на вопросы карточек, по которым вы его опрашивали, используйте этот инструмент, чтобы отметить его как ответившего и обновить его оценку.
    • Ввод: Массив ответов, каждый с cardId (число) и ease (число, 1-4).
  • add_card :
    • Описание: Создайте новую карточку в Anki. Примечание: содержимое использует HTML.
      • Разрывы строк: <br>
      • Код: <pre style="background-color: transparent; padding: 10px; border-radius: 5px;">
      • Списки: <ol> и <li>
      • Жирный шрифт: <strong>
      • Курсив: <em>
    • Вход:
      • fields : (объект) Объект, где ключами являются имена полей (например, «Hanzi», «Pinyin»), а значениями — их HTML-содержимое.
      • modelName : (строка) Имя типа заметки Anki (модели), который будет использоваться.
      • deckName : (необязательная строка) Имя колоды, в которую нужно добавить карту. По умолчанию — текущая колода или «По умолчанию».
      • tags : (необязательный массив строк) Список тегов для добавления в заметку.
  • get_due_cards :
    • Описание: Возвращает заданное количество карточек, подлежащих проверке.
    • Ввод: num (число).
  • get_new_cards :
    • Описание: Возвращает заданное количество новых и непросмотренных карт.
    • Ввод: num (число).
  • get-deck-names :
    • Описание: Получите список всех названий колод Anki.
    • Ввод: Нет.
  • find-cards :
    • Описание: Поиск карточек с помощью необработанного поискового запроса Anki. Возвращает подробную информацию о карточке, включая поля.
    • Ввод: query (строка, например, 'deck:Default -tag:test' или '"deck:My Deck" tag:important' ). Для фильтрации пустых полей используйте '-FieldName:_*' (например, '-Hanzi:_*' ).
  • update-note-fields :
    • Описание: Обновление определенных полей заданной заметки Anki.
    • Ввод: noteId (число), fields (объект, например, {"Front": "New Q", "Back": "New A"} ).
  • create_deck :
    • Описание: Создайте новую колоду Anki.
    • Ввод: deckName (строка).
  • bulk_update_notes :
    • Описание: Обновление определенных полей для нескольких заметок Anki.
    • Входные данные: массив notes , где каждая заметка имеет noteId (номер) и fields (объект).
  • get_model_names :
    • Описание: Перечисляет все доступные названия типов/моделей заметок Anki.
    • Ввод: нет.
  • get_model_details :
    • Описание: Извлекает поля, шаблоны карточек и стили CSS для указанного типа заметки.
    • Ввод: modelName (строка).
  • get_deck_model_info :
    • Описание: Извлекает информацию о типах (моделях) нот, используемых в указанной колоде. Помогает определить, используется ли одна модель, несколько или колода пуста или отсутствует.
    • Ввод: deckName (строка).
    • Вывод: объект с deckName , status (например, «single_model_found», «multiple_models_found», «no_notes_found», «deck_not_found») и условно modelName (строка) или modelNames (массив строк).
  • add_note_type_field :
    • Описание: Добавляет новое поле к типу заметки.
    • Ввод: modelName (строка), fieldName (строка).
  • remove_note_type_field :
    • Описание: Удаляет существующее поле из типа заметки.
    • Ввод: modelName (строка), fieldName (строка).
  • rename_note_type_field :
    • Описание: Переименовывает поле в типе заметки.
    • Ввод: modelName (строка), oldFieldName (строка), newFieldName (строка).
  • reposition_note_type_field :
    • Описание: Изменяет порядок (индекс) поля в типе заметки.
    • Ввод: modelName (строка), fieldName (строка), index (число).
  • update_note_type_templates :
    • Описание: Обновляет HTML-шаблоны (например, лицевую и оборотную стороны) для карточек типа заметки.
    • Ввод: modelName (строка), templates (объект, например, {"Card 1": {"Front": "html", "Back": "html"}} ).
  • update_note_type_styling :
    • Описание: Обновляет стиль CSS для типа заметки.
    • Ввод: modelName (строка), css (строка).
  • create_model :
    • Описание: Создает новый тип заметки Anki (модель).
    • Ввод: modelName (строка), fieldNames (массив строк), cardTemplates (массив объектов, каждый со строками HTML Name , Front , Back ), css (необязательная строка), isCloze (необязательная логическая переменная, по умолчанию false), modelType (необязательная строка, по умолчанию «Standard»).
  • add_bulk :
    • Описание: Добавляет несколько карточек в Anki за одну операцию. Содержимое заметок использует HTML. Этот инструмент предназначен для добавления нескольких заметок (карточек) одновременно.
    • Входные данные: Массив notes , где каждый объект заметки имеет:
      • fields : (объект) Объект, где ключи — это имена полей, а значения — их HTML-содержимое.
      • modelName : (строка) Имя типа заметки Anki (модели), используемого для этой заметки.
      • deckName : (необязательная строка) Имя колоды для этой заметки. По умолчанию «Default».
      • tags : (необязательный массив строк) Список тегов для этой заметки.

Более подробную информацию можно найти здесь Интеграция Anki | Smithery

You must be authenticated.

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

Сервер, который обеспечивает программное взаимодействие с Anki через протокол контекста модели, позволяя пользователям управлять карточками, колодами и процессами обзора.

  1. Предпосылки
    1. Настройка и выполнение
      1. Для локального запуска:
    2. Доступные инструменты

      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