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, чтобы посмотреть текущие поля перед добавлением.

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

Параметры

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

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

  • 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.

addNote

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

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

Параметры

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

    The deck to add the note to

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

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

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

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

  • tagsstring[]

    Optional tags to add to the note

  • allowDuplicateboolean

    Whether to allow adding duplicate notes

  • duplicateScopeenum

    Scope for duplicate checking

    deckcollection
  • duplicateScopeOptionsobject

    Advanced duplicate checking options

addNotes

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

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

Параметры

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

    The deck to add all notes to

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

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

  • tagsstring[]

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

  • allowDuplicateboolean

    Whether to allow adding duplicate notes

  • duplicateScopeenum

    Scope for duplicate checking

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

    Array of notes to create (1-100)

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

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

Добавляет теги к указанным заметкам. Теги задаются строкой, разделённой пробелами (например, "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только чтениеидемпотентный

Получает агрегированную статистику по всем колодам коллекции, включая количество карт, распределение коэффициента лёгкости и распределение интервалов. Данные по каждой колоде суммируются с учётом дочерних колод (родительская колода включает дочерние), как в браузере колод Anki. На уровне коллекции `counts` суммирует только корневые колоды, чтобы избежать двойного учёта дочерних. Инвариант: для каждой колоды и для коллекции total === new + learning + review + other. Используйте это, чтобы проанализировать общее состояние коллекции и сравнить статистику колод. Корзины по лёгкости и корзины по интервалам можно настроить под конкретные диапазоны.

Получает агрегированную статистику по всем колодам коллекции, включая количество карт, распределение коэффициента лёгкости и распределение интервалов. Данные по каждой колоде суммируются с учётом дочерних колод (родительская колода включает дочерние), как в браузере колод Anki. На уровне коллекции `counts` суммирует только корневые колоды, чтобы избежать двойного учёта дочерних. Инвариант: для каждой колоды и для коллекции total === new + learning + review + other. Используйте это, чтобы проанализировать общее состояние коллекции и сравнить статистику колод. Корзины по лёгкости и корзины по интервалам можно настроить под конкретные диапазоны.

Параметры

  • 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"). Не перезаписывает существующие колоды.

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

Параметры

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

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

createModel

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

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

Параметры

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

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

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

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

  • 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.

  • isClozeboolean

    Create as cloze deletion model (default: false)

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

Получает полную статистику для одной колоды, включая количество карт, распределение по лёгкости и интервалам. Укажите название колоды (например, "Japanese::JLPT N5") и необязательные границы корзин. Количество карт суммируется по всем дочерним колодам (родительские колоды включают свои дочерние), что соответствует браузеру колод Anki. Инвариант: total === new + learning + review + other.

Получает полную статистику для одной колоды, включая количество карт, распределение по лёгкости и интервалам. Укажите название колоды (например, "Japanese::JLPT N5") и необязательные границы корзин. Количество карт суммируется по всем дочерним колодам (родительские колоды включают свои дочерние), что соответствует браузеру колод Anki. Инвариант: total === new + learning + review + other.

Параметры

  • 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. КРИТИЧЕСКИ ВАЖНО: это действие необратимо и окончательно — удаляйте только те медиафайлы, которые пользователь явно подтвердил для удаления.

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

Параметры

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

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

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

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

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

Параметры

  • 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.

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

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

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

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

Ищет заметки по синтаксису запросов 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.

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

Извлекает карточки из Anki с гибкой фильтрацией по колоде и состоянию карточки. ВАЖНО: Сначала используйте инструмент синхронизации СНАЧАЛА перед получением карточек, чтобы обеспечить актуальность данных. После получения карточек используйте present_card, чтобы показывать их пользователю по одной.

Извлекает карточки из Anki с гибкой фильтрацией по колоде и состоянию карточки. ВАЖНО: Сначала используйте инструмент синхронизации СНАЧАЛА перед получением карточек, чтобы обеспечить актуальность данных. После получения карточек используйте present_card, чтобы показывать их пользователю по одной.

Параметры

  • deck_namestring

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

  • card_stateenum

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

    duenewlearningsuspendedburied
  • limitnumber

    Maximum number of cards to return

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

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

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

Параметры

  • deck_namestring

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

  • limitnumber

    Maximum number of cards to return

  • include_learningboolean

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

  • include_newboolean

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

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

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

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

Параметры

  • patternstring

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

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

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

Получите все теги в коллекции 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.

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

Параметры

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

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

Открывает 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). ВАЖНО: Используйте только тогда, когда пользователь явно запрашивает информацию о текущей карточке.

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

Параметры

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

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

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

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

Параметры

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

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

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

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

Параметры

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

    Deck name to open (get from listDecks)

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

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

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

Параметры

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

    Note ID to edit (get from findNotes or notesInfo)

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

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

