An MCP server for Anki
Communication & Collaboration
serverAnki
Anki MCP Server
A Model Context Protocol (MCP) server that enables LLMs to interact with Anki flashcard software through AnkiConnect.
Features
Tools
list_decks
- List all available Anki deckscreate_deck
- Create a new Anki deckcreate_note
- Create a new note (Basic or Cloze)batch_create_notes
- Create multiple notes at oncesearch_notes
- Search for notes using Anki query syntaxget_note_info
- Get detailed information about a noteupdate_note
- Update an existing notedelete_note
- Delete a notelist_note_types
- List all available note typescreate_note_type
- Create a new note type
Prerequisites
- Anki installed on your system
- AnkiConnect add-on installed in Anki
For detailed installation instructions, see llms-install.md.
Development
Setup
- Install dependencies:
npm install
- Build the server:
npm run build
- For development with auto-rebuild:
npm run watch
Testing
Run the test suite:
npm test
This executes tests for:
- Server initialization
- AnkiConnect communication
- Note operations (create/read/update/delete)
- Deck management
- Error handling
Debugging
Since MCP servers communicate over stdio, we recommend using the MCP Inspector:
npm run inspector
This provides a browser-based interface for:
- Monitoring MCP messages
- Testing tool invocations
- Viewing server logs
- Debugging communication issues
Example Usage
- Create a new deck:
Create a new Anki deck called "Programming"
- Add a basic card:
Create an Anki card in the "Programming" deck with:
Front: What is a closure in JavaScript?
Back: A closure is the combination of a function and the lexical environment within which that function was declared.
- Add a cloze deletion card:
Create a cloze card in the "Programming" deck with:
Text: In JavaScript, {{c1::const}} declares a block-scoped variable that cannot be {{c2::reassigned}}.
Contributing
- Fork the repository
- Create your feature branch
- Run tests:
npm test
- Submit a pull request
Credits
Icon courtesy of macOS Icons
License
MIT License - see LICENSE file for details
前提条件
- •サーバーのドメインに精通している
- •関連技術の基本的な理解
- •Communication & Collaborationの知識