anki について
`anki-mcp-server`連携を通じてAnkiのカードを作成・管理するスキルです。デッキ、ノート、タグ、検索のワークフローを扱います。
主な機能
- 01ノートの単件・一括作成
- 02デッキとタグの管理
- 03ノートの検索と確認
- 04ノートタイプとフィールドの確認
- 05ノートの更新と削除
活用シーン
- 01学習資料からカードを作成
- 02階層デッキでノートを整理
- 03既存カードの検索と修正
MCP 対応
`anki-mcp-server`のMCP連携を使ってAnkiにアクセスします。デッキやノートの作成、検索、管理に使うツールを案内します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nailuogg/ anki-mcp-server --skill ankiインストール後、Claude Code で/ankiを入力して読み込まれたか確認します。
詳細
Anki MCP Server スキル
anki-mcp-server MCP 統合を通じて、Anki のフラッシュカードを作成・管理します。
前提条件
- Anki デスクトップアプリが起動している
- AnkiConnect アドオンがインストールされている(デフォルトのポートは 8765)
- Claude で MCP サーバーが設定されている:
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["-y", "anki-mcp-server"]
}
}
}
注:
.mcpbパッケージ版は使用しないでください。Electron のメタデータを標準出力に出力するため、MCP の標準入出力プロトコルが壊れます。
クイックリファレンス
| 目的 | ツール | 主な引数 |
|---|---|---|
| 接続を確認する | anki_check_connection | — |
| すべてのデッキを一覧表示する | anki_list_decks | — |
| デッキを作成する | anki_create_deck | name |
| すべてのタグを一覧表示する | anki_list_tags | — |
| ノートにタグを追加する | anki_add_note_tags | noteId または noteIds、tags |
| ノートからタグを削除する | anki_remove_note_tags | noteId または noteIds、tags |
| ノートを 1 件作成する | anki_create_note | type、deck、fields |
| ノートを一括作成する | anki_batch_create_notes | notes[](1 回につき 10~20 件) |
| ノートを検索する | anki_search_notes | query(Anki 構文)、limit、offset |
| ノートの詳細を取得する | anki_get_note_info | noteId |
| ノートを更新する | anki_update_note | id、fields、tags |
| ノートを削除する | anki_delete_note | noteId または noteIds |
| ノートタイプを一覧表示する | anki_list_note_types | — |
| フィールド名を取得する | anki_get_note_type_info | modelName |
従来の接頭辞なしのツール名も引き続き動作しますが、新しいワークフローでは anki_* ツールを優先してください。
基本的なワークフロー
テキスト/メモからフラッシュカードを作成する
anki_list_decksを呼び出して対象のデッキを確認します(必要に応じて作成します)anki_get_note_type_infoを呼び出して、選択したタイプのフィールド名を確認します- 知識の要点を抽出します。1 枚につき 1 つの概念にします
anki_batch_create_notesを呼び出します(1 回につき 10~20 件、最大 50 件)
最小情報の原則: 各カードで確認する内容は 1 つだけにします。
ノートタイプ
| タイプ | フィールド | 用途 |
|---|---|---|
Basic | Front、Back | 定義、事実、Q&A |
Cloze | {{c1::deletion}} を含む Text | 穴埋め、順序 |
カスタムノートタイプを使用する場合は、必ず最初に anki_get_note_type_info を呼び出してください。 フィールド名はタイプによって異なります。
一括作成の例
{
"notes": [
{
"type": "Basic",
"deck": "Programming::Python",
"fields": {
"Front": "What does list comprehension look like in Python?",
"Back": "[expr for item in iterable if condition]"
},
"tags": ["python", "syntax"]
},
{
"type": "Cloze",
"deck": "Programming::Python",
"fields": {
"Text": "In Python, {{c1::def}} defines a function and {{c2::return}} sends back a value."
},
"tags": ["python", "basics"]
}
],
"allowDuplicate": false,
"stopOnError": false
}
検索構文
deck:Python # Cards in Python deck
tag:重要 is:due # Due cards tagged "重要"
is:new # Unseen cards
note:Basic # Cards using Basic note type
"exact phrase" # Exact text match
タグ
既存のタグを確認するには anki_list_tags を使用します。メタデータのみを変更する場合は、anki_add_note_tags と anki_remove_note_tags を優先してください。タグの一覧全体を置き換える場合にのみ anki_update_note を使用します。
デッキの命名
階層には :: を使用します:Language::English::Vocabulary、CS::Algorithms::Sorting
よくある間違い
| 間違い | 対処法 |
|---|---|
最初に anki_get_note_type_info を呼び出さない | カスタムタイプでノートを作成する前に、必ずフィールド名を確認します |
| 50 件を超える一括処理 | 1 回 10~20 件に分けて複数回呼び出します |
.mcpb ファイルを使用する | 代わりに npx -y anki-mcp-server を使用します |
| Anki が起動していない | Anki を起動し、AnkiConnect が有効であることを確認します |
| フィールド名が間違っている | フィールド名は大文字と小文字を区別します。anki_get_note_type_info を使用して確認します |
コメント
Markdown 対応