Skip to main content
Glama

🧠 アンキMCP

NPM パッケージ yanki-connect ライセンス: MIT

AIでAnkiフラッシュカード体験を変革!このMCP(モデルコンテキストプロトコル)サーバーは、AnkiフラッシュカードコレクションとClaudeなどのAIアシスタントを連携させ、学習教材に関する自然な会話を可能にします。

🚀 何ができるの?

あなたのフラッシュカードコレクション全体を把握し、次のことができる AI チューターがいると想像してください。

📚インタラクティブ学習

  • 「3日間見ていない日本語の語彙についてクイズを出してください」

  • 「私の医療デッキから挑戦的なカードで私をテストしてください」

  • 「最近苦戦しているカードを見せてください」

✨スマートなコンテンツ作成

  • 「図を使って光合成についてのフラッシュカードを作成する」

  • 「このPDFの章を間隔反復カードに変換します」

  • 「講義ノートから穴埋め問題カードを生成する」

🔍強力な分析

  • 「私が最も苦労しているのはどのトピックですか?」

  • 「先月の勉強パターンを見せてください」

  • 「さまざまなカードタイプの保持率はどれくらいですか?」

🎯一括操作

  • 「すべての化学カードに『試験準備』のタグを付けます」

  • 「定着率の低いカードを集中レビューデッキに移動する」

  • 「デッキ全体で重複したカードを見つけて修正する」

Related MCP server: Anki MCP Server

🎯 機能

  • 完全な Anki 統合: 115 の AnkiConnect API メソッドすべてを介してデッキ、カード、メモ、統計に完全にアクセスできます。

  • 会話型インターフェース: AIアシスタントを介した自然言語コマンド

  • 一括操作:数千枚のカードを一度に効率的に管理

  • リアルタイム統計:学習の進捗状況を把握

  • メディアサポート: カード内の画像、音声、その他のメディアを処理します

  • 高度なクエリ: 複雑な検索条件を使用してカードを検索します

  • 型安全性: 包括的なエラー処理を備えた完全に型付けされた API

🛠 技術スタック

  • Node.js : ランタイム環境 (18 歳以上必要)

  • TypeScript : 型安全性と開発者エクスペリエンス

  • MCP SDK : モデルコンテキストプロトコルの実装

  • 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年2月25日リリース)が必要です。ほとんどの機能は古いバージョンでも動作しますが、最適なエクスペリエンスを得るにはアップデートをお勧めします。

3. AnkiConnect を設定する(オプション)

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

  1. ツール→アドオンへ移動

  2. AnkiConnectを選択し、 Configをクリックします

  3. デフォルト設定はほとんどのユーザーにとって問題なく動作するはずです

🚀 クイックスタート

オプション 1: Claude Desktop と併用する (推奨)

  1. パッケージをインストールする

    npm install -g @arielbk/anki-mcp
  2. Claudeデスクトップの設定

    Claude Desktop 構成ファイルを編集します。

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

    次の構成を追加します。

    {
      "mcpServers": {
        "anki": {
          "command": "anki-mcp",
          "args": []
        }
      }
    }
  3. Claudeデスクトップを再起動します

  4. ぜひ使い始めてください!

    • AnkiがAnkiConnectを有効にして実行されていることを確認してください

    • クロードに質問する: 「私の 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コード拡張機能

  • カスタム MCP クライアント: MCP SDKを使用して独自のクライアントを構築します

stdio トランスポートの場合は、次を実行します。

node dist/index.js

🎮 使用例

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...

🔧 利用可能なツールとリソース

この MCP サーバーは、次の機能を通じて Anki コレクションへの包括的なアクセスを提供します。

📚デッキ管理

  • 統計情報を含むすべてのデッキを一覧表示する

  • 新しいデッキを作成する

  • デッキの名前変更と削除

  • デッキ構成を取得する

🗂️カード操作

  • 検索条件でカードを探す

  • 回答カード(復習のシミュレーション)

  • カード情報と統計情報を取得する

  • カードの一時停止/一時停止解除

  • 一括カード操作

📝メモ管理

  • カスタムフィールドで新しいメモを追加する

  • 既存のメモを更新する

  • メモを削除する

  • 検索クエリでメモを検索する

  • 一括メモ操作

