anki-mcp
一个模型上下文协议 (MCP) 服务器,用于通过 AnkiConnect 插件与 Anki 抽认卡进行交互。该服务器将 AnkiConnect 操作以 MCP 工具的形式公开,并组织成逻辑服务。
先决条件
Anki 桌面应用程序
在 Anki 中安装并配置 AnkiConnect 插件
Python 3.8+
uv
(用于运行和安装依赖项,可选但推荐)
安装
用法
要运行 MCP 服务器:
服务器将启动并监听 MCP 请求,通常与http://127.0.0.1:8765
上的 AnkiConnect 交互。
检查服务器
您可以使用 MCP 检查器查看可用的工具:
MCP 客户端配置
如果您要将其与 MCP 客户端(例如 AI 助手框架)集成,则需要对其进行配置以找到此服务器。以下是示例配置代码片段:
可用的 MCP 工具
此 MCP 服务器通过按服务分组的工具提供对 Anki 功能的访问。工具名称与 AnkiConnect 操作直接对应。
甲板服务( deck.*
)
deck.deckNamesAndIds
:获取甲板名称及其各自 ID 的完整列表。deck.getDeckConfig
:获取给定甲板名称的配置组对象。deck.deckNames
:获取当前用户的卡组名称的完整列表。deck.createDeck
:创建一个新的空牌组。deck.deleteDecks
:删除指定的甲板。deck.changeDeck
:将卡片移至不同的牌组。deck.saveDeckConfig
:保存甲板配置组。
注释服务( note.*
)
note.findNotes
:返回给定 Anki 搜索查询的注释 ID。note.notesInfo
:返回指定注释 ID 的信息。note.getNoteTags
:获取特定笔记 ID 的标签。note.addNote
:创建新注释。note.updateNoteFields
:修改现有注释的字段。note.deleteNotes
:删除指定的注释。note.addNotes
:创建多个注释。note.addTags
:为指定的注释添加标签。note.removeTags
:从指定注释中删除标签。note.updateNote
:修改现有注释的字段和/或标签。
卡服务( card.*
)
card.findCards
:返回给定 Anki 搜索查询的卡片 ID。card.cardsInfo
:返回指定卡 ID 的信息。card.cardsToNotes
:返回给定卡片 ID 的注释 ID。card.areSuspended
:检查指定的卡是否被暂停。card.cardsModTime
:返回指定卡 ID 的修改时间。card.suspended
:检查单张卡是否被暂停。card.suspend
:暂停指定的卡。card.unsuspend
:取消暂停指定的卡。card.setSpecificValueOfCard
:设置单张卡的具体值(谨慎使用)。
模型服务( model.*
)(注释类型)
model.modelNamesAndIds
:获取模型(注释类型)名称及其 ID 的完整列表。model.findModelsByName
:获取提供的模型名称的模型定义。model.modelFieldNames
:获取给定模型名称的字段名称。model.modelTemplates
:获取指定模型的每个卡片的模板内容。model.modelStyling
:获取给定模型名称的 CSS 样式。model.createModel
:创建一个新模型(注释类型)。model.updateModelTemplates
:修改现有模型的模板。model.updateModelStyling
:修改现有模型的 CSS 样式。model.modelFieldAdd
:向现有模型添加新字段。model.modelFieldRemove
:从现有模型中删除一个字段。
媒体服务( media.*
)
media.retrieveMediaFile
:检索媒体文件的 base64 编码内容。media.getMediaFilesNames
:获取与 glob 模式匹配的媒体文件的名称。media.storeMediaFile
:存储媒体文件(来自 base64、路径或 URL)。media.deleteMediaFile
:删除指定的媒体文件。
发展
为开发进行设置:
运行测试
待办事项
[ ] 完成添加所有 AnkiConnect 工具
Related MCP Servers
- AsecurityAlicenseAqualityA server implementation that connects to a locally running Anki, enabling card review and creation through the Model Context Protocol.Last updated -4165MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables LLMs to interact with Anki flashcard software through AnkiConnect, allowing for creation and management of flashcards, decks, and note types.Last updated -47130
- -securityAlicense-qualityA Model Context Protocol server that allows LLMs to interact with Anki flashcard software, enabling functions like creating decks, adding notes, searching cards, and managing flashcard content through natural language.Last updated -471MIT License
- -securityAlicense-qualityA Model Context Protocol server that bridges Claude AI with Anki flashcard app, allowing users to create and manage flashcards using natural language commands.Last updated -4MIT License