mcpField
A
Anki MCP

Anki MCP

ローカル
github.com/arielbk科学・教育1123 週間前に更新

Anki MCP について

Anki MCPはAnkiコレクションをAIアシスタントに接続し、会話形式で学習やカード管理をしたい人向けです。クイズ、カード編集、学習分析、メディア処理に対応します。

主な機能

  1. 01フラッシュカードの作成・検索・一括編集
  2. 02クイズの実施と復習予定の管理
  3. 03学習統計と復習履歴の確認
  4. 04デッキ、ノートタイプ、テンプレートの管理
  5. 05カード内の画像や音声の取得

活用シーン

  1. 01復習時期に合わせた語彙クイズ
  2. 02講義資料から間隔反復カードを作成
  3. 03デッキ内の苦手なトピックを分析
  4. 04タグの一括整理とカードの移動

MCP 対応

このMCPサーバーはAnkiConnect経由でAnkiに接続し、対応クライアントにフラッシュカード、デッキ、学習分析、メディア操作のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"anki-mcp-arielbk": {
"command": "npx",
"args": [
"-y",
"@arielbk/anki-mcp"
]
}
}
}
起動コマンドnpx -y @arielbk/anki-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@arielbk/anki-mcp0.3.2

ツール

25

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
operationenumはい実行するフラッシュカード操作create | create_batch | update | delete | find | get_info | add_tags | remove_tags | clear_empty
deckNamestringいいえデッキ名(作成操作用)
modelNamestringいいえノートタイプ/モデル名(作成操作用)
fieldsobjectいいえ作成/更新用のフィールド名と値のペア
tagsarrayいいえ追加、削除、または設定するタグ
notesarrayいいえ作成するノートの配列(create_batch 用)
noteIdnumberいいえノート ID(単一ノートの更新/削除用)
noteIdsarrayいいえノート ID(複数削除用)
querystringいいえAnki 検索クエリ(find 操作用)
includeDetailsbooleanいいえノートの詳細情報を含めます(find 用)
limitnumberいいえ返す結果の最大数(デフォルト:50、コンテキストのオーバーフローを防ぐための設定を推奨)
offsetnumberいいえページネーションでスキップする結果数(デフォルト:0)
cardIdsarrayいいえ情報を取得するカード ID

詳細

🧠 Anki MCP

NPM Package anki-mcp License: MIT
Anki MCP server

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 プラグインをインストールする
  1. Anki を開きます
  2. ツール → アドオン に進みます
  3. アドオンを取得... をクリックします
  4. コードを入力します:2055492159
  5. Anki を再起動します

📋 バージョン要件: このサーバーを完全に互換性のある状態で使用するには、AnkiConnect バージョン 25.2.25.0 以降(2025-02-25 リリース)が必要です。ほとんどの機能は古いバージョンでも動作しますが、最適な使用体験のためにアップデートをおすすめします。

3. AnkiConnect を設定する(任意)

AnkiConnect はそのまま使用できますが、設定をカスタマイズすることもできます。

  1. ツール → アドオン に進みます
  2. AnkiConnect を選択し、設定 をクリックします
  3. ほとんどのユーザーはデフォルト設定のままで問題ありません

🚀 クイックスタート

オプション 1:Claude Desktop で使用する(推奨)
  1. パッケージをインストールする

    npm install -g @arielbk/anki-mcp
    
  2. Claude Desktop を設定する

    Claude Desktop の設定ファイルを編集します。

    macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

    次の設定を追加します。

    {
      "mcpServers": {
        "anki": {
          "command": "anki-mcp",
          "args": []
        }
      }
    }
    
  3. Claude Desktop を再起動する

  4. 使用を開始する!

    • AnkiConnect を有効にして Anki が起動していることを確認します
    • Claude に 「Anki のデッキを表示して」 や 「カードを 5 枚出題して」 と尋ねます

💡 プロのヒント: 「Anki のデッキはいくつある?」 や 「一番大きなデッキには何が入っている?」 のような簡単な質問を Claude にして、セットアップをテストできます。

オプション 2:開発環境のセットアップ
  1. リポジトリをクローンする

    git clone https://github.com/arielbk/anki-mcp.git
    cd anki-mcp
    
  2. 依存関係をインストールする

    pnpm install
    
  3. プロジェクトをビルドする

    pnpm build
    
  4. サーバーをテストする

    # 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 インストールが正しく行われたことを確認してください

🤝 貢献

貢献を歓迎します!以下の手順でお願いします。

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 該当する場合はテストを追加します
  5. プルリクエストを送信します

📜 ライセンス

MIT — 詳細はLICENSEファイルをご覧ください。

🙏 謝辞


AI を活用した会話で、フラッシュカード体験を変えましょう! 🚀

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。