Anki MCP について
Anki MCPはAnkiコレクションをAIアシスタントに接続し、会話形式で学習やカード管理をしたい人向けです。クイズ、カード編集、学習分析、メディア処理に対応します。
主な機能
- 01フラッシュカードの作成・検索・一括編集
- 02クイズの実施と復習予定の管理
- 03学習統計と復習履歴の確認
- 04デッキ、ノートタイプ、テンプレートの管理
- 05カード内の画像や音声の取得
活用シーン
- 01復習時期に合わせた語彙クイズ
- 02講義資料から間隔反復カードを作成
- 03デッキ内の苦手なトピックを分析
- 04タグの一括整理とカードの移動
MCP 対応
このMCPサーバーはAnkiConnect経由でAnkiに接続し、対応クライアントにフラッシュカード、デッキ、学習分析、メディア操作のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
25掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| operation | enum | はい | 実行するフラッシュカード操作create | create_batch | update | delete | find | get_info | add_tags | remove_tags | clear_empty |
| deckName | string | いいえ | デッキ名(作成操作用) |
| modelName | string | いいえ | ノートタイプ/モデル名(作成操作用) |
| fields | object | いいえ | 作成/更新用のフィールド名と値のペア |
| tags | array | いいえ | 追加、削除、または設定するタグ |
| notes | array | いいえ | 作成するノートの配列(create_batch 用) |
| noteId | number | いいえ | ノート ID(単一ノートの更新/削除用) |
| noteIds | array | いいえ | ノート ID(複数削除用) |
| query | string | いいえ | Anki 検索クエリ(find 操作用) |
| includeDetails | boolean | いいえ | ノートの詳細情報を含めます(find 用) |
| limit | number | いいえ | 返す結果の最大数(デフォルト:50、コンテキストのオーバーフローを防ぐための設定を推奨) |
| offset | number | いいえ | ページネーションでスキップする結果数(デフォルト:0) |
| cardIds | array | いいえ | 情報を取得するカード ID |
詳細
🧠 Anki MCP
AI で Anki のフラッシュカード体験を変革しましょう!この MCP(Model Context Protocol) サーバーは、Anki のフラッシュカードコレクションと Claude などの AI アシスタントをつなぎ、学習教材について自然な会話ができるようにします。
🚀 何ができますか?
フラッシュカードコレクション全体を把握している AI チューターがいて、次のようなことができると想像してみてください。
📚 インタラクティブな学習
- 「3日間見ていない日本語の語彙をクイズにして」
- 「医学のデッキから難しいカードを出して」
- 「最近、苦戦しているカードを見せて」
✨ スマートなコンテンツ作成
- 「光合成について、図解付きのフラッシュカードを作って」
- 「この PDF の章を間隔反復カードにして」
- 「講義ノートから穴埋めカードを作って」
🔍 強力な分析
- 「最も苦戦しているトピックはどれ?」
- 「過去1か月の学習パターンを見せて」
- 「カードの種類ごとの定着率は?」
🎯 一括操作
- 「化学のカードすべてに 'exam-prep' タグを付けて」
- 「定着率の低いカードを集中復習用デッキに移して」
- 「デッキ全体から重複カードを見つけて修正して」
🎯 特長
- 🎯 スマートなツール設計:AI エージェント向けに特化して設計された、直感的で高水準のツール
- 💬 自然な会話:学習仲間と話すように、フラッシュカードについて Claude と会話できます
- ⚡ 高速:AI アシスタントの動作を妨げない効率的な操作
- 📦 一括操作:シンプルなコマンドで数千枚のカードを一度に更新
- 📊 学習インサイト:学習の進捗やパターンを詳細に分析
- 🎨 リッチメディア:カード内の画像、音声、その他のメディアを完全にサポート
- 🔍 強力な検索:自然言語を通じて Anki の高度な検索構文を活用
- 🔒 高い信頼性:包括的なエラー処理を備えた、完全に型付けされた TypeScript
🛠 技術スタック
- Node.js:ランタイム環境(18 以上が必要)
- TypeScript:型安全性と開発者体験
- MCP SDK:Model Context Protocol の実装
- yanki-connect:🙏 完全に型付けされた、アイソモーフィックな AnkiConnect API クライアント
- tsup:高速な TypeScript バンドラー
- PNPM:効率的なパッケージマネージャー
この統合を支える堅牢な AnkiConnect インターフェースを提供してくれた yanki-connect ライブラリに心から感謝します!
📋 前提条件
1. Anki をインストールする
まだインストールしていない場合は、Anki をダウンロードしてインストールしてください。
2. AnkiConnect プラグインをインストールする
- Anki を開きます
- ツール → アドオン に進みます
- アドオンを取得... をクリックします
- コードを入力します:
2055492159 - Anki を再起動します
📋 バージョン要件: このサーバーを完全に互換性のある状態で使用するには、AnkiConnect バージョン 25.2.25.0 以降(2025-02-25 リリース)が必要です。ほとんどの機能は古いバージョンでも動作しますが、最適な使用体験のためにアップデートをおすすめします。
3. AnkiConnect を設定する(任意)
AnkiConnect はそのまま使用できますが、設定をカスタマイズすることもできます。
- ツール → アドオン に進みます
- AnkiConnect を選択し、設定 をクリックします
- ほとんどのユーザーはデフォルト設定のままで問題ありません
🚀 クイックスタート
オプション 1:Claude Desktop で使用する(推奨)
-
パッケージをインストールする
npm install -g @arielbk/anki-mcp -
Claude Desktop を設定する
Claude Desktop の設定ファイルを編集します。
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%\Claude\claude_desktop_config.json次の設定を追加します。
{ "mcpServers": { "anki": { "command": "anki-mcp", "args": [] } } } -
Claude Desktop を再起動する
-
使用を開始する!
- AnkiConnect を有効にして Anki が起動していることを確認します
- Claude に 「Anki のデッキを表示して」 や 「カードを 5 枚出題して」 と尋ねます
💡 プロのヒント: 「Anki のデッキはいくつある?」 や 「一番大きなデッキには何が入っている?」 のような簡単な質問を Claude にして、セットアップをテストできます。
オプション 2:開発環境のセットアップ
-
リポジトリをクローンする
git clone https://github.com/arielbk/anki-mcp.git cd anki-mcp -
依存関係をインストールする
pnpm install -
プロジェクトをビルドする
pnpm build -
サーバーをテストする
# Use the MCP inspector to test functionality pnpm inspect
オプション 3:他の MCP クライアントで使用する
このサーバーは、MCP 互換のクライアントであればどれでも動作します。次のものでも使用できます。
- MCP Inspector:対話型デバッグツール
- Cline:AI コーディング用の VS Code 拡張機能
- カスタム MCP クライアント:MCP SDK を使用して独自のクライアントを構築できます
stdio トランスポートの場合は、次を実行します。
node dist/index.js
localhost HTTP(Streamable HTTP)トランスポートの場合は、次を実行します。
node dist/index.js --http --host=127.0.0.1 --port=3000
# The MCP endpoint will be at http://127.0.0.1:3000/mcp
Streamable HTTP に対応するクライアントは直接接続できます。従来の SSE クライアントも、クライアント側のフォールバックを介して引き続き動作する場合があります。
🎮 使用例
Claude Desktop を設定すると、次のような自然な会話ができます。
📖 学習セッション
You: "I have a Japanese exam tomorrow. Can you quiz me on Hiragana cards I haven't reviewed in a week?"
Claude: I'll find your Hiragana cards that need review and start a quiz session...
📝 コンテンツ作成
You: "Create flashcards for the major battles of World War II with dates and significance"
Claude: I'll create comprehensive flashcards covering the key WWII battles...
📊 学習分析
You: "How am I doing with my medical terminology deck? Show me my weak areas."
Claude: Let me analyze your performance on the medical terminology deck...
🏷️ 整理
You: "Tag all cards about cardiovascular system with 'cardiology' and move them to my MCAT prep deck"
Claude: I'll help you organize those cards...
🔧 利用可能なツール
このサーバーには、必要な機能をすべて備えた直感的なツールが 7 つ用意されています。
📝 フラッシュカードの管理
フラッシュカードの作成、更新、削除、検索ができます。コンテンツの作成、一括更新、整理に最適です。
🎯 学習セッション
対話型のクイズセッションを実施し、カードのスケジュールを管理して、復習が必要なカードを追跡できます。
📚 デッキの管理
デッキを作成・整理し、カードを移動したり、デッキの設定を構成したりできます。
📊 分析情報の取得
学習統計、復習履歴、学習パターンを詳しく確認できます。
🎨 モデルの管理
ノートタイプのカスタマイズ、フィールドの追加、テンプレートの変更、カードのスタイル設定ができます。
🔧 Anki の操作
同期、メディアファイル、インポート/エクスポート、その他のユーティリティ操作を処理できます。
🖼️ メディアファイルの取得
Anki コレクションからメディアファイル(画像、音声など)を取得します。AI アシスタントは画像を直接分析できます(ただし、UI には表示されません)。
💡 プロのヒント: 多くの操作では、コンテキストウィンドウが過負荷にならないよう、ページネーションに対応しています。大きな結果セットを扱う場合は、
limitとoffsetパラメーターを使用してください。
🛠 開発
# Run in development mode with auto-reloading
pnpm dev
# Lint the code
pnpm lint
# Format the code
pnpm format
# Test with MCP inspector
pnpm inspect
🔧 設定
AnkiConnect の設定
このサーバーは、デフォルトで localhost:8765 の AnkiConnect に接続します。AnkiConnect の設定をカスタマイズしている場合は、接続設定の調整が必要になることがあります。
重要:MCP サーバーを使用する前に、Anki が起動しており、AnkiConnect がインストールされていることを確認してください。AnkiConnect にアクセスできない場合、サーバーは接続に失敗します。
💡 注意: 基盤となる yanki-connect ライブラリは macOS での Anki の自動起動に対応していますが、この機能は現在 MCP サーバーの設定では公開されていません。Anki を手動で起動する必要があります。
Claude Desktop の高度な設定
上級ユーザーは、追加のパラメーターを渡すことができます。
{
"mcpServers": {
"anki": {
"command": "anki-mcp",
"args": ["--verbose"],
"env": {
"ANKI_CONNECT_HOST": "localhost",
"ANKI_CONNECT_PORT": "8765"
}
}
}
}
トラブルシューティング
よくある問題:
- 「AnkiConnect への接続に失敗しました」:Anki が起動しており、AnkiConnect プラグインがインストールされていることを確認してください
- 「デッキが見つかりません」:Anki に少なくとも 1 つのデッキがあることを確認してください
- Claude が応答しない:設定を変更した後、Claude Desktop を再起動してください
- 権限エラー:
npm list -g @arielbk/anki-mcpを実行して、グローバル npm インストールが正しく行われたことを確認してください
🤝 貢献
貢献を歓迎します!以下の手順でお願いします。
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 該当する場合はテストを追加します
- プルリクエストを送信します
📜 ライセンス
MIT — 詳細はLICENSEファイルをご覧ください。
🙏 謝辞
- yanki-connect - AnkiConnect 用の優れた TypeScript クライアント
- AnkiConnect - Anki の自動化を可能にするプラグイン
- Model Context Protocol - AI とのシームレスな連携を実現
AI を活用した会話で、フラッシュカード体験を変えましょう! 🚀
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。