loonskai/anki-mcp-server
3.3
If you are the rightful owner of anki-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Anki MCP Server is a protocol server that integrates with the Anki desktop application to provide enhanced functionality through the Anki-Connect plugin.
Tools
card.cardsInfo
Retrieve information about specific cards.
deck.deckNames
Get the names of all decks.
graphical.guiBrowse
Open the Anki browser interface.
miscellaneous.version
Get the version of the Anki MCP Server.
model.findModelsByName
Find models by their name.
Anki MCP Server
Requirements
- Node.js 18 or newer. Download Node.js
- Anki desktop application. Download Anki
- Anki-Connect plugin. Install Anki-Connect
You need to have Anki desktop application up and running to use Anki MCP server.
MCP Installation
{
"mcpServers": {
"anki": {
"command": "npx",
"args": [
"@loonskai/anki-mcp-server@latest"
]
}
}
}
Progress Log
- Run with NPM
- Run with Docker
- Tools configuration
- Add tests
Tools
- card.answerCards
- card.areDue
- card.areSuspended
- card.cardsInfo
- card.cardsModTime
- card.cardsToNotes
- card.findCards
- card.forgetCards
- card.getEaseFactors
- card.getIntervals
- card.relearnCards
- card.setDueDate
- card.setEaseFactors
- card.setSpecificValueOfCard
- card.suspend
- card.suspended
- card.unsuspend
- deck.changeDeck
- deck.cloneDeckConfigId
- deck.createDeck
- deck.deckNames
- deck.deckNamesAndIds
- deck.deleteDecks
- deck.getDeckConfig
- deck.getDeckStats
- deck.getDecks
- deck.removeDeckConfigId
- deck.saveDeckConfig
- deck.setDeckConfigId
- graphical.guiAddCards
- graphical.guiAnswerCard
- graphical.guiBrowse
- graphical.guiCheckDatabase
- graphical.guiCurrentCard
- graphical.guiDeckBrowser
- graphical.guiDeckOverview
- graphical.guiDeckReview
- graphical.guiEditNote
- graphical.guiExitAnki
- graphical.guiImportFile
- graphical.guiSelectCard
- graphical.guiSelectNote
- graphical.guiSelectedNotes
- graphical.guiShowAnswer
- graphical.guiShowQuestion
- graphical.guiStartCardTimer
- graphical.guiUndo
- media.deleteMediaFile
- media.getMediaDirPath
- media.getMediaFilesNames
- media.retrieveMediaFile
- media.storeMediaFile
- miscellaneous.apiReflect
- miscellaneous.exportPackage
- miscellaneous.getActiveProfile
- miscellaneous.getProfiles
- miscellaneous.importPackage
- miscellaneous.loadProfile
- miscellaneous.multi
- miscellaneous.reloadCollection
- miscellaneous.requestPermission
- miscellaneous.sync
- miscellaneous.version
- model.createModel
- model.findAndReplaceInModels
- model.findModelsById
- model.findModelsByName
- model.modelFieldAdd
- model.modelFieldDescriptions
- model.modelFieldFonts
- model.modelFieldNames
- model.modelFieldRemove
- model.modelFieldRename
- model.modelFieldReposition
- model.modelFieldSetDescription
- model.modelFieldSetFont
- model.modelFieldSetFontSize
- model.modelFieldsOnTemplates
- model.modelNames
- model.modelNamesAndIds
- model.modelStyling
- model.modelTemplateAdd
- model.modelTemplateRemove
- model.modelTemplateRename
- model.modelTemplateReposition
- model.modelTemplates
- model.updateModelStyling
- model.updateModelTemplates
- note.addNote
- note.addNotes
- note.addTags
- note.canAddNotes
- note.canAddNotesWithErrorDetail
- note.clearUnusedTags
- note.deleteNotes
- note.findNotes
- note.getNoteTags
- note.getTags
- note.notesInfo
- note.notesModTime
- note.removeEmptyNotes
- note.removeTags
- note.replaceTags
- note.replaceTagsInAllNotes
- note.updateNote
- note.updateNoteFields
- note.updateNoteModel
- note.updateNoteTags
- statistic.cardReviews
- statistic.getCollectionStatsHTML
- statistic.getLatestReviewID
- statistic.getNumCardsReviewedByDay
- statistic.getNumCardsReviewedToday
- statistic.getReviewsOfCards
- statistic.insertReviews