Skip to main content
Glama

anki-mcp

by ujisati

アンキ-MCP

AnkiConnectアドオンを介してAnkiフラッシュカードとやり取りするためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、AnkiConnectアクションを論理サービスとして整理されたMCPツールとして公開します。

前提条件

  • Ankiデスクトップアプリケーション
  • AnkiConnectアドオンがAnkiにインストールされ設定されている
  • Python 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 リクエストをリッスンします。通常はhttp://127.0.0.1:8765の AnkiConnect とインターフェイスします。

サーバーの検査

MCP インスペクターを使用すると、利用可能なツールを表示できます。

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 : デッキ名とそれぞれの ID の完全なリストを取得します。
  • deck.getDeckConfig : 指定されたデッキ名の構成グループ オブジェクトを取得します。
  • deck.deckNames : 現在のユーザーのデッキ名の完全なリストを取得します。
  • deck.createDeck : 新しい空のデッキを作成します。
  • deck.deleteDecks : 指定されたデッキを削除します。
  • deck.changeDeck : カードを別のデッキに移動します。
  • deck.saveDeckConfig : デッキ構成グループを保存します。

ノートサービス ( note.* )

  • note.findNotes : 指定された Anki 検索クエリのノート ID を返します。
  • note.notesInfo : 指定されたノート ID の情報を返します。
  • note.getNoteTags : 特定のノート ID のタグを取得します。
  • note.addNote : 新しいノートを作成します。
  • note.updateNoteFields : 既存のメモのフィールドを変更します。
  • note.deleteNotes : 指定されたメモを削除します。
  • note.addNotes : 複数のメモを作成します。
  • note.addTags : 指定されたメモにタグを追加します。
  • note.removeTags : 指定されたメモからタグを削除します。
  • note.updateNote : 既存のノートのフィールドやタグを変更します。

カードサービス ( card.* )

  • card.findCards : 指定された Anki 検索クエリのカード ID を返します。
  • card.cardsInfo : 指定されたカード ID の情報を返します。
  • card.cardsToNotes : 指定されたカード ID のノート ID を返します。
  • card.areSuspended : 指定されたカードが停止されているかどうかを確認します。
  • card.cardsModTime : 指定されたカード ID の変更時刻を返します。
  • card.suspended : 1 枚のカードが停止されているかどうかを確認します。
  • card.suspend : 指定されたカードを一時停止します。
  • card.unsuspend : 指定されたカードのサスペンドを解除します。
  • card.setSpecificValueOfCard : 1 枚のカードに特定の値を設定します (注意して使用してください)。

モデルサービス ( model.* ) (ノートタイプ)

  • model.modelNamesAndIds : モデル (ノート タイプ) 名とその ID の完全なリストを取得します。
  • 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.

AnkiConnect を介して Anki フラッシュカードとのやり取りを可能にし、デッキ、メモ、カード、モデル、メディア ファイルを管理するための整理されたツールを提供するモデル コンテキスト プロトコル サーバー。

  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