Выбирает конкретную карточку в открытом окне 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 должен быть открыт, и карточки должны быть выбраны.

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

Параметры

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

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

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

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

Параметры

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

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

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

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

Параметры

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

guiUndo

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

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

Параметры

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

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

Вывести список всех колод Anki, опционально со статистикой количества карточек для каждой колоды. Не забудьте сначала синхронизироваться в начале сессии, чтобы получить актуальные данные.

Вывести список всех колод Anki, опционально со статистикой количества карточек для каждой колоды. Не забудьте сначала синхронизироваться в начале сессии, чтобы получить актуальные данные.

Параметры

  • includeStatsboolean

    Include card count statistics for each deck

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

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

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

Параметры

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

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

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

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

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

Параметры

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

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

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

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

Параметры

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

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

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

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

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

Параметры

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

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

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

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

Получает подробную информацию о конкретных заметках, включая все поля, теги, информацию о модели и 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

Получить содержимое карточки для повторения. АЛГОРИТМ: 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

Отправьте оценку для карточки, чтобы обновить расписание интервальных повторений Anki. Используйте это ТОЛЬКО после того, как пользователь подтвердит или изменит вашу предложенную оценку. Не выставляйте оценку автоматически без ввода пользователя.

Отправьте оценку для карточки, чтобы обновить расписание интервальных повторений Anki. Используйте это ТОЛЬКО после того, как пользователь подтвердит или изменит вашу предложенную оценку. Не выставляйте оценку автоматически без ввода пользователя.

Параметры

  • 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, чтобы подтвердить имя поля перед удалением.

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

Параметры

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

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

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

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

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

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

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

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

Удаляет теги из указанных заметок. Теги - это строка, разделённая пробелами (например, "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, чтобы подтвердить текущее имя поля перед переименованием.

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

Параметры

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

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

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

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

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

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

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

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

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

Параметры

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

    Array of note IDs to modify

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

    The tag to search for and replace

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

    The tag to replace with

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

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

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

Параметры

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

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

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

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

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

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

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

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

Скачивает медиа-файл из папки 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).

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

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

  • end_datestring

    End date (defaults to today)

storeMediaFileвнешний мир

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

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

Параметры

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

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

  • datastring

    Base64-encoded file content

  • pathstring

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

  • urlstring

    URL to download file from

  • deleteExistingboolean

    Overwrite existing file (default: true)

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

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

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

Параметры

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

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

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

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

Параметры

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

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

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

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

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

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

Обновляет шаблоны карточек (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 во время обновления, иначе поля не обновятся корректно. Перед обновлением закройте браузер или переключитесь на другую заметку. ВАЖНО: Обновляйте только те заметки, которые пользователь явно попросил изменить.

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

Параметры

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

Другие проверенные MCP-сервера

Browser MCP

Browser MCP

официальный

Browser MCP автоматизирует браузер через ИИ (VS Code, Claude, Cursor, Windsurf) — локально и приватно, с вашим профилем. Сервер обходит капчи и детекцию ботов, подходит для RPA и тестирования разра...

TypeScript6843
apify/actors-mcp-server

apify/actors-mcp-server

официальный

Apify MCP Server подключает AI-агентов к тысячам готовых парсеров и краулеров из Apify Store - от соцсетей до карт и e-commerce. Поддерживает OAuth, x402 и Skyfire для оплаты без API-токена.

TypeScript2042
scrapeless-ai/scrapeless-mcp-server

scrapeless-ai/scrapeless-mcp-server

официальный

Scrapeless MCP Server подключает LLM и AI-агентов к вебу: поиск Google, тренды, браузерная автоматизация, скрапинг (HTML, Markdown, скриншоты). Применяется для AI-ассистентов, копилотов и веб-агентов.

TypeScript166
prisma/mcp

prisma/mcp

официальный

MCP сервер Prisma позволяет AI-агентам управлять базами данных Prisma Postgres: создавать бэкапы, выполнять SQL, интроспекцию схемы и миграции. Идеально для разработчиков, автоматизирующих работу с PostgreSQL через естественный язык.

JavaScript46
VeriTeknik/pluggedin-mcp-proxy

VeriTeknik/pluggedin-mcp-proxy

официальный

plugged.in MCP Hub — прокси-сервер, объединяющий множество MCP-серверов в один интерфейс. Он наделяет AI памятью, знаниями и инструментами, включает RAG-поиск, уведомления и управление документами. Работает с любыми MCP-клиентами.

TypeScript132
discourse/discourse-mcp

discourse/discourse-mcp

официальный

MCP сервер для интеграции AI-агентов с Discourse: поиск, чтение и управление топиками, постами, пользователями. Опциональная запись с защитой от злоупотреблений. Полезен для автоматизации модерации...

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

Лука Никитин