📊統計と分析

  • デッキ統計とパフォーマンス指標

  • カードの使いやすさと間隔データ

  • 履歴とパターンを確認する

  • 学習進捗の洞察

🎨メディアとモデル

  • ノートの種類とフィールドの定義にアクセスする

  • メディアファイル管理

  • テンプレートのカスタマイズサポート

🔍高度な機能

  • Ankiの検索構文を使用した複雑な検索クエリ

  • 効率化のためのバッチ操作

  • Ankiとのリアルタイム同期

  • エラー処理と検証

  • 機能別にグループ化された整理された API メソッド (カード、デッキ、メモ、モデル、統計、メディアなど)

  • 完全な型安全性を備えた115のAnkiConnect APIメソッドすべてへの直接アクセス

🛠 開発

# 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を手動で起動する必要があります。

クロードデスクトップの詳細設定

上級ユーザーの場合は、追加のパラメータを渡すことができます。

{
  "mcpServers": {
    "anki": {
      "command": "anki-mcp",
      "args": ["--verbose"],
      "env": {
        "ANKI_CONNECT_HOST": "localhost",
        "ANKI_CONNECT_PORT": "8765"
      }
    }
  }
}

トラブルシューティング

よくある問題:

  • 「AnkiConnectへの接続に失敗しました」 : Ankiが実行されており、AnkiConnectプラグインがインストールされていることを確認してください

  • 「デッキが見つかりません」 : Ankiに少なくとも1つのデッキがあることを確認してください

  • クロードが応答しません: 構成変更後にクロードデスクトップを再起動してください

  • 権限エラー: npm list -g @arielbk/anki-mcpでグローバル npm インストールが正しく動作していることを確認してください

🤝 貢献する

貢献を歓迎します!ご協力をお願いします:

  1. リポジトリをフォークする

  2. 機能ブランチを作成する

  3. 変更を加える

  4. 該当する場合はテストを追加する

  5. プルリクエストを送信する

📜 ライセンス

MIT - 詳細についてはLICENSEファイルを参照してください。

🙏 謝辞


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

Available Tools

7 tools
anki_operationsD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesAnki utility operation
deckNameNoDeck name to export
filePathNoFile path for export/import
includeSchedNoInclude scheduling in export
filenameNoMedia filename
mediaDataNoBase64 encoded media data
mediaUrlNoURL to download media from
patternNoPattern to match media files

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_analyticsD
ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYesAnalytics scope
deckNameNoDeck name for deck-specific stats
cardIdsNoCard IDs for detailed analysis
startTimestampNoStart timestamp for review history
wholeCollectionNoGet whole collection stats vs current deck

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_media_fileD
ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesMedia filename referenced in Anki cards (e.g., "image.png")

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manage_decksD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesDeck management operation
deckNameNoDeck name
deckNamesNoDeck names (for batch operations)
deleteCardsNoDelete cards when deleting deck
cardIdsNoCard IDs to move
targetDeckNoTarget deck for moving cards
configIdNoConfig ID to apply

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manage_flashcardsD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe flashcard operation to perform
deckNameNoDeck name (for create operations)
modelNameNoNote type/model name (for create operations)
fieldsNoField name-value pairs (for create/update)
tagsNoTags to add/remove or set
notesNoArray of notes to create (for create_batch)
noteIdNoNote ID (for update/delete single note)
noteIdsNoNote IDs (for delete multiple)
queryNoAnki search query (for find operation)
includeDetailsNoInclude detailed note info (for find)
limitNoMax results to return (default: 50, recommended to prevent context overflow)
offsetNoNumber of results to skip for pagination (default: 0)
cardIdsNoCard IDs to get info for

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manage_modelsD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesModel management operation
modelNameNoModel/note type name
fieldsNoField names in order (for create)
templatesNoCard templates (for create)
cssNoCSS styling
isClozeNoIs cloze deletion type
fieldNameNoField name
newFieldNameNoNew field name (for rename)
fieldIndexNoField index position
templateNameNoTemplate name
templateNoTemplate content

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

