anki-mcp/anki-mcp-desktop

anki-mcp/anki-mcp-desktop

от anki-mcp
MCP-сервер для интеграции Anki с AI-ассистентами. Позволяет управлять карточками, колодами, тегами и медиа через естественный язык - создавать заметки, просматривать статистику, синхронизироваться....

Anki MCP Server

Tests npm version

Anki + MCP Integration

Seamlessly integrate Anki with AI assistants through the Model Context Protocol

Beta - This project is in active development. APIs and features may change.

A Model Context Protocol (MCP) server that enables AI assistants to interact with Anki, the spaced repetition flashcard application.

Transform your Anki experience with natural language interaction - like having a private tutor. The AI assistant doesn't just present questions and answers; it can explain concepts, make the learning process more engaging and human-like, provide context, and adapt to your learning style. It can create and edit notes on the fly, turning your study sessions into dynamic conversations. More features coming soon!

Examples and Tutorials

For comprehensive guides, real-world examples, and step-by-step tutorials on using this MCP server with Claude Desktop, visit:

ankimcp.ai - Complete documentation with practical examples and use cases

See docs/ for supplementary documentation, including the reviewer setup guide and the sample Anki deck.

Инструменты были проиндексированы:
addModelField

Добавляет новое поле в существующий тип заметок Anki (модель). По умолчанию поле добавляется в конец, либо вставляется в конкретную позицию. У существующих заметок этого типа новое поле будет пустым. Используйте modelFieldNames, чтобы посмотреть текущие поля перед добавлением.

Параметры
  • fieldNamestringобязательный

    Name of the new field to add (e.g., "Grammar", "IPA", "Example")

  • indexinteger

    Position to insert the field (0-based). Omit to append at the end.

  • modelNamestringобязательный

    Name of the note type to modify (e.g., "Basic", "Latin Vocabulary")

addNote

Добавляет ОДНУ заметку в Anki. Чтобы создать несколько заметок, используйте пакетный инструмент addNotes вместо многократного вызова addNote — AnkiConnect обрабатывает запросы по одному, поэтому повторные (особенно параллельные) вызовы addNote работают медленнее и не нужны. С помощью modelNames можно просмотреть доступные типы заметок, а с помощью modelFieldNames — обязательные поля. В случае успеха возвращает ID заметки. ВАЖНО: создавайте только те заметки, которые были явно запрошены пользователем.

Параметры
  • allowDuplicateboolean

    Whether to allow adding duplicate notes

  • deckNamestringобязательный

    The deck to add the note to

  • duplicateScopeenum

    Scope for duplicate checking

  • duplicateScopeOptionsobject

    Advanced duplicate checking options

  • fieldsobjectобязательный

    Field values as key-value pairs (e.g., {"Front": "question", "Back": "answer"})

  • modelNamestringобязательный

    The note type/model to use (e.g., "Basic", "Cloze")

  • tagsstring[]

    Optional tags to add to the note

addNotes

Добавляет несколько заметок в Anki одним пакетом — предпочтительный способ создания более одной заметки (используйте его вместо повторных вызовов addNote). До 100 заметок, использующих одну и ту же колоду и модель. Дубликаты пропускаются по отдельности; ошибки валидации (пустые обязательные поля, некорректные теги) отклоняют весь пакет. ВАЖНО: Создавайте только те заметки, которые явно запросил пользователь.

Параметры
  • allowDuplicateboolean

    Whether to allow adding duplicate notes

  • deckNamestringобязательный

    The deck to add all notes to

  • duplicateScopeenum

    Scope for duplicate checking

  • modelNamestringобязательный

    The note type/model for all notes (e.g., "Basic", "Cloze")

  • notesobject[]обязательный

    Array of notes to create (1-100)

  • tagsstring[]

    Tags applied to all notes (merged with per-note tags)

addTagsидемпотентный

Добавляет теги к указанным заметкам. Теги задаются строкой, разделённой пробелами (например, "tag1 tag2 tag3"). Сначала используйте getTags, чтобы узнать существующие теги и избежать дублирования.

Параметры
  • notesnumber[]обязательный

    Array of note IDs to modify

  • tagsstringобязательный

    Space-separated tags to add (e.g., "tag1 tag2")

