anki-multidefine-mcp
Tell Claude to add a word to Anki. It looks it up in a real monolingual dictionary, formats the card, downloads audio, and creates the note — all in one message.
"Add a card for 'Schadenfreude' to my German deck."
Works for English, German, Russian, French, and Azerbaijani. Definitions come from Oxford, DWDS, Wiktionary, and Larousse — the same sources the MultiDefine Anki add-on uses.
What you need before starting
| Requirement | Notes |
|---|---|
| Anki desktop app | Free, runs locally |
| AnkiConnect add-on | Lets Claude talk to Anki |
| MultiDefine add-on | Provides the note types Claude writes to |
| uv | Runs this server — no separate install step needed |
| Claude Desktop | The AI client |
Setup
Quickest path — drag and drop (Claude Desktop on macOS/Windows)
- Download anki-multidefine-mcp.mcpb
- Open Claude Desktop → Settings → Extensions → drag the file in (or use Install Extension and select it)
- Claude Desktop installs the server automatically
You still need to install the Anki add-ons (Step 2 below) and the Anki MCP server.
Manual setup (all platforms / other MCP clients)
Step 1 — Install uv
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Or via Homebrew: brew install uv
Step 2 — Install the Anki add-ons
Open Anki → Tools → Add-ons → Get Add-ons and enter:
2055492827
That installs AnkiConnect. Then install MultiDefine:
- Download multidefine.ankiaddon
- In Anki: Tools → Add-ons → Install from file → select the downloaded file
Restart Anki after both are installed.
Step 3 — Configure Claude Desktop
Open (or create) this file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Paste the following (merge with any existing mcpServers block if you have one):
{
"mcpServers": {
"anki-multidefine": {
"command": "uvx",
"args": ["anki-multidefine-mcp"]
},
"anki-mcp": {
"command": "npx",
"args": ["-y", "@ankimcp/anki-mcp-server", "--stdio"],
"env": {
"ANKI_CONNECT_URL": "http://localhost:8765"
}
}
}
}
Step 4 — Restart Claude Desktop
Keep Anki open — AnkiConnect only responds while Anki is running.
Quick prompts to try
Copy any of these directly into Claude:
Add a card for "Haus" to my German deck.
Look up "schadenfreude" in English and add it to my Vocabulary deck.
Add cards for these Russian words to my Russian deck: уважение, доверие, свобода.
What German words have I added in the last week?
How it works
When you ask Claude to add a word, it:
- Calls
define(word, language)— looks up the word in the monolingual dictionary - Reads
multidefine://schema— knows exactly which Anki fields to fill and how - Calls
findNotes— skips the card if it already exists in the deck - Calls
storeMediaFilewith the audio URL — downloads pronunciation into Anki's media folder - Calls
addNotewith theMultiDefine_{Language}note type — card appears in your deck
No UI to learn. No form to fill. Just describe what you want.
Supported languages
| Key | Dictionary | Audio | IPA | Verb forms |
|---|---|---|---|---|
english |
Oxford Learner's | Yes | Yes | Yes |
german |
DWDS | Yes | Yes | Yes |
russian |
ru.Wiktionary | Yes | Yes | — |
french |
Larousse | Yes | — | — |
azerbaijani |
AZLEKS | — | — | — |
Claude infers the language from context — you rarely need to specify the key explicitly.
Troubleshooting
Claude says it can't connect to Anki — Anki must be open and AnkiConnect installed. Verify by visiting http://localhost:8765 in your browser; you should see a plain-text AnkiConnect response.
"Note type not found" — MultiDefine must be installed in Anki so the MultiDefine_German (etc.) note types exist. Check via Tools → Manage Note Types.
"Word not found" — The word isn't in that dictionary. Try a different spelling or language.
Duplicate card — Claude checks first and tells you if the card already exists. Ask it to update the existing note if you want.
uvx not found — Claude Desktop may not inherit your shell PATH. Use the full path: run which uvx in your terminal, then replace "uvx" in the config with that path (e.g. /Users/you/.local/bin/uvx).
MCP tools exposed
| Tool | Description |
|---|---|
define(word, language) |
Look up a word. Returns definitions, IPA, audio URL, verb forms. |
languages() |
List supported language keys and their capabilities. |
Resource: multidefine://schema — field mapping and workflow rules Claude reads automatically before creating notes.
For developers
See AGENTS.md for the provider contract, word_info schema, and instructions for adding a new language.
See CONTRIBUTING.md for setup, smoke tests, and PR checklist.
License: GPL v2. providers/oxford.py is BSD 3-Clause (Near Huscarl).
Release files for anki-multidefine-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| anki_multidefine_mcp-0.1.1.tar.gz | 31.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| anki_multidefine_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 65.2 kB
Release files / anki_multidefine_mcp-0.1.1.tar.gz
| Download URL | anki_multidefine_mcp-0.1.1.tar.gz |
|---|---|
| Size | 31.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
34fb91562cace30827b559efc8334a408dec091a1788dfe0a4ef2a5072b718c1
|
|
BLAKE2b-256 checksum How to use checksums |
9e427718242923cc3a0f3c67da964a90581d93e1163c3ac558f7926a88753ed0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|
Release files / anki_multidefine_mcp-0.1.1-py3-none-any.whl
| Download URL | anki_multidefine_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 34.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca19eb1106acc2a4f3e7888e34105f48dad41b0b396949449d7d0fd6fe884728
|
|
BLAKE2b-256 checksum How to use checksums |
fcb1470212b35c8250bdbf4761707ad4e2c878317001029e5acce777e99d8af0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|