study_sessionD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesStudy session operation
queryNoSearch query to find cards (for find_due)
cardIdsNoCard IDs to operate on
answersNoCard answers (for answer operation)
daysNoDays from today for due date (for reschedule)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 98 tool updatesv1.0.0
    • Removedadd_note
    • Removedadd_notes
    • Removedadd_tags_to_notes
    • Addedanki_operations
    • Removedanswer_cards
    • Removedapi_reflect
    • Removedcan_add_notes
    • Removedcard_reviews
    • Removedcards_to_notes
    • Removedchange_deck
    • Removedcheck_card_suspended
    • Removedcheck_cards_due
    • Removedcheck_cards_suspended
    • Removedclear_unused_tags
    • Removedclone_deck_config
    • Removedcreate_deck
    • Removedcreate_model
    • Removeddelete_decks
    • Removeddelete_media_file
    • Removeddelete_notes
    • Removedexport_package
    • Removedfind_and_replace_in_models
    • Removedfind_cards
    • Removedfind_notes
    • Removedforget_cards
    • Removedget_active_profile
    • Addedget_analytics
    • Removedget_cards_ease_factors
    • Removedget_cards_info
    • Removedget_cards_intervals
    • Removedget_cards_mod_time
    • Removedget_collection_stats_html
    • Removedget_latest_review_id
    • Removedget_media_dir_path
    • Addedget_media_file
    • Removedget_media_files_names
    • Removedget_num_cards_reviewed_by_day
    • Removedget_num_cards_reviewed_today
    • Removedget_profiles
    • Removedget_reviews_of_cards
    • Removedget_version
    • Removedgui_add_cards
    • Removedgui_answer_card
    • Removedgui_browse
    • Removedgui_check_database
    • Removedgui_current_card
    • Removedgui_deck_browser
    • Removedgui_deck_overview
    • Removedgui_deck_review
    • Removedgui_edit_note
    • Removedgui_exit_anki
    • Removedgui_import_file
    • Removedgui_select_card
    • Removedgui_select_note
    • Removedgui_selected_notes
    • Removedgui_show_answer
    • Removedgui_show_question
    • Removedgui_start_card_timer
    • Removedgui_undo
    • Removedimport_package
    • Removedinsert_reviews
    • Removedload_profile
    • Addedmanage_decks
    • Addedmanage_flashcards
    • Addedmanage_models
    • Removedmodel_field_add
    • Removedmodel_field_remove
    • Removedmodel_field_rename
    • Removedmodel_field_reposition
    • Removedmodel_field_set_description
    • Removedmodel_field_set_font
    • Removedmodel_field_set_font_size
    • Removedmodel_template_add
    • Removedmodel_template_remove
    • Removedmodel_template_rename
    • Removedmodel_template_reposition
    • Removedmulti
    • Removedrelearn_cards
    • Removedreload_collection
    • Removedremove_deck_config
    • Removedremove_empty_notes
    • Removedremove_tags_from_notes
    • Removedreplace_tags_in_notes
    • Removedrequest_permission
    • Removedretrieve_media_file
    • Removedsave_deck_config
    • Removedset_card_specific_values
    • Removedset_cards_due_date
    • Removedset_cards_ease_factors
    • Removedset_deck_config
    • Removedstore_media_file
    • Addedstudy_session
    • Removedsuspend_cards
    • Removedsync
    • Removedunsuspend_cards
    • Removedupdate_model_styling
    • Removedupdate_model_templates
    • Removedupdate_note
  2. 91 tool updates
    • First observedadd_note
    • First observedadd_notes
    • First observedadd_tags_to_notes
    • First observedanswer_cards
    • First observedapi_reflect
    • First observedcan_add_notes
    • First observedcard_reviews
    • First observedcards_to_notes
    • First observedchange_deck
    • First observedcheck_card_suspended
    • First observedcheck_cards_due
    • First observedcheck_cards_suspended
    • First observedclear_unused_tags
    • First observedclone_deck_config
    • First observedcreate_deck
    • First observedcreate_model
    • First observeddelete_decks
    • First observeddelete_media_file
    • First observeddelete_notes
    • First observedexport_package
    • First observedfind_and_replace_in_models
    • First observedfind_cards
    • First observedfind_notes
    • First observedforget_cards
    • First observedget_active_profile
    • First observedget_cards_ease_factors
    • First observedget_cards_info
    • First observedget_cards_intervals
    • First observedget_cards_mod_time
    • First observedget_collection_stats_html
    • First observedget_latest_review_id
    • First observedget_media_dir_path
    • First observedget_media_files_names
    • First observedget_num_cards_reviewed_by_day
    • First observedget_num_cards_reviewed_today
    • First observedget_profiles
    • First observedget_reviews_of_cards
    • First observedget_version
    • First observedgui_add_cards
    • First observedgui_answer_card
    • First observedgui_browse
    • First observedgui_check_database
    • First observedgui_current_card
    • First observedgui_deck_browser
    • First observedgui_deck_overview
    • First observedgui_deck_review
    • First observedgui_edit_note
    • First observedgui_exit_anki
    • First observedgui_import_file
    • First observedgui_select_card
    • First observedgui_select_note
    • First observedgui_selected_notes
    • First observedgui_show_answer
    • First observedgui_show_question
    • First observedgui_start_card_timer
    • First observedgui_undo
    • First observedimport_package
    • First observedinsert_reviews
    • First observedload_profile
    • First observedmodel_field_add
    • First observedmodel_field_remove
    • First observedmodel_field_rename
    • First observedmodel_field_reposition
    • First observedmodel_field_set_description
    • First observedmodel_field_set_font
    • First observedmodel_field_set_font_size
    • First observedmodel_template_add
    • First observedmodel_template_remove
    • First observedmodel_template_rename
    • First observedmodel_template_reposition
    • First observedmulti
    • First observedrelearn_cards
    • First observedreload_collection
    • First observedremove_deck_config
    • First observedremove_empty_notes
    • First observedremove_tags_from_notes
    • First observedreplace_tags_in_notes
    • First observedrequest_permission
    • First observedretrieve_media_file
    • First observedsave_deck_config
    • First observedset_card_specific_values
    • First observedset_cards_due_date
    • First observedset_cards_ease_factors
    • First observedset_deck_config
    • First observedstore_media_file
    • First observedsuspend_cards
    • First observedsync
    • First observedunsuspend_cards
    • First observedupdate_model_styling
    • First observedupdate_model_templates
    • First observedupdate_note