changeDeckидемпотентный

Перемещает карты в другую колоду. Целевая колода будет создана, если её не существует.

Параметры
  • cardsnumber[]обязательный

    Array of card IDs to move

  • deckstringобязательный

    Target deck name

clearUnusedTagsидемпотентный

Удаляет осиротевшие теги, которые не используются ни в одной заметке коллекции. ВАЖНО: это действие необратимо и окончательно - запускайте только по прямому запросу пользователя на очистку тегов.

Параметры

Без параметров.

collection_statsтолько чтениеидемпотентный

Получает агрегированную статистику по всем колодам коллекции: количество карт, распределение по фактору лёгкости и распределение по интервалам. Возвращает ДВА разных представления, не путайте их: counts и per_deck — это сегодняшняя очередь на изучение, как в списке колод Anki (карты ДОЛЖНЫ БЫТЬ ПОВТОРЕНЫ СЕГОДНЯ, ограниченные дневным лимитом новых/повторов каждой колоды, отложенные/закопанные исключены); states — истинное количество карт в каждом состоянии (новые / в изучении / на повторении / отложенные / закопанные) по всей коллекции, без учёта дат повторения и дневных лимитов. Чтобы ответить на вопрос «сколько у меня карт», используйте states; чтобы ответить «что я буду учить сегодня», используйте counts. Поколодные счётчики суммируются по потомкам (родительская колода включает дочерние); счётчики на уровне коллекции counts суммируют ТОЛЬКО корневые колоды, чтобы избежать двойного учёта дочерних. states — только на уровне коллекции (каждый вызов требует 5 дополнительных поисков в Anki) — для истинных счётчиков состояний отдельной колоды используйте инструмент deckStats. Для каждой колоды и для коллекции: обычно total === new + learning + review + other; other ограничено нулём, поэтому в редких случаях (фильтрованные колоды / унаследованные лимиты) сумма может превышать total. Группы лёгкости и группы интервалов можно настраивать, чтобы сфокусироваться на конкретных диапазонах.

Параметры
  • ease_bucketsnumber[]

    Bucket boundaries for ease factor distribution. Default: [2.0, 2.5, 3.0]. Example: [2.0, 2.5, 3.0] creates buckets: <2.0, 2.0-2.5, 2.5-3.0, >3.0

  • interval_bucketsnumber[]

    Bucket boundaries for interval distribution in days. Default: [7, 21, 90]. Example: [7, 21, 90] creates buckets: <7d, 7-21d, 21-90d, >90d

createDeckидемпотентный

Создаёт новую пустую колоду Anki. Использует "::" для структуры родитель::потомок (максимум 2 уровня, например, "Japanese::JLPT N5"). Не перезаписывает существующие колоды.

Параметры
  • deckNamestringобязательный

    The name of the deck to create. Use "::" for parent::child structure (max 2 levels)

createModel

Создаёт новый тип заметок (модель) в Anki с пользовательскими полями, шаблонами карточек и стилями. Полезен для создания специализированных моделей, например, моделей для языков с написанием справа налево (RTL), таких как иврит, арабский и т.д. Каждая модель определяет структуру заметок и то, как из них создаются карточки.

Параметры
  • cardTemplatesobject[]обязательный

    Card templates (at least one required). Each template generates one card per note.

  • cssstring

    Optional CSS styling for cards. For RTL languages, include "direction: rtl;" in .card class.

  • inOrderFieldsstring[]обязательный

    Field names in order (e.g., ["Front", "Back"]). At least one field required.

  • isClozeboolean

    Create as cloze deletion model (default: false)

  • modelNamestringобязательный

    Unique name for the new model (e.g., "Basic RTL", "Advanced Vocabulary")

deckStatsтолько чтениеидемпотентный

