Anki Model Context Protocol (MCP) Server
Anki Model Context Protocol (MCP) Server
AIアシスタント(Claude Desktop、Claude Code、Antigravity、Codex、Cursor など)が Anki のフラッシュカード、デッキ、ノートタイプ、タグ、メディア、検索を直接管理できる、高性能なModel Context Protocol (MCP) サーバーです。
⚡ ユニバーサルなファイルベース I/O アーキテクチャ
現代のフラッシュカード(特に HTML マークアップ、構文ハイライトされたコードブロック、LaTeX 数式を含むもの)は大きなペイロードです。これらを JSON-RPC ツールのパラメータとしてストリーミングしたり、完全なカード内容をモデルに直接返したりすると、トークン枯渇、出力の切り詰めが引き起こり、コンテキストウィンドウが飽和します。
このサーバーは**ユニバーサルなファイルベースの入出力(File-Based I/O)**を実装します。
インバンドトークン肥大化ゼロ: フラッシュカードの変更、クエリ、検索、スキーマの検査は、入力 JSON ファイルのパスを受け取り、完全な構造化出力をディスクへ書き出します。
コンパクトなテレメトリ応答: すべてのツール呼び出しは、ステータス、ID、処理件数、解決済みの
output_fileパスに加え、上限付きのメタデータ概要($< 150$ tokens)を返します。アトミックな一括取り込み: 数百枚のカードを単一の JSON ペイロードに書き込み、アトミックな SQLite トランザクションで数ミリ秒で取り込めます。
クロスプラットフォームな一時保存: 出力はデフォルトで OS の一時ディレクトリ(Windows では
%TEMP%\anki_mcp、Linux/macOS では/tmp/anki_mcp)に保存され、ANKI_MCP_OUTPUT_DIRで上書きできます。
Related MCP server: Anki MCP Server
機能
⚡ 高速ダイレクトブリッジ: 公式
ankiPython エンジンを介して Anki のコレクションデータベース(collection.anki2)へ直接アクセスし、HTTP オーバーヘッドがありません。🔒 非ブロッキングな接続ライフサイクル: リクエストごとにオープン/クローズのコンテキスト管理(~2.7ms)を行い、データベースロックを即座に解放して Anki Desktop をロックアウトしません。
🪟 クロスプラットフォーム: Windows、macOS、Linux をネイティブサポートし、標準 OS の場所からコレクションを自動検出します。
🗂️ 階層デッキ: ネストしたデッキ作成(例:
Computer Science::Algorithms::Trees))を完全サポートします。📝 リッチなカード形式: 標準カード/基本カード、穴埋め(Cloze)削除(
{{c1::...}})、カスタムフィールド、LaTeX 数式($...$と$$...$$)に対応しています。🔍 クエリエンジン: Anki の検索構文(
deck:Languages tag:grammar、is:due、added:7、"Recursion")を完全サポートします。🏷️ タグ管理: 階層的なタグ付けとタグの一括追加、一括削除に対応しています。
📦 一括作成: JSON ペイロードによる単一のアトミック操作だけで、大量のカードをまとめて追加できます。
💾 デッキエクスポート:
.apkg、.colpkg、.jsonへのネイティブなパッケージ化を提供します。💡 MCP プロンプトとリソース: 組み込みリソース(
anki://decks、anki://stats)と構造化カード生成プロンプト(flashcard_generator)を備えています。
インストールと設定
このプロジェクトは、高速で再現可能な Python 環境管理のため、uv を使用しています。
クローンとインストール
git clone https://github.com/debnath-d/anki-mcp-server.git
cd anki-mcp-server
uv syncサーバーの起動
uv run anki-mcp-serverクライアント設定
1. Claude Desktop
Claude Desktop の設定ファイルにこのサーバーを追加します:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Windows の設定
{
"mcpServers": {
"anki": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\anki-mcp-server",
"run",
"anki-mcp-server"
]
}
}
}macOS / Linux の設定
{
"mcpServers": {
"anki": {
"command": "uv",
"args": [
"--directory",
"/path/to/anki-mcp-server",
"run",
"anki-mcp-server"
]
}
}
}2. Google Antigravity
Antigravity の MCP 設定(~/.gemini/config/mcp_config.json)に追加します:
{
"mcpServers": {
"anki": {
"command": "uv",
"args": [
"--directory",
"/path/to/anki-mcp-server",
"run",
"anki-mcp-server"
]
}
}
}3. Claude Code / Codex / CLI クライアント
Claude Code を MCP サーバーで起動します:
claude --mcp-server "uv --directory '/path/to/anki-mcp-server' run anki-mcp-server"提供されている MCP ツール
1. デッキ管理
ツール | パラメータ | 説明 |
|
| 名前、ID、カード数とともに全デッキを一覧表示します。階層構造をディスクに書き出し、概要を返します。 |
|
| 新しいデッキまたはサブデッキを作成します(例: |
|
| 既存のデッキの名前を変更し、ネストしたすべてのサブデッキのプレフィックスを更新します。 |
|
| デッキとそのカードを削除します。 |
|
| ID、クエリ、または入力ファイルを指定して、カードをデッキ間で移動します。 |
2. ノートタイプ(モデル)
ツール | パラメータ | 説明 |
|
| 利用可能なすべてのノートタイプ(例: |
|
| ノートタイプの詳細なスキーマ、フィールド、テンプレートをディスクに返します。 |
3. フラッシュカード / ノート管理(ファイルベース)
ツール | パラメータ | 説明 |
|
| JSON ファイルのペイロード( |
|
| JSON ファイルのペイロード( |
|
| JSON 配列ファイルから、複数のフラッシュカードを単一の原子的一括操作で追加します。 |
|
| ID でノートを取得し、フィールド、タグ、ノートタイプ、カードをディスクに返します。 |
|
| JSON ペイロードを使って、既存ノートのフィールドまたはタグを更新します。 |
|
| ID リストまたは JSON ファイルによって、ノートとそのカードを管理します。 |
4. メディア・状態管理・エクスポート
ツール | パラメータ | 説明 |
|
| 画像・図をディスクから Anki のメディアストレージへ直接コピーし、埋め込みタグを返します。 |
|
| ID、クエリ、またはファイルによって、アクティブな復習待ちキューからカードを一時停止します。 |
|
| ID、クエリ、またはファイルによって、一時停止中のカードをアクティブな復習キューに復元します。 |
|
| デッキをディスク上の |
5. 検索と発見
ツール | パラメータ | 説明 |
|
| Anki の検索構文( |
|
| カードを検索し、復習キュー、復習間隔、期限日をディスクに返します。 |
6. タグ管理と統計
ツール | パラメータ | 説明 |
|
| コレクション内のすべての一意なタグをディスクに一覧表示します。 |
|
| 指定したノートにタグを一括で追加します。 |
|
| 指定したノートからタグを一括で削除します。 |
|
| 概要統計(合計ノート数、合計カード数、未学習・期限切れカードの数、デッキごとの内訳)を返します。 |
テスト
自動テストスイートとリンターを実行します:
ruff check .
uv run python -m unittest discover -s tests重要な注意点とトラブルシューティング
SQLite データベースロック: Anki は排他的なファイルロックを使用します。MCP サーバーが書き込み操作を実行している間は、
anki.errors.DBErrorロックを防ぐため、Anki デスクトップ GUI アプリケーションを閉じておく必要があります。コレクションパスの自動検出:
Windows:
%APPDATA%\Anki2\<Profile>\collection.anki2または%LOCALAPPDATA%\Anki2\<Profile>\collection.anki2で自動検出されます。macOS:
~/Library/Application Support/Anki2/<Profile>/collection.anki2で自動検出されます。Linux:
~/.local/share/Anki2/<Profile>/collection.anki2で自動検出されます。カスタムの場所を使用するには、
ANKI_COLLECTION_PATH環境変数を設定します。
出力キャッシュ: ツールの出力は、デフォルトでは OS の一時ディレクトリ(
%TEMP%\anki_mcpまたは/tmp/anki_mcp)に保存されます。カスタムのディレクトリを使用するには、ANKI_MCP_OUTPUT_DIRを設定します。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables AI assistants to manage Anki flashcard decks and cards through natural language, supporting deck creation, card additions (basic and cloze types), and review queue management.682MIT
- AlicenseNot gradedqualityCmaintenanceEnables interaction with the Anki desktop flashcard application through the Anki-Connect plugin. Supports managing decks, cards, notes, and models, allowing AI assistants to create and query flashcards through natural language.101ISC
- AlicenseAqualityDmaintenanceEnables AI assistants to manage Anki flashcard collections by creating, searching, and updating cards through a standardized interface. It supports media handling, batch operations, and review scheduling via the AnkiConnect add-on.62MIT
- AlicenseAqualityDmaintenanceEnables AI tools to manage Anki flashcards, including deck management, card search, creation, editing, deletion, and statistics.10353Apache 2.0
Related MCP Connectors
AI access to your aNotepad online notes: read, search, write, and organize via 22 tools.
Free: turn your AI chats into spaced-repetition vocabulary. 13 tools, reads and writes.
AI-powered YouTube to flashcards with spaced repetition and Anki export
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/debnath-d/anki-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server