Skip to main content
Glama

anki-mcp

by ujisati

anki-mcp

Сервер Model Context Protocol (MCP) для взаимодействия с карточками Anki через дополнение AnkiConnect. Этот сервер представляет действия AnkiConnect как инструменты MCP, организованные в логические службы.

Предпосылки

  • Приложение Anki для ПК
  • Дополнение AnkiConnect установлено и настроено в Anki
  • Питон 3.8+
  • uv (для запуска и установки зависимостей, необязательно, но рекомендуется)

Установка

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

Использование

Чтобы запустить сервер MCP:

uv run anki-mcp

Сервер запустится и будет прослушивать запросы MCP, обычно взаимодействуя с AnkiConnect по адресу http://127.0.0.1:8765 .

Проверка сервера

Для просмотра доступных инструментов можно использовать MCP Inspector:

npx @modelcontextprotocol/inspector uv run anki-mcp

Конфигурация для клиентов MCP

Если вы интегрируете это с клиентом MCP (например, фреймворком помощника AI), вам нужно будет настроить его для поиска этого сервера. Вот пример фрагмента конфигурации:

{ "mcpServers": { "anki": { "command": "uv", "args": [ "run", // uv will find anki-mcp if run from project root "anki-mcp" ], // If running from outside the project directory, specify the path: // "args": [ // "--directory", // "/ABSOLUTE/PATH/TO/anki-mcp", // Replace with actual path // "run", // "anki-mcp" // ] } } }

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

Этот сервер MCP обеспечивает доступ к функционалу Anki через инструменты, сгруппированные по службам. Названия инструментов напрямую соответствуют действиям AnkiConnect.

Обслуживание на палубе ( deck.* )

  • deck.deckNamesAndIds : получает полный список названий колод и их соответствующих идентификаторов.
  • deck.getDeckConfig : получает объект группы конфигурации для заданного имени колоды.
  • deck.deckNames : Получает полный список названий колод для текущего пользователя.
  • deck.createDeck : Создает новую пустую колоду.
  • deck.deleteDecks : Удаляет указанные колоды.
  • deck.changeDeck : Перемещает карты в другую колоду.
  • deck.saveDeckConfig : сохраняет группу конфигурации колоды.

Примечание. Услуга ( note.* )

  • note.findNotes : возвращает идентификаторы заметок для заданного поискового запроса Anki.
  • note.notesInfo : возвращает информацию для указанных идентификаторов заметок.
  • note.getNoteTags : Получает теги для определенного идентификатора заметки.
  • note.addNote : Создает новую заметку.
  • note.updateNoteFields : изменяет поля существующей заметки.
  • note.deleteNotes : Удаляет указанные заметки.
  • note.addNotes : создает несколько заметок.
  • note.addTags : добавляет теги к указанным заметкам.
  • note.removeTags : Удаляет теги из указанных заметок.
  • note.updateNote : изменяет поля и/или теги существующей заметки.

Обслуживание карт ( card.* )

  • card.findCards : возвращает идентификаторы карт для заданного поискового запроса Anki.
  • card.cardsInfo : возвращает информацию для указанных идентификаторов карт.
  • card.cardsToNotes : возвращает идентификаторы заметок для заданных идентификаторов карт.
  • card.areSuspended : проверяет, приостановлены ли указанные карты.
  • card.cardsModTime : Возвращает время модификации для указанных идентификаторов карт.
  • card.suspended : проверяет, приостановлена ли одна карта.
  • card.suspend : приостанавливает действие указанных карт.
  • card.unsuspend : Отменяет блокировку указанных карт.
  • card.setSpecificValueOfCard : устанавливает определенные значения для одной карты (используйте с осторожностью).

Модель обслуживания ( model.* ) (Типы примечаний)

  • model.modelNamesAndIds : получает полный список названий моделей (типов заметок) и их идентификаторов.
  • model.findModelsByName : Получает определения моделей для предоставленных имен моделей.
  • model.modelFieldNames : Получает имена полей для заданного имени модели.
  • model.modelTemplates : Получает содержимое шаблона для каждой карты указанной модели.
  • model.modelStyling : Получает стиль CSS для заданного имени модели.
  • model.createModel : Создает новую модель (тип заметки).
  • model.updateModelTemplates : изменяет шаблоны существующей модели.
  • model.updateModelStyling : изменяет стиль CSS существующей модели.
  • model.modelFieldAdd : добавляет новое поле в существующую модель.
  • model.modelFieldRemove : удаляет поле из существующей модели.

Медиа-сервис ( media.* )

  • media.retrieveMediaFile : извлекает содержимое медиафайла в кодировке base64.
  • media.getMediaFilesNames : Получает имена медиафайлов, соответствующие шаблону glob.
  • media.storeMediaFile : Сохраняет медиафайл (из base64, пути или URL).
  • media.deleteMediaFile : Удаляет указанный медиафайл.

Разработка

Для настройки на разработку:

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

Проведение тестов

pytest

Тодо

  • [ ] Завершить добавление всех инструментов AnkiConnect

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

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

  1. Предпосылки
    1. Установка
      1. Использование
        1. Проверка сервера
      2. Конфигурация для клиентов MCP
        1. Доступные инструменты MCP
          1. Обслуживание на палубе ( deck.* )
          2. Примечание. Услуга ( note.* )
          3. Обслуживание карт ( card.* )
          4. Модель обслуживания ( model.* ) (Типы примечаний)
          5. Медиа-сервис ( media.* )
        2. Разработка
          1. Проведение тестов
        3. Тодо

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A server implementation that connects to a locally running Anki, enabling card review and creation through the Model Context Protocol.
            Last updated -
            4
            40
            JavaScript
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server that enables LLMs to interact with Anki flashcard software through AnkiConnect, allowing for creation and management of flashcards, decks, and note types.
            Last updated -
            10
            206
            30
            TypeScript
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that allows Claude to create flashcards for Rember, helping users study and remember information through spaced repetition reviews.
            Last updated -
            88
            16
            TypeScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that allows LLMs to interact with Anki flashcard software, enabling functions like creating decks, adding notes, searching cards, and managing flashcard content through natural language.
            Last updated -
            206
            1
            JavaScript
            MIT License

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/ujisati/anki-mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server