Получает полную статистику для одной колоды, включая количество карт, распределение лёгкости и интервалов. Передайте название колоды (например, "Japanese::JLPT N5") и необязательные границы интервалов. Возвращает ДВА разных представления, не путайте их: counts - это сегодняшняя очередь изучения, как показано в браузере колод Anki (карты, ПОДЛЕЖАЩИЕ ПОВТОРЕНИЮ СЕГОДНЯ, ограниченные ежедневными лимитами новых/повторяемых карт колоды, исключая отложенные и закопанные); states - это истинное количество карт в каждом состоянии (новые / в изучении / на повторении / отложенные / закопанные), без учёта дат повторения и ежедневных лимитов. Чтобы ответить на вопрос "сколько у меня карт", используйте states; чтобы ответить на вопрос "что я буду учить сегодня", используйте counts. Оба представления агрегируют данные по дочерним колодам (родительские колоды включают свои дочерние). states требует 5 дополнительных поисков в Anki за один вызов. Для counts: обычно total === new + learning + review + other; other ограничен нулём, поэтому в редких случаях с фильтрованными колодами или унаследованными лимитами сумма может превышать total.

Параметры
  • deckstringобязательный

    Deck name (e.g., "Japanese::JLPT N5")

  • easeBucketsnumber[]

    Bucket boundaries for ease factor distribution. Default: [2.0, 2.5, 3.0]

  • intervalBucketsnumber[]

    Bucket boundaries for interval distribution in days. Default: [7, 21, 90]

deleteMediaFileидемпотентный

Удаляет медиафайл из папки collection.media в Anki. КРИТИЧЕСКИ ВАЖНО: это действие необратимо и окончательно — удаляйте только те медиафайлы, которые пользователь явно подтвердил для удаления.

Параметры
  • filenamestringобязательный

    Filename of the media file to delete (e.g., "old_audio.mp3")

deleteNotesидемпотентный

Удаляет заметки по их ID. Это навсегда удалит заметки и ВСЕ связанные с ними карточки. Это действие нельзя отменить, если у вас нет резервной копии. КРИТИЧЕСКИ ВАЖНО: это разрушительное и необратимое действие — удаляйте только те заметки, которые пользователь явно подтвердил для удаления.

Параметры
  • confirmDeletionbooleanобязательный

    Must be set to true to confirm you want to permanently delete these notes and their cards

  • notesnumber[]обязательный

    Array of note IDs to delete (max 100 at once for safety). Get these IDs from findNotes tool. ALL cards associated with these notes will be deleted.

findNotesтолько чтениеидемпотентный

Ищет заметки по синтаксису запросов Anki. Возвращает массив ID заметок, соответствующих запросу. Примеры: "deck:Spanish", "tag:verb", "is:due", "front:hello", "added:1" (карточки, добавленные сегодня), "prop:due<=2" (карточки, срок которых наступает в течение 2 дней), "flag:1" (красный флажок), "is:suspended"

Параметры
  • querystringобязательный

    Anki search query. Use Anki query syntax like "deck:DeckName", "tag:tagname", "is:due", "is:new", "is:review", "front:text", "back:text", or combine with spaces for AND, OR for alternatives. Empty string returns all notes.

forgetCardsидемпотентный

Reset cards to the new queue, discarding their current scheduling (interval, due date, and ease factor). Use this when a card should be relearned from scratch — for example when the user keeps failing to recall a word that Anki has scheduled months out. Prefer this over rating a card 'Again': a rating records a real review and counts as a lapse, which distorts both future scheduling and the collection's statistics. The review log is preserved, so past reviews still show in card info and statistics. This changes scheduling only — note content, tags, and deck placement are untouched. Cards that are already new are unaffected, so re-running is safe.

Параметры
  • cardsinteger[]обязательный

    Array of card IDs to reset to new (max 100). Card IDs (not note IDs) — use get_cards, get_due_cards, or notesInfo to obtain them.

get_cardsтолько чтениеидемпотентный

Retrieve cards from Anki with flexible filtering by deck and card state. IMPORTANT: Use sync tool FIRST before getting cards to ensure latest data. By default answers are NOT included (include_answer defaults to false) so they never enter context before the user has a chance to self-test — after getting cards, use present_card to show them one by one and reveal the answer only when the user is ready. Set include_answer=true only for content analysis/editing workflows that are not live review sessions.

Параметры
  • card_stateenum

    Filter by card state: 'due' (cards due for review), 'new' (never seen), 'learning' (in learning queue), 'suspended' (manually suspended), 'buried' (temporarily hidden)

  • deck_namestring

    Specific deck name to get cards from. If not specified, gets cards from all decks

  • include_answerboolean

    Whether to include each card's answer (back). Keep this false during review sessions so answers never enter context before the user reveals them via present_card. Set true only for content analysis/editing workflows, not live review.

  • limitnumber

    Maximum number of cards to return

