Skip to main content
Glama

🧠 Anki MCP

NPM 包 yanki-connect 许可证:MIT

用人工智能改变你的 Anki 抽认卡体验!这款MCP(模型上下文协议)服务器将你的 Anki 抽认卡集与 Claude 等人工智能助手连接起来,让你能够自然地讨论你的学习资料。

🚀你能做什么?

想象一下,有一位 AI 导师了解你的全部抽认卡,并且可以:

📚互动学习

  • “考考我三天没见过的日语词汇”

  • “用我医疗卡组中的挑战卡来测试我”

  • “给我看看我最近遇到困难的卡片”

✨智能内容创作

  • “用图表制作关于光合作用的抽认卡”

  • “将此 PDF 章节转换为间隔重复卡片”

  • “从我的课堂笔记中生成完形填空卡”

🔍强大的分析功能

  • “我最难理解的是哪些主题?”

  • “显示我上个月的学习模式”

  • “不同类型的卡的留存率是多少?”

🎯批量操作

  • “给我所有的化学卡片都贴上‘备考’的标签”

  • “将留存率低的卡片移至密集复习卡组”

  • “查找并修复我牌组中的重复卡牌”

Related MCP server: Anki MCP Server

🎯 功能

  • 完全 Anki 集成:通过所有 115 种 AnkiConnect API 方法完全访问卡片组、卡片、笔记和统计数据

  • 对话界面:通过人工智能助手发出自然语言命令

  • 批量操作:同时高效管理数千张卡

  • 实时统计:了解您的学习进度

  • 媒体支持:处理卡片中的图像、音频和其他媒体

  • 高级查询:使用复杂的搜索条件查找卡片

  • 类型安全:具有全面错误处理的全类型 API

🛠 技术栈

  • Node.js :运行环境(要求 18+)

  • TypeScript :类型安全和开发者体验

  • MCP SDK :模型上下文协议实现

  • yanki-connect :🙏全类型、同构的 AnkiConnect API 客户端

  • tsup :快速 TypeScript 打包器

  • PNPM :高效的包管理器

特别感谢yanki-connect库提供强大的 AnkiConnect 接口来支持此集成!

📋 先决条件

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 桌面

    编辑您的 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

    • 询问 Claude: “给我看看我的 Anki 卡组”或“用 5 张卡牌测试我”

**💡 专业提示:您可以通过向 Claude 询问一些简单的问题来测试您的设置,例如“我有多少个 Anki 牌组?”或“我最大的牌组里有什么?”

选项 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

🎮 使用示例

一旦配置了 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。

Claude Desktop高级配置

对于高级用户,您可以传递额外的参数:

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

故障排除

常见问题:

  • “无法连接到 AnkiConnect” :确保 Anki 正在运行并且 AnkiConnect 插件已安装

  • “未找到牌组” :请确保 Anki 中至少有一个牌组

  • Claude 没有响应:配置更改后重新启动 Claude Desktop

  • 权限错误:检查全局 npm install 是否与npm list -g @arielbk/anki-mcp正确运行

🤝 贡献

欢迎投稿!请:

  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