Skip to main content
Glama

anki-mcp

значок кузнеца

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

Предпосылки

  • Установлены Node.js и npm.

  • Плагин AnkiConnect установлен и работает в Anki.

Related MCP server: Anki MCP Server

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

Настоятельно рекомендуется запускать локально, так как 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

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