get_due_cardsтолько чтениеидемпотентный

Retrieve cards that are due for review from Anki. IMPORTANT: Use sync tool FIRST before getting cards to ensure latest data. By default answers are NOT included (include_answer defaults to false) so they never enter context before the user has a chance to self-test — after getting cards, use present_card to show them one by one and reveal the answer only when the user is ready. Set include_answer=true only for content analysis/editing workflows that are not live review sessions.

Параметры
  • deck_namestring

    Specific deck name to get cards from. If not specified, gets cards from all decks

  • include_answerboolean

    Whether to include each card's answer (back). Keep this false during review sessions so answers never enter context before the user reveals them via present_card. Set true only for content analysis/editing workflows, not live review.

  • include_learningboolean

    Include cards in learning phase (seen but not yet graduated). Default: true

  • include_newboolean

    Include new cards (never seen before). Default: false

  • limitnumber

    Maximum number of cards to return

getMediaFilesNamesтолько чтениеидемпотентный

Перечисляет медиафайлы в папке collection.media программы Anki, опционально отфильтрованные по шаблону в стиле glob.

Параметры
  • patternstring

    Optional filter pattern (e.g., "*.mp3")

getTagsтолько чтениеидемпотентный

Получите все теги в коллекции Anki. Используйте это, чтобы выявить существующие теги перед созданием заметок и тем самым сохранить согласованность и предотвратить дублирование тегов (например, избегая вариантов 'roman-empire' vs 'roman_empire' vs 'RomanEmpire').

Параметры
  • patternstring

    Optional filter pattern - returns only tags containing this string (case-insensitive)

guiAddCardsидемпотентный

Открывает диалог Add Cards в Anki с предустановленными деталями заметки (колода, модель, поля, теги). Возвращает потенциальный ID заметки. ВАЖНО: Используйте только когда пользователь явно запрашивает открытие диалога Add Cards. Этот инструмент предназначен для рабочих процессов редактирования/создания заметок. Используйте его, когда пользователь хочет вручную просмотреть и завершить создание заметки в GUI.

Параметры
  • noteobjectобязательный
guiBrowseтолько чтениеидемпотентный

Открывает Anki Card Browser и выполняет поиск карточек с использованием синтаксиса запросов Anki. Возвращает массив найденных идентификаторов карточек. ВАЖНО: Используйте только когда пользователь явно запрашивает открытие браузера. Этот инструмент предназначен для рабочих процессов редактирования/создания заметок, а НЕ для сеансов повторения. Используйте его для поиска и выбора карточек/заметок, которые требуют редактирования.

Параметры
  • querystringобязательный

    Anki search query using standard syntax (e.g., "deck:Spanish tag:verb", "is:due", "added:7")

  • reorderCardsobject

    Optional reordering of cards in the browser

guiCurrentCardтолько чтениеидемпотентный

Получает информацию о текущей карточке, отображаемой в режиме повторения. Возвращает детали карточки (вопрос, ответ, колоду, модель и т.д.) или null, если не в режиме повторения. ВАЖНО: Этот инструмент предназначен ТОЛЬКО для рабочих процессов редактирования/создания заметок, когда пользователю нужно проверить, какая карточка сейчас отображается в GUI. НИКОГДА не используйте его для проведения сеансов повторения. Вместо этого используйте специальные инструменты для повторения (get_due_cards, present_card, rate_card). ВАЖНО: Используйте только тогда, когда пользователь явно запрашивает информацию о текущей карточке.

Параметры

Без параметров.

guiDeckBrowserтолько чтениеидемпотентный

Открывает диалог Anki Deck Browser, отображающий все колоды. ВАЖНО: Используйте только тогда, когда пользователь явно запрашивает открытие deck browser. Этот инструмент предназначен для рабочих процессов управления и организации колод, а НЕ для сеансов повторения. Используйте это, когда пользователь хочет увидеть все колоды или управлять структурой колод.

Параметры

Без параметров.

guiDeckOverviewтолько чтениеидемпотентный

