Enables large language models to create and manage Anki flashcards through the AnkiConnect API.
Anki Flashcard Management via MCP Server
A Model Context Protocol (MCP) server that enables LLMs to interact with Anki flashcard software through the AnkiConnect API.
Features
- Create new decks in Anki
- Add notes to existing decks
- List available decks and note models
- Search for notes using Anki's search syntax
- Get detailed information about note models and their fields
- Bulk add multiple notes at once
Prerequisites
- Node.js (v14 or later)
- Anki with the AnkiConnect add-on installed
- A Model Context Protocol compatible client (such as Claude with Anthropic MCP support)
Installation
- Make sure you have Anki installed with the AnkiConnect add-on
- Install AnkiConnect by going to Tools > Add-ons > Get Add-ons and entering code:
2055492159
- Clone this repository:
bash
git clone https://github.com/yourusername/anki-mcp-server.git
cd anki-mcp-server
- Install dependencies:
bash
npm install
- Build the project:
bash
npm run build
Usage
- Make sure Anki is running on your computer with AnkiConnect enabled
- Start the MCP server:
bash
npm start
- Connect your MCP client (e.g., Claude) to this server
Available Tools
The server provides the following tools to MCP clients:
- listDecks: Get a list of all decks in Anki
- listModels: Get a list of all note models/types in Anki
- createDeck: Create a new deck in Anki
- getModel: Get details about a specific note model/type
- addNote: Add a single note to a deck
- addNotes: Add multiple notes at once
- searchNotes: Search for notes using Anki's search syntax
Examples
Create a New Deck
{
"name": "createDeck",
"arguments": {
"name": "My New Deck"
}
}
Add a Note
{
"name": "addNote",
"arguments": {
"deckName": "My New Deck",
"modelName": "Basic",
"fields": {
"Front": "What is the capital of France?",
"Back": "Paris"
},
"tags": ["geography", "europe"]
}
}
Search Notes
{
"name": "searchNotes",
"arguments": {
"query": "deck:\"My New Deck\" tag:geography"
}
}
Configuration
The server configuration is in the config
object in src/index.ts
. You can modify:
ankiConnectUrl
: URL for the AnkiConnect API (default: http://localhost:8765
)
apiVersion
: API version for AnkiConnect (default: 6
)
defaultDeckName
: Default deck to use if none specified (default: Default
)
Troubleshooting
- Cannot connect to Anki
- Make sure Anki is running
- Check that AnkiConnect add-on is installed and working
- Verify that the AnkiConnect URL is correct (default: http://localhost:8765)
- Permission issues with AnkiConnect
- AnkiConnect may prompt for permission when the server tries to add cards. Look for a popup in Anki.
License
MIT License
About
Anki MCP Server to allow LLMs to create and manage Anki decks via Anki Connect
Resources
Readme
License
MIT license
Activity
Stars
1 star
Watchers
1 watching
Forks
1 fork
Report repository
Releases
No releases published
Packages 0
No packages published
Languages