Anki MCP Server について
Anki MCP Server は、AnkiConnect を介して LLM が Anki のデッキ、ノート、タグ、ノートタイプを操作できるようにする MCP サーバーです。AI を使って暗記カードを作成・整理したいユーザー向けです。
主な機能
- 01ノートとタグの作成・検索・更新・削除
- 02Anki の検索構文によるノート検索
- 03ノートの一括作成
- 04ノートタイプの一覧表示・作成・構造確認
- 05明示的な確認を必要とする AnkiWeb 同期
活用シーン
- 01学習資料から暗記カードを一括生成
- 02タグや検索条件による既存ノートの整理
- 03カード追加前のデッキとノートタイプ構造の確認
MCP 対応
このプロジェクトは MCP サーバーであり、anki_* 系のツールと anki:// リソースを MCP クライアントに公開して、Anki コレクションの読み書きを行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Anki MCP サーバー
AnkiConnect を通じて、LLM が Anki のフラッシュカードソフトウェアを操作できるようにする Model Context Protocol(MCP)サーバーです。
![]()
機能
ツール
anki_check_connection- AnkiConnect に接続できるか確認しますanki_list_decks- 利用可能なすべての Anki デッキを一覧表示します。オプションでデッキ ID も表示できますanki_create_deck- 新しい Anki デッキを作成しますanki_list_tags- コレクションで現在使用されているすべてのタグを一覧表示しますanki_add_note_tags- 1 件以上のノートにタグを追加しますanki_remove_note_tags- 1 件以上のノートからタグを削除しますanki_create_note- 新しいノートを作成しますanki_batch_create_notes- 複数のノートを一度に作成しますanki_search_notes- Anki のクエリ構文を使ってノートを検索しますanki_get_note_info- ノートの詳細情報を取得しますanki_update_note- 既存のノートのフィールドやタグを更新しますanki_delete_note- 1 件以上のノートを削除しますanki_list_note_types- 利用可能なすべてのノートタイプを一覧表示しますanki_create_note_type- 新しいノートタイプを作成しますanki_get_note_type_info- ノートタイプの詳細な構造を取得しますanki_sync- AnkiWeb との同期を開始します。完全同期ではローカルとリモートのコレクションが統合または上書きされる可能性があるため、{"confirm": true}が必要です。成功は Anki がリクエストを受け付けたことを示すものであり、AnkiWeb がデータを受信したことを意味するものではありません。Anki でダイアログが表示されて処理がブロックされると、同期がキューに入ったままでも通知されない場合があります
create_note や list_decks など、anki_ が付かない従来のツール名も既存のクライアントから引き続き呼び出せますが、新しいエージェント連携では anki_* の名前を使用してください。
リソース
anki://decks/all- デッキ ID を含む、利用可能なすべてのデッキの一覧anki://tags/all- すべてのタグの一覧anki://note-types/all- 利用可能なすべてのノートタイプの一覧anki://note-types/all-with-schemas- すべてのノートタイプの詳細な構造情報anki://note-types/{modelName}- 特定のノートタイプの詳細な構造情報
前提条件
- システムに Anki がインストールされていること
- Anki に AnkiConnect アドオンがインストールされていること
- Node.js 20.11 以降
設定
デスクトップ拡張機能(.mcpb)経由でインストールする
このリポジトリは Anthropic Desktop Extensions(MCPB)に対応しています。Claude Desktop でこのサーバーを利用する最も簡単な方法は、パッケージ化された .mcpb バンドルをインストールすることです。
- 提供されているスクリプトを使用して、ローカルで
.mcpbファイルを生成します。
npm run mcpb
- Claude Desktop の Settings → Extensions を開き、生成された
.mcpbファイルをドラッグしてから、Install をクリックします。
この操作により manifest.json が検証され、上記の手順でインストールできる .mcpb アーカイブが出力されます。Desktop Extensions の詳細については、Anthropic の発表をご覧ください:Desktop Extensions: One-click MCP server installation for Claude Desktop。
Claude Desktop での使用方法
サーバーを claude_desktop_config.json に追加します。
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes", "anki-mcp-server"]
}
}
}
AnkiConnect のカスタムポートを使用する
AnkiConnect が別のポートで実行されている場合は、--port パラメーターを指定できます。
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes", "anki-mcp-server", "--port", "8080"]
}
}
}
Cline の設定
VSCode の設定 cline_mcp_settings.json 内にある Cline MCP 設定ファイルにサーバーを追加します。
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes", "anki-mcp-server"]
}
}
}
AnkiConnect のカスタムポートを使用する
Cline でもカスタムポートを指定できます。
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes", "anki-mcp-server", "--port", "8080"]
}
}
}
エージェントスキル(Claude Code)
Anki スキルをインストールすると、Claude Code にすべての Anki ツールとワークフローの組み込み知識を追加できます。
npx skills add nailuoGG/anki-mcp-server@anki
インストールすると、フラッシュカードの作成、デッキの管理、ノートの一括インポートを依頼したときに、Claude Code が自動的にこのスキルを使用します。
注: パッケージ化された
.mcpbバージョンを MCP サーバーとして使用しないでください。Electron のメタデータが stdout に出力され、MCP の stdio プロトコルが壊れるためです。代わりにnpx -y anki-mcp-serverを使用してください。
開発
デスクトップ拡張機能(.mcpb)のパッケージ化
Claude Desktop 用の配布可能なデスクトップ拡張機能バンドルを作成します。
npm run mcpb
これによりプロジェクトがビルドされ、現在のリポジトリから .mcpb アーカイブが生成され、manifest.json の検証が行われます。Claude Desktop の「拡張機能」設定にドラッグしてテストしてください。参考:デスクトップ拡張機能:Claude Desktop 用 MCP サーバーをワンクリックでインストール
MCP Registry への公開
このサーバーは、新しいバージョンのリリース時に MCP Registry へ自動的に公開されます。公開プロセスには、次のものが含まれます。
- 自動化された CI/CD:GitHub Actions が、リリースの成功時に NPM と MCP Registry の両方へ自動的に公開します
- スキーマ検証:公開前に
server.jsonファイルを MCP スキーマに照らして検証します - バージョンの同期:
package.json、manifest.json、server.jsonのバージョンを同期します - 包括的なテスト:公開前に、複数バージョンの Node.js でのテスト、Lint、検証を行います
- ベータ版のサポート:新機能のテスト用にベータ版を自動リリースします
手動での検証
MCP サーバーの設定は、ローカルで検証できます。
npm run validate-mcp
これにより、最新の MCP スキーマがダウンロードされ、server.json ファイルが検証されます。
手動での公開
手動で公開する必要がある場合は、MCP Publisher CLI を使用できます。
# Install MCP Publisher
curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.1.0/mcp-publisher_1.1.0_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
chmod +x mcp-publisher
sudo mv mcp-publisher /usr/local/bin/
# Login to MCP Registry
mcp-publisher login github-oidc
# Publish to MCP Registry
mcp-publisher publish
セットアップ
- 依存関係をインストールします。
npm install
- サーバーをビルドします。
npm run build
- 自動再ビルドを有効にして開発するには、次のコマンドを実行します。
npm run watch
テスト
テストスイートを実行します。
npm test
MCP ツールのスキーマ、構造化ツール結果、ノートの作成、検索/更新/削除のワークフロー、エラー処理に関する単体テストが実行されます。これらのテストでは、AnkiConnect クライアントをモックしています。手動で統合テストを行う場合は、Anki インスタンスを起動した状態で MCP Inspector を使用してください。
MCP 評価
読み取り専用のエージェント評価用アセットは evals/ にあります。一時的に使用する Anki プロファイルにフィクスチャを読み込み、XML の質問を MCP サーバーに対して実行して、エージェントがデッキ、タグ、ノートタイプのスキーマ、リソース、構造化ツール結果を検出できることを確認してください。
デバッグ
MCP サーバーは標準入出力を介して通信するため、MCP Inspector の使用をおすすめします。
npm run inspector
ブラウザー上のインターフェースで、次の操作を行えます。
- MCP メッセージを監視する
- ツールの呼び出しをテストする
- サーバーのログを確認する
- 通信の問題をデバッグする
使用例
- 新しいデッキを作成します。
Create a new Anki deck called "Programming"
- 基本的なカードを追加します。
Create an Anki card in the "Programming" deck with:
Front: What is a closure in JavaScript?
Back: A closure is the combination of a function and the lexical environment within which that function was declared.
- 穴埋め削除カードを追加します。
Create a cloze card in the "Programming" deck with:
Text: In JavaScript, {{c1::const}} declares a block-scoped variable that cannot be {{c2::reassigned}}.
- 1 つのノートを削除します。
Delete note ID 1234567890
- 複数のノートを一度に削除します。
Delete note IDs 1234567890, 9876543210, and 1122334455
- ノートにタグを追加します。
Add tags "review" and "mcp" to note IDs 1234567890 and 9876543210
貢献
- リポジトリをフォークします
- 機能ブランチを作成します
- テストを実行します:
npm test - プルリクエストを送信します
スター履歴
クレジット
アイコンは macOS Icons のご厚意により使用しています。
ライセンス
MIT License — 詳細は LICENSE ファイルをご覧ください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。