Открывает диалог обзора колоды Anki для конкретной колоды. Показывает статистику колоды и параметры изучения. Возвращает true в случае успеха. ВАЖНО: Используйте только когда пользователь явно запрашивает открытие обзора колоды. Этот инструмент предназначен для управления колодами и организации заметок, НЕ для сеансов повторения.

Параметры
  • namestringобязательный

    Deck name to open (get from listDecks)

guiEditNoteидемпотентный

Открывает диалог редактора заметок Anki для конкретного ID заметки. Позволяет вручную редактировать поля заметки, теги и карточки в графическом интерфейсе. ВАЖНО: Используйте только когда пользователь явно запрашивает редактирование заметки через GUI. Этот инструмент нужен для сценариев редактирования заметок, если пользователь хочет править вручную в интерфейсе Anki. Для программного редактирования используйте updateNoteFields.

Параметры
  • notenumberобязательный

    Note ID to edit (get from findNotes or notesInfo)

guiSelectCardидемпотентный

Выбирает конкретную карточку в открытом окне Card Browser. Возвращает true, если браузер открыт и карточка выбрана, false — если браузер не открыт. ВАЖНО: используйте только когда пользователь явно просит выбрать карточку в браузере. Этот инструмент для рабочих процессов редактирования и создания заметок, а НЕ для сессий повторения. Card Browser уже должен быть открыт (сначала используйте guiBrowse).

Параметры
  • cardnumberобязательный

    Card ID to select in the browser (get from guiBrowse results)

guiSelectedNotesтолько чтениеидемпотентный

Получает ID заметок, выбранных в данный момент в Card Browser. Возвращает массив ID заметок (пустой, если ничего не выбрано). ВАЖНО: Используйте только когда пользователь явно запрашивает получение выбранных заметок. Этот инструмент предназначен для рабочих процессов редактирования и создания заметок, а НЕ для сеансов повторения. Card Browser должен быть открыт, и карточки должны быть выбраны.

Параметры

Без параметров.

guiShowAnswerтолько чтениеидемпотентный

Показывает сторону ответа текущей карточки в режиме проверки. Возвращает true, если находитесь в режиме проверки, иначе false. КРИТИЧНО: Этот инструмент предназначен ТОЛЬКО для рабочих процессов создания/редактирования заметок, когда пользователю нужно увидеть сторону ответа, чтобы проверить содержимое. НИКОГДА не используйте его для проведения сеансов повторения. Вместо этого используйте специальные инструменты для повторения (present_card). ВАЖНО: Используйте только когда пользователь явно запрашивает показ ответа.

Параметры

Без параметров.

guiShowQuestionтолько чтениеидемпотентный

Показывает сторону вопроса текущей карточки в режиме обзора. Возвращает true, если вы в режиме обзора, и false в противном случае. КРИТИЧЕСКИ ВАЖНО: этот инструмент предназначен ТОЛЬКО для рабочих процессов редактирования или создания заметок, когда пользователю нужно увидеть сторону вопроса, чтобы проверить содержимое. НИКОГДА не используйте его для проведения сеансов обзора. Вместо этого используйте специальные инструменты для обзора (present_card). ВАЖНО: используйте только по явному запросу пользователя на показ вопроса.

Параметры

Без параметров.

guiUndo

Отменяет последнее действие или карточку в Anki. Возвращает true, если отмена удалась, иначе false. ВАЖНО: Используйте только когда пользователь явно запрашивает отмену действия. Этот инструмент предназначен для рабочих процессов создания/редактирования заметок, а НЕ для сессий повторения. Используйте его, чтобы отменить ошибки при создании заметок, редактировании или управлении карточками.

Параметры

Без параметров.

listDecksтолько чтениеидемпотентный

Перечисляет все колоды Anki, опционально со статистикой очереди изучения для каждой колоды. ВАЖНО: эта статистика — это числа из браузера колод Anki — карты, ОЖИДАЮЩИЕ СЕГОДНЯ, ограниченные дневными лимитами новых/повторных карт каждой колоды, без учёта отложенных и скрытых карт — НЕ общее количество по состоянию карт. Используйте инструмент deckStats (его блок states) или collection_stats для получения настоящего количества по состоянию карт. Не забудьте сначала выполнить синхронизацию в начале сеанса для получения последних данных.