TDQS

D1.8/5.0

Scored across 7 tools

Disambiguation4/5

The tools have distinct purposes targeting different aspects of Anki functionality: operations, analytics, media, decks, flashcards, models, and study sessions. There is some potential overlap between 'anki_operations' and the more specific 'manage_' tools, but the separation is generally clear enough for an agent to distinguish them based on their names.

Naming Consistency3/5

The naming is mixed: 'anki_operations', 'get_analytics', and 'get_media_file' follow a verb_noun pattern, while 'manage_decks', 'manage_flashcards', and 'manage_models' use a verb_noun pattern with a consistent 'manage_' prefix, and 'study_session' is a noun_noun pattern. This inconsistency in conventions reduces predictability but remains readable.

Tool Count5/5

With 7 tools, the count is well-scoped for an Anki server, covering core areas like decks, flashcards, models, study sessions, analytics, media, and general operations. Each tool appears to earn its place without being excessive or insufficient for the domain.

Completeness3/5

The tool set covers key areas of Anki (decks, flashcards, models, study, analytics, media, operations), but without descriptions, it's unclear if there are gaps in CRUD/lifecycle coverage. For example, 'manage_flashcards' might imply create/update/delete, but specific tools for individual operations are missing, potentially leading to agent workarounds.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that enables AI assistants like Claude to interact with Anki flashcard decks, allowing users to create, manage, and update flashcards through natural language conversations.
    9
    44
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that enables AI assistants to interact with the Anki flashcard application for studying, deck management, and note creation. It supports natural language interaction for reviewing cards, searching content, and managing media files across local and remote environments.
    1,773 npm
    502
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI assistants to seamlessly manage Anki flashcards, decks, and templates through the AnkiConnect API. It supports intelligent querying, batch note creation, and detailed study progress analysis using natural language.
    4
    MIT