mcpField
A
anki

anki

github.com/nailuogg生産性25241 回インストール2 日前に更新
リポジトリ

anki について

`anki-mcp-server`連携を通じてAnkiのカードを作成・管理するスキルです。デッキ、ノート、タグ、検索のワークフローを扱います。

主な機能

  1. 01ノートの単件・一括作成
  2. 02デッキとタグの管理
  3. 03ノートの検索と確認
  4. 04ノートタイプとフィールドの確認
  5. 05ノートの更新と削除

活用シーン

  1. 01学習資料からカードを作成
  2. 02階層デッキでノートを整理
  3. 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 のフラッシュカードを作成・管理します。

前提条件

  1. Anki デスクトップアプリが起動している
  2. AnkiConnect アドオンがインストールされている(デフォルトのポートは 8765)
  3. Claude で MCP サーバーが設定されている:
{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["-y", "anki-mcp-server"]
    }
  }
}

注: .mcpb パッケージ版は使用しないでください。Electron のメタデータを標準出力に出力するため、MCP の標準入出力プロトコルが壊れます。

クイックリファレンス

目的ツール主な引数
接続を確認するanki_check_connection—
すべてのデッキを一覧表示するanki_list_decks—
デッキを作成するanki_create_deckname
すべてのタグを一覧表示するanki_list_tags—
ノートにタグを追加するanki_add_note_tagsnoteId または noteIds、tags
ノートからタグを削除するanki_remove_note_tagsnoteId または noteIds、tags
ノートを 1 件作成するanki_create_notetype、deck、fields
ノートを一括作成するanki_batch_create_notesnotes[](1 回につき 10~20 件)
ノートを検索するanki_search_notesquery(Anki 構文)、limit、offset
ノートの詳細を取得するanki_get_note_infonoteId
ノートを更新するanki_update_noteid、fields、tags
ノートを削除するanki_delete_notenoteId または noteIds
ノートタイプを一覧表示するanki_list_note_types—
フィールド名を取得するanki_get_note_type_infomodelName

従来の接頭辞なしのツール名も引き続き動作しますが、新しいワークフローでは anki_* ツールを優先してください。

基本的なワークフロー

テキスト/メモからフラッシュカードを作成する
  1. anki_list_decks を呼び出して対象のデッキを確認します(必要に応じて作成します)
  2. anki_get_note_type_info を呼び出して、選択したタイプのフィールド名を確認します
  3. 知識の要点を抽出します。1 枚につき 1 つの概念にします
  4. anki_batch_create_notes を呼び出します(1 回につき 10~20 件、最大 50 件)

最小情報の原則: 各カードで確認する内容は 1 つだけにします。

ノートタイプ
タイプフィールド用途
BasicFront、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 を使用して確認します

コメント