Параметры
  • includeStatsboolean

    Include card count statistics for each deck

modelFieldNamesтолько чтениеидемпотентный

Получает названия полей для конкретного типа заметки (модели). Используйте это, чтобы узнать, какие поля обязательны при создании заметок этого типа.

Параметры
  • modelNamestringобязательный

    The name of the model/note type to get fields for

modelNamesтолько чтениеидемпотентный

Получите список всех доступных названий типов заметок (моделей) в Anki. Используйте его, чтобы увидеть, какие типы заметок доступны перед созданием заметок.

Параметры

Без параметров.

modelStylingтолько чтениеидемпотентный

Получает стили CSS для конкретного типа заметок (model). Этот CSS используется при рендеринге карточек этого типа.

Параметры
  • modelNamestringобязательный

    The name of the model/note type to get styling for

modelTemplatesтолько чтениеидемпотентный

Получить шаблоны карточек (HTML лицевой и обратной стороны) для конкретного типа заметок (модели). Возвращает HTML-содержимое лицевой и обратной сторон каждого шаблона карточки. Используйте это перед updateModelTemplates, чтобы увидеть текущие шаблоны и спланировать изменения.

Параметры
  • modelNamestringобязательный

    The name of the model/note type to get templates for

notesInfoтолько чтениеидемпотентный

Получает подробную информацию о конкретных заметках, включая все поля, теги, информацию о модели и CSS-стили. Используйте этот инструмент после findNotes, чтобы получить полные данные заметки. Включает CSS для корректного отображения.

Параметры
  • notesnumber[]обязательный

    Array of note IDs to get information for (max 100 at once for performance). Get these IDs from findNotes tool.

present_cardтолько чтениеидемпотентный

Получить содержимое карточки для повторения. АЛГОРИТМ: 1) Показать вопрос, 2) Дождаться ответа пользователя, 3) Показать ответ с show_answer=true, 4) Оценить и предложить оценку (1-4), 5) Дождаться подтверждения пользователя ("ok"/"next" = принять, или пользователь указывает другую оценку), 6) Только после этого использовать rate_card

Параметры
  • card_idnumberобязательный

    The ID of the card to retrieve

  • show_answerboolean

    Whether to include the answer/back content in the response

rate_card

Submit a rating for a card to update Anki's spaced repetition scheduling. Before calling this, the card's answer must already have been revealed to the user via present_card with show_answer: true, and the user must have self-assessed their recall. Use this ONLY after the user confirms or modifies your suggested rating. Do not rate automatically without user input.

