アンキ-MCP
AnkiConnectアドオンを介してAnkiフラッシュカードとやり取りするためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、AnkiConnectアクションを論理サービスとして整理されたMCPツールとして公開します。
前提条件
- Ankiデスクトップアプリケーション
- AnkiConnectアドオンがAnkiにインストールされ設定されている
- Python 3.8以上
uv
(依存関係の実行とインストール用。オプションだが推奨)
インストール
使用法
MCP サーバーを実行するには:
サーバーが起動し、MCP リクエストをリッスンします。通常はhttp://127.0.0.1:8765
の AnkiConnect とインターフェイスします。
サーバーの検査
MCP インスペクターを使用すると、利用可能なツールを表示できます。
MCPクライアントの構成
これをMCPクライアント(AIアシスタントフレームワークなど)と統合する場合は、このサーバーを見つけるように設定する必要があります。設定例を以下に示します。
利用可能な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
: 指定されたメディア ファイルを削除します。
発達
開発用に設定するには:
テストの実行
藤堂
- [ ] AnkiConnectツールの追加を完了する
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
AnkiConnect を介して Anki フラッシュカードとのやり取りを可能にし、デッキ、メモ、カード、モデル、メディア ファイルを管理するための整理されたツールを提供するモデル コンテキスト プロトコル サーバー。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA server implementation that connects to a locally running Anki, enabling card review and creation through the Model Context Protocol.Last updated -440JavaScriptMIT License
- AsecurityFlicenseAqualityA 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 -1020630TypeScript
Rember MCPofficial
-securityAlicense-qualityA Model Context Protocol server that allows Claude to create flashcards for Rember, helping users study and remember information through spaced repetition reviews.Last updated -8816TypeScriptMIT License- -securityAlicense-qualityA 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 -2061JavaScriptMIT License