Yanki MCP Server ( Yet Another Anki MCP Server ) について
Yanki は Anki-Connect を介して、MCP クライアントをローカルの Anki デスクトップアプリに接続します。カードの復習と作成に対応し、新規カードを日付別のデッキに整理します。
主な機能
- 01復習待ちカードと新規カードの取得
- 02現在のデッキ内のカード検索
- 03復習回答と難易度評価の記録
- 04日付別デッキへのカード作成
- 05基底デッキ名の設定
活用シーン
- 01学習対象のカードの取得
- 02復習後の回答の送信
- 03作成日別にカードを整理
MCP 対応
MCP クライアントに Anki カード検索用リソースと復習・作成ツールを提供し、Anki-Connect 経由でローカルの Anki アプリに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| answers | array | いいえ |
詳細
Yanki MCP Server(Yet Another Anki MCP Server)
ローカルで実行中の Anki に接続し、カードの復習と作成を行う Model Context Protocol サーバーの実装です。日付ベースの整理機能を備えた、scorzeth/anki-mcp-server のフォークです。
npm パッケージとして利用できます:yanki-mcp-server
このサーバーは、Anki デスクトップアプリと Anki-Connect アドオンと連携するように設計されています。
使用する前に、アドオンがインストールされていることを確認してください。
リソース
- anki://search/deckcurrent
- 現在のデッキにあるすべてのカードを返します
- Anki の
deck:currentと同等です
- anki://search/isdue
- 復習待ちと学習待ちのカードを返します
- Anki の
is:dueと同等です
- anki://search/isnew
- まだ見ていないカードをすべて返します
- Anki の
is:newと同等です
ツール
-
update_cards
- 指定されたカード ID のカードを解答済みとして記録し、1(もう一度)から4(簡単)の難易度を設定します
- 入力:
answers(配列):cardId(数値)フィールドとease(数値)フィールドを持つオブジェクトの配列
-
add_card
- 日付別に構成されたデッキ(形式:
DECK::YYYY::MM::DD)に新しいカードを作成します - 入力:
front(文字列):カードの表面back(文字列):カードの裏面
- 日付別に構成されたデッキ(形式:
-
get_due_cards
- 現在、復習期限を迎えているカードを n 枚返します
- 入力:
num(数値):カードの枚数
-
get_new_cards
- 新しいカードを n 枚返します
- 入力:
num(数値):カードの枚数
インストールと使用方法
npx を使えば、インストールせずにこのパッケージを使用できます:
npx yanki-mcp-server
または、グローバルにインストールします:
npm install -g yanki-mcp-server
yanki-server
開発
リポジトリをクローンし、依存関係をインストールします:
git clone https://github.com/htlin222/yanki-mcp-server.git
cd yanki-mcp-server
npm install
サーバーをビルドします:
npm run build
自動再ビルドを使った開発の場合:
npm run watch
開発中にサーバーを直接実行します:
npm run dev
設定
Claude Desktop で使用するには、サーバー設定を追加します:
MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"yanki-mcp-server": {
"command": "npx",
"args": ["yanki-mcp-server"],
"env": {
"DECK": "Default"
}
}
}
}
デバッグ
MCP サーバーは stdio 経由で通信するため、デバッグが難しい場合があります。パッケージスクリプトとして利用できる MCP Inspector の使用をおすすめします:
npm run inspector
Inspector は、ブラウザーでデバッグツールにアクセスするための URL を表示します。
日付ベースのカード整理
このサーバーは、新しいカードを従来のトピック別ではなく、日付ベースの構造で自動的に整理します。新しいカードを作成すると、次の形式のデッキに追加されます:
DECK::YYYY::MM::DD
ここで:
DECKはベースデッキ名です(デフォルト:「00_Inbox」、または環境変数で設定)YYYYは4桁の年ですMMは2桁の月ですDDは2桁の日です
日付ベースの整理の利点
- 手軽な整理:手動で分類しなくても、作成日ごとにカードが自動的に整理されます
- 時間的なコンテキスト:特定の期間(例:コースやプロジェクトの期間中)に作成したカードを復習できます
- 自然な間隔反復:学んだ時期ごとにカードが自然にまとまります
- 時間を効率的に活用:各カードの分類先を決めるために時間を費やす必要がありません
- 学習の記録:時間の経過に沿って学習の歩みを確認できます
設定
MCP サーバーの設定で DECK 環境変数を設定すると、ベースデッキ名をカスタマイズできます:
"env": {
"DECK": "YourCustomDeckName"
}
指定しない場合、デフォルトは「00_Inbox」です。
変更履歴
1.0.5 (2025-05-31)
- すべてのコンソール出力およびログ機能を完全に削除しました
- 必須ではない出力をすべて排除し、コードベースを簡素化しました
- 余計な出力のない、クリーンなMCPプロトコル通信を100%実現しました
- ログに関連するすべてのファイルシステム操作を削除しました
1.0.4 (2025-05-31)
- ログディレクトリのパスがファイルシステムのルートに作成される重大な問題を修正しました
- 堅牢なエラー処理とフォールバック機構により、ログシステムを改善しました
- ログが常に現在の作業ディレクトリを基準に作成されるようにしました
- ログ記録に失敗してもMCPプロトコルに支障をきたさないよう、ログ記録が失敗してもエラーを発生させない処理を追加しました
1.0.3 (2025-05-31)
- すべてのコンソール出力をログファイルにリダイレクトし、MCP通信プロトコルの問題を修正しました
- すべてのデバッグ情報とステータス情報を保持する、ファイルベースのログシステムを追加しました
- ログは、日付ベースのファイル名で
logsディレクトリに保存されます - MCP JSON-RPCプロトコルに適切に準拠するよう、標準出力をクリーンな状態に保ちました
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。