Параметры
  • card_idnumberобязательный

    The ID of the card to rate

  • ratingnumberобязательный

    The rating for the card (use the user's choice, not your suggestion): 1=Again (failed), 2=Hard, 3=Good, 4=Easy

removeModelField

Удалить поле из существующего типа заметок Anki (модели). ВНИМАНИЕ: все данные, хранящиеся в этом поле во всех заметках данного типа, будут безвозвратно удалены. Используйте modelFieldNames, чтобы подтвердить имя поля перед удалением.

Параметры
  • confirmDeletionbooleanобязательный

    Must be set to true to confirm you understand all field data will be permanently deleted.

  • fieldNamestringобязательный

    Name of the field to remove (e.g., "Grammar", "IPA")

  • modelNamestringобязательный

    Name of the note type to modify (e.g., "Basic", "Latin Vocabulary")

removeTagsидемпотентный

Удаляет теги из указанных заметок. Теги - это строка, разделённая пробелами (например, "tag1 tag2 tag3").

Параметры
  • notesnumber[]обязательный

    Array of note IDs to modify

  • tagsstringобязательный

    Space-separated tags to remove (e.g., "tag1 tag2")

renameModelField

Переименовывает поле в существующем типе заметок Anki (модели). Шаблоны карточек, которые ссылаются на старое имя поля (например, {{OldName}}), нужно будет обновить отдельно с помощью updateModelTemplates — они не обновляются автоматически. Используйте modelFieldNames, чтобы подтвердить текущее имя поля перед переименованием.

Параметры
  • modelNamestringобязательный

    Name of the note type to modify (e.g., "Basic", "Latin Vocabulary")

  • newFieldNamestringобязательный

    New name for the field (e.g., "Grammar Notes")

  • oldFieldNamestringобязательный

    Current name of the field to rename (e.g., "Notes")

replaceTagsидемпотентный

Переименовать тег в указанных заметках (например, «RomanEmpire» -> «roman-empire»). Только один тег; пробелы запрещены в обоих значениях.

Параметры
  • notesnumber[]обязательный

    Array of note IDs to modify

  • replaceWithTagstringобязательный

    The tag to replace with

  • tagToReplacestringобязательный

    The tag to search for and replace

repositionModelFieldидемпотентный

Изменяет положение поля в типе заметок Anki (модели). Поля нумеруются с 0: индекс 0 — первое поле. (Какое поле является полем сортировки — это отдельная настройка модели, и она не меняется при перестановке.) Используйте modelFieldNames, чтобы увидеть текущий порядок полей перед перестановкой.

Параметры
  • fieldNamestringобязательный

    Name of the field to reposition (e.g., "Grammar")

  • indexintegerобязательный

    New 0-based position for the field (0 = first field).

  • modelNamestringобязательный

    Name of the note type to modify (e.g., "Basic", "Latin Vocabulary")

retrieveMediaFileтолько чтениеидемпотентный

Скачивает медиа-файл из папки collection.media в Anki. Возвращает содержимое файла в кодировке base64 или null, если файл не найден.

Параметры
  • filenamestringобязательный

    Filename of the media file to retrieve (e.g., "pronunciation.mp3")

review_statsтолько чтениеидемпотентный

Получает анализ истории повторений, включая временные паттерны, показатели удержания и информацию о сериях занятий. Используйте это для анализа прогресса обучения с течением времени, выявления паттернов повторений и отслеживания последовательности. Требует начальную дату; колода необязательна - опустите её для анализа всей коллекции (всех колод). Конечная дата по умолчанию - сегодня.

Параметры
  • deckstring

    Deck name to filter reviews. Matches the EXACT deck only - subdecks are NOT included, so a parent deck still returns reviews for cards assigned directly to it (but not its subdecks' cards). Omit (or pass an empty string) to analyze the entire collection (all decks).

  • end_datestring

    End date (defaults to today)

  • start_datestringобязательный

    Start date for analysis (ISO format: YYYY-MM-DD) - REQUIRED

setDueDate

Reschedule cards to become due in a given number of days, without recording a review. Use this to bring a card forward (or push it back) when its current interval doesn't match how well the user actually knows it — rating the card instead would log a fake review and skew its ease factor. Unlike forgetCards this keeps the card's existing interval and ease unless you ask otherwise, so it is the gentler option when the card's history is still worth keeping. Note that applying this to a new card turns it into a review card.

Параметры
  • cardsinteger[]обязательный

    Array of card IDs to reschedule (max 100). Card IDs (not note IDs) — use get_cards, get_due_cards, or notesInfo to obtain them.

  • daysstringобязательный

    How many days from now the cards become due. "0" = today, "1" = tomorrow, "3-7" = a random day in that inclusive range (spreads a batch out instead of stacking it on one day). Append "!" — e.g. "1!" — to also overwrite the card's interval with that value, rather than leaving the existing interval in place.

storeMediaFileвнешний мир

Загружает медиафайл в папку collection.media в Anki. Поддерживает base64 данные, абсолютные пути к файлам или URL. Идеально подходит для сценариев вроде ElevenLabs TTS -> аудиокарточки Anki.

Параметры
  • datastring

    Base64-encoded file content

  • deleteExistingboolean

    Overwrite existing file (default: true)

  • filenamestringобязательный

    Filename to store in Anki (e.g., "pronunciation.mp3", "image.jpg")

  • pathstring

    Absolute path to a local media file (images, audio, video only)

  • urlstring

    URL to download file from

syncидемпотентныйвнешний мир

Синхронизирует локальную коллекцию Anki с AnkiWeb. ВАЖНО: Всегда синхронизируйте в НАЧАЛЕ сеанса повторения (перед получением карточек) и в КОНЦЕ, когда пользователь сообщает, что закончил. Это обеспечивает согласованность данных на разных устройствах.

Параметры

Без параметров.

updateModelStylingидемпотентный

Обновляет оформление CSS для существующего типа заметок (модели). Это изменяет способ отображения карточек этого типа в Anki. Полезно для добавления поддержки RTL (справа налево), изменения шрифтов, цветов или макета. Изменения применяются ко всем карточкам, использующим эту модель.

Параметры
  • cssstringобязательный

    New CSS styling content. For RTL languages, include "direction: rtl;" in .card class. This will completely replace the existing CSS.

  • modelNamestringобязательный

    Name of the model to update (e.g., "Basic", "Basic RTL")

updateModelTemplatesидемпотентный

Обновляет шаблоны карточек (HTML лицевой и обратной сторон) для существующего типа заметок (модели). Каждый шаблон карточки определяет, как отображаются лицевая и обратная стороны карточки. Сначала используй modelTemplates, чтобы посмотреть текущие шаблоны, затем измени и передай обратно объект templates. Изменения применяются ко всем карточкам, использующим эту модель. ПРЕДУПРЕЖДЕНИЕ: некорректный HTML или отсутствие обязательных полей может сломать отображение карточек. Имена шаблонов проверяются по существующим шаблонам модели (с учётом регистра) — неизвестные или неправильно написанные имена отклоняются до применения изменений. Пустая строка не может использоваться для очистки стороны.

Параметры
  • modelNamestringобязательный

    Name of the model to update (e.g., "Basic", "Cloze")

  • templatesobjectобязательный

    Card templates keyed by card name (e.g., { "Card 1": { Front: "...", Back: "..." } }). Use modelTemplates first to get the current structure, then modify the Front/Back HTML as needed.

updateNoteFieldsидемпотентный

Обновляет поля существующей заметки. Поддерживает HTML-контент в полях и сохраняет CSS-стили. ВНИМАНИЕ: Не просматривайте заметку в браузере Anki во время обновления, иначе поля не обновятся корректно. Перед обновлением закройте браузер или переключитесь на другую заметку. ВАЖНО: Обновляйте только те заметки, которые пользователь явно попросил изменить.

Параметры
  • noteobjectобязательный

Похожие MCP-сервера

ujisati/anki-mcp

ujisati/anki-mcp

MCP сервер для работы с флеш-карточками Anki через AnkiConnect. Предоставляет инструменты для управления колодами, заметками, карточками, моделями и медиа. Полезен для автоматизации создания и редактирования карточек, интеграции с ИИ-помощниками.

Python7
rember/rember-mcp

rember/rember-mcp

Сервер Rember через MCP создаёт флеш-карточки для запоминания с интервальными повторениями — прямо из чатов с ИИ или PDF. Полезен студентам и всем, кто учится. Просто попросите «помоги запомнить» или «создай карточки», и инструмент сгенерирует заметки в Rember.

TypeScript63
bluzername/lennys-quotes

bluzername/lennys-quotes

MCP-сервер для поиска по 269 эпизодам подкаста Lenny's Podcast. Продакт-менеджеры через Claude, Cursor получают цитаты, информацию о гостях, случайную мудрость без API-ключей. 51 000+ сегментов, ло...

TypeScript12
takashiishida/arxiv-latex-mcp

takashiishida/arxiv-latex-mcp

MCP сервер для доступа к LaTeX-исходникам arXiv. Точная обработка математических формул отличает его от PDF. Предоставляет инструменты: полный текст, абстракт, разделы статьи. Полезен для работы с научными публикациями в Claude, Cursor и других.

Python145
SunflowersLwtech/mcp_creator_growth

SunflowersLwtech/mcp_creator_growth

MCP-сервер для AI-ассистентов, который помогает разработчикам учиться на изменениях кода через интерактивные викторины и сохраняет историю отладки проектов для быстрого поиска решений похожих ошибо...

TypeScript8
bh-rat/context-awesome

bh-rat/context-awesome

MCP сервер для доступа к awesome-листам GitHub: более 8500 курированных списков лучших инструментов и библиотек. Помогает агентам быстро находить проверенные ссылки для работы, обучения и исследований. Полезен разработчикам и аналитикам.

TypeScript59
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин