hyneq00 avatar

MindDory Brain

hyneq00/minddory-mcp

Connects Claude to MindDory's spaced-repetition vocabulary app so your AI conversations automatically build a study deck. As you chat in your target language, it captures new words and grammar mistakes into flashcards, syncs them to the MindDory mobile and web apps, and can quiz you on due cards. Exposes eleven tools: read your CEFR profile, due queue, known words, and active vocab; write new captures, log grammar errors, and adjust SM-2 intervals when you demonstrate or struggle with a word. Runs on streamable-http with OAuth magic-link auth. Read operations work on the free tier; spaced-repetition writes require Premium. Useful if you're learning a language through conversation and want your practice sessions to feed a real flashcard system without manual copy-paste.

tools
13
transport
HTTP
last updated
Aug 20, 2026

Install

From registry metadata
$ npx add-mcp https://api.minddory.com/v1/brain/mcp --name brain

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http brain https://api.minddory.com/v1/brain/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 13 tools

Verified live against the running server on Nov 6, 2026.

get_user_profileProfile snapshot: CEFR level, target/source languages, due card count, weak words, recent lookups. Pass `lang` to scope the snapshot to one learning language (for users learning several); omit it for the user's primary language.1 params

Profile snapshot: CEFR level, target/source languages, due card count, weak words, recent lookups. Pass `lang` to scope the snapshot to one learning language (for users learning several); omit it for the user's primary language.

Parameters* required
langstring
Optional ISO or BCP-47 tag (en, en-us, pt-br). Scopes the whole profile - level, due count, weak words - to that learning language. Omit for the user's primary language.
get_system_instructionsCall this at the START of every new conversation, before your first reply, to load the user's Minddory setup and your role as their proactive language partner: CEFR level, target/source languages, due-card count, weak words, and how to capture. The user connected Minddory to a...1 params

Call this at the START of every new conversation, before your first reply, to load the user's Minddory setup and your role as their proactive language partner: CEFR level, target/source languages, due-card count, weak words, and how to capture. The user connected Minddory to a...

Parameters* required
langstring
Optional ISO or BCP-47 tag of the language the user wants to practice in this conversation (en, en-us, de, pt-br). Defaults to the user's primary learning language.
get_known_wordsWords the user has verified known via flashcard practice. Paginated keyset on flashcards.id.3 params

Words the user has verified known via flashcard practice. Paginated keyset on flashcards.id.

Parameters* required
cursorstring
langstring
Language tag of the words: base ISO with an optional region (en, en-us, pt-br). Omit it and the user's own primary learning language is used.
limitinteger
get_queueCards due now and due within the next 24 hours.2 params

Cards due now and due within the next 24 hours.

Parameters* required
langstring
Language tag of the queue: base ISO with an optional region (en, en-us, pt-br). Omit it and the user's own primary learning language is used.
maxinteger
get_cardSingle card detail by word (case-insensitive). Returns translation, mastery, and last 10 events.2 params

Single card detail by word (case-insensitive). Returns translation, mastery, and last 10 events.

Parameters* required
langstring
Language tag of the word: base ISO with an optional region (en, en-us, pt-br). Omit it and the user's own primary learning language is used.
word*string
get_recent_activityEvent log slice with optional surface filter and keyset pagination on answers.id.3 params

Event log slice with optional surface filter and keyset pagination on answers.id.

Parameters* required
cursorstring
limitinteger
surfacestring
e.g. 'claude_mcp', 'app', 'cursor_mcp'
log_interactionAppend a generic interaction event to the answers log. Use for lookups, AI discussions, and reading-in-context signals.4 params

Append a generic interaction event to the answers log. Use for lookups, AI discussions, and reading-in-context signals.

Parameters* required
langstring
Language tag of the word: base ISO with an optional region (en, en-us, pt-br). Scoped on the base, so the variant the session instructions ask you to send always matches. Omit it and the user's own...
metadataobject
type*string
one of lookup · discussed · read_in_context
word*string
mark_demonstratedConfidence-weighted spaced-repetition boost when the user has used a word correctly: the card moves further out in the review schedule. Logs an answer row even if no flashcard exists.5 params

Confidence-weighted spaced-repetition boost when the user has used a word correctly: the card moves further out in the review schedule. Logs an answer row even if no flashcard exists.

Parameters* required
confidence*string
one of high · medium · low
contextstring
langstring
Language tag of the word: base ISO with an optional region (en, en-us, pt-br). Scoped on the base, so the variant the session instructions ask you to send always matches. Omit it and the user's own...
sourcestring
word*string
mark_struggledSpaced-repetition degrade for a word the user just got wrong: the card comes back sooner. ease_factor drops, interval resets, repetitions reset.4 params

Spaced-repetition degrade for a word the user just got wrong: the card comes back sooner. ease_factor drops, interval resets, repetitions reset.

Parameters* required
contextstring
langstring
Language tag of the word: base ISO with an optional region (en, en-us, pt-br). Scoped on the base, so the variant the session instructions ask you to send always matches. Omit it and the user's own...
sourcestring
word*string
capture_wordCapture a target-language word or phrase to the user's Minddory vocabulary deck (a flashcard in the "Chat Discoveries" folder when the word is new, otherwise a context encounter). The user connected Minddory so their assistant builds their deck from real conversations, so use...6 params

Capture a target-language word or phrase to the user's Minddory vocabulary deck (a flashcard in the "Chat Discoveries" folder when the word is new, otherwise a context encounter). The user connected Minddory so their assistant builds their deck from real conversations, so use...

Parameters* required
contextstring
The sentence where the word appeared.
glossstring
Short translation in the source language. Strongly recommended.
langstring
REQUIRED. ISO code of the captured word's own language (en, de, es, zh, ...). The call is rejected if omitted — never leave it blank or guess from prior context.
source_langstring
ISO code of the user's native/source language. Optional — defaults to the source language of the user's existing deck.
wordstring
Single-word capture (legacy). Use `words` for more than one.
wordsarray
Batch capture. Each entry is {word, gloss?, context?}. Prefer this when capturing 2+ words from the same message.
capture_grammar_mistakeLog a grammar mistake the user just made in the target language, creating a grammar point in their Minddory deck. Use it proactively whenever the user writes a target-language sentence with a clear, correctable error (wrong tense, agreement, word_choice, word_order, missing or...5 params

Log a grammar mistake the user just made in the target language, creating a grammar point in their Minddory deck. Use it proactively whenever the user writes a target-language sentence with a clear, correctable error (wrong tense, agreement, word_choice, word_order, missing or...

Parameters* required
correction*string
The corrected sentence/phrase.
error_typestring
One of: tense, agreement, word_choice, word_order, article, preposition, spelling, pluralization, conjugation, gender, other.
explanationstring
Short rationale (1-2 sentences). Optional.
langstring
ISO target language code.
user_text*string
The exact erroneous sentence/phrase the user wrote.
get_active_vocabGet the user's most actively encountered target-language words (from past capture_word + log_interaction events), ranked by frequency over a lookback window. Use to surface "frontier" words the user keeps touching when they ask "what should I learn next" or when you want conte...3 params

Get the user's most actively encountered target-language words (from past capture_word + log_interaction events), ranked by frequency over a lookback window. Use to surface "frontier" words the user keeps touching when they ask "what should I learn next" or when you want conte...

Parameters* required
langstring
Language tag (en, en-us, pt-br). Matching is on the base code, so a variant finds encounters logged under any sibling. Omit it to include ALL languages - unlike the deck tools, this one is a cross-...
limitinteger
Default 20.
lookback_daysinteger
Default 30.
check_wordsBatch lookup: for a list of target-language words, tell me which ones are already in the user's Minddory deck and how well they know each. Use this BEFORE glossing or capturing vocabulary from a message - it answers "which of these are actually new to this user" in one call, s...2 params

Batch lookup: for a list of target-language words, tell me which ones are already in the user's Minddory deck and how well they know each. Use this BEFORE glossing or capturing vocabulary from a message - it answers "which of these are actually new to this user" in one call, s...

Parameters* required
langstring
Language tag of the words: a base ISO code with an optional region (en, en-us, es-419). Three-subtag tags such as zh-Hant-TW are not accepted. Omit it and the user's own primary learning language i...
words*array
The words or phrases to check, as written in the target language.

Sponsors

Readme

MindDory MCP Server

The official Model Context Protocol server for MindDory, an AI flashcard and vocabulary-learning app.

Connect MindDory to Claude (or any MCP-compatible client) and your AI becomes a language study partner: as you chat in a language you are learning, it captures the new words and phrases you meet into spaced-repetition flashcards, logs grammar mistakes for review, and can quiz you on whatever is due today — all scoped to your CEFR level and target language. Everything syncs with the MindDory apps (iOS, Android, and web at app.minddory.com).

It is transparent and opt-in: you connect MindDory yourself, and on its first reply the assistant tells you it is connected and will add new vocabulary as you chat. It never captures silently, and it answers honestly if you ask what it has saved.

Turn your AI conversations into spaced-repetition flashcards

This is the short version of what this server is for.


View the full README on GitHub

Details

Repository
github.com/hyneq00/minddory-mcp
Website
minddory.com
Transport
HTTP
Registry
MCP registry, active
Prompts
1
Tools verified
Nov 6, 2026