Winnie Yeung/jap-vocab-anki-mcp-server
Built by Metorial, the integration platform for agentic AI.
Winnie Yeung/jap-vocab-anki-mcp-server
Server Summary
List available decks
View cards in decks
Add new cards
Review cards with spaced repetition
Import Japanese vocabulary with readings and meanings
Add sample sentences to Japanese vocabulary cards
Track review history and learning progress
A Model Context Protocol server implementation for interacting with Anki decks programmatically. This server allows Language Models to interact with Anki through a standardized interface, with special support for Japanese language learning.
This is vibe-coded with Cursor with Claude 3.5 Sonnet.
Here's a complete workflow showing how to use Claude to enhance your Japanese vocabulary cards with sample sentences.
First, ask Claude to create practice exercises using the study_japanese_vocab_prompt
:
Claude will look through your recently reviewed vocabulary and create contextual sentences with blanks to test your understanding.
Next, use the vocab_sentences_json_prompt
to convert these sentences into a structured format:
Claude will transform the sentences into a JSON dictionary mapping each vocabulary word to its sample sentences.
Finally, use the update_notes_with_sentences
tool to add these sentences to your Anki cards:
The sentences will be added to the reading field of each vocabulary card, providing more context for your studies.
After the update, your cards will include the new sample sentences:
This workflow helps you:
git clone https://github.com/vionwinnie/jap-vocab-anki-mcp-server.git
cd jap-vocab-anki-mcp-server
Make sure Anki is not running (to avoid database locks)
Set the path to your Anki collection (optional):
export ANKI_COLLECTION_PATH="/path/to/your/collection.anki2"
python -m anki_mcp.server
anki://decks
- List all available Anki decksanki://deck/{deck_name}/cards
- List all cards in a specific deckanki://recent/reviewed
- View cards reviewed in the last 24 hoursanki://recent/learned
- View cards learned (graduated from new) in the last 24 hoursadd_card(deck_name: str, front: str, back: str)
- Add a new card to a deckreview_card(card_id: int, ease: int)
- Review a card with a specific ease (1-4)get_card_history(card_id: int)
- Get detailed review history for a specific cardimport_japanese_vocab(csv_path: str, deck_name: str, tags: str = None)
- Import Japanese vocabulary from CSVupdate_notes_with_sentences(vocab_sentences: Dict[str, List[str]], deck_name: str = "Try! N3 Vocab")
- Add sample sentences to vocabulary notesget_deck_review_history(deck_name: str)
- Get review history for all cards in a deck within the past 24 hourscreate_deck_prompt(deck_name: str)
- Get help creating a new deckreview_history_prompt()
- Get help analyzing review historystudy_japanese_vocab_prompt()
- Get help with Japanese vocabulary studyvocab_sentences_json_prompt()
- Generate JSON dictionary mapping vocab to sample sentencesThe server expects a note type called "Japanese (recognition)" with the following fields:
MIT License