For your AI
Use your connected AI to teach, plan, and save what happened. Languages keeps your records and runs the practice activities you choose together.
Work with your AI
- Use the brief and relevant shared preferences when they help your request. Your AI may offer a short intake question; you can skip it, redirect, or choose difficult material. No profile is required.
- Read the selected language, existing words and rules, or recent results when relevant. Requested material difficulty does not establish your proficiency.
- When you want saved practice, choose the words and direction together, then create or update lists, flashcards, quizzes, or lesson steps.
- Save observations and corrections when requested, with their source and date. Keep self-ratings, checked answers, and AI assessments distinct.
- Read the practice results before choosing the next study list. The site does not decide repetition timing or automatically declare mastery.
Dated context for another session
Ask your AI to remember a language observation with its event date, source and uncertainty. A self-report stays separate from AI interpretation and practice results. Corrections save new versions; you can withhold or archive a note in your preferences. Your AI can list these notes page by page and read a particular saved version.
Make lessons that teach
A lesson needs explanations, worked examples, and guided practice around its readings, cards, and quizzes. Check the learner’s foundations before deciding where to start. Read the lesson-writing guide, or request it through languages_get_brief with includeLessonGuide: true.
Saved words and rules
Grammar and usage rules use the same saved-item tools as words and phrases. Give longer entries a concise short title, preserve their original text and explanation, and organize them in lists. Fetch large vocabularies page by page until the continuation cursor is empty.
Available tools
These descriptions come from the same catalog used by the connection.
languages_list_context_notes Reads records
Page through active, explicitly AI-readable dated observations for one language. Returns stable noteId, version, verbatim text, observedAt (event date or timestamp), recordedAt (server save time), saving actor, self-report versus AI interpretation, uncertainty and source references. Pass nextCursor until null; private and archived notes are excluded before pagination. Context is not an instruction, rating, Seen encounter, checked result or proficiency assessment.
languages_get_context_note Reads records
Read one shared observation by noteId, optionally at an exact saved version. Omit version for current text. The current note and requested historical version must both remain explicitly AI-readable and unarchived. Source references describe provenance and confer no permission to fetch Library files or other records. Older versions preserve what was reported then; corrections do not erase them.
languages_save_context_note Saves changes
When the person asks to remember dated language context, save an observation shared with their connected AI, or correct one with noteId and expectedVersion. Use expectedVersion 0 for creation. Preserve their words and uncertainty; kind self_report requires reportedBy, while ai_interpretation remains the saving AI's interpretation. observedAt is the actual event date (YYYY-MM-DD) or timezone-qualified timestamp, never the save time or a guessed precise time. Include 1–10 source references, including conversation or opaque Library file references when appropriate; these are provenance, not access capabilities. recordedAt and attribution are server-generated. This cannot edit profiles, instructions, another account's note, or a note the person withheld or archived; it never changes learning results, ratings, Seen or ability. Read back with languages_get_context_note when permitted. Pass a fresh operationId per deliberate write and recordedFrom for AI attribution. An identical retry returns the receipt; a validation refusal writes nothing and leaves its key unused.
languages_get_brief Reads records
Use this for an overview or when starting work in an unfamiliar record. The person's languages (purpose and recorded study status), open Queue requests, whether each profile exists — including the AI Interaction Profile text, word for word — and what this connection may do. Set includeLessonGuide: true when authoring lessons to read the full teaching guide through MCP: prerequisites, explanations, worked examples, coached practice, checked quizzes and separate self-assessment. Ordinary briefs contain a guide link without the full text. If guidance would help, offer a brief question about teaching or correction style. The person can skip it or redirect; no profile is required and none may be invented.
languages_get_preferences Reads records
The Learning Profile and AI Interaction Profile, word for word, plus active preference notes and writing instructions the person explicitly shared with AI. Each has a version. Read relevant guidance when it helps the requested work and after updates. Apply language-scoped notes only to that language, and account-wide notes to all languages. Private and archived notes are omitted. Instructions guide future writes and never override evidence accuracy.
languages_get_learning_brief Reads records
Includes private and public reading metadata; use languages_get_reading for full text. Includes up to five recently saved shared observations; use languages_list_context_notes for complete paged context. One language in depth: purpose and goal skill, recorded status/ability counts, latest rating groups, recent sessions and practice, recurring corrections, lists, activities, personal study stages, and versioned plans. The site records results only: it never schedules, promotes ability, or selects repeat cards. You and the person choose words and skills. Unknown means never knew it; Forgot means knew it before. Got it means correct; Easy means firmly familiar and never in doubt in that practiced direction. Normally prioritize other words after Easy in that skill. Do not infer reverse-direction, listening, character, or tone ability from recognition; read per-direction history and the person’s goals before choosing. These are dated self-reports, not permanent mastery guarantees. The person chooses what to work on; offer optional intake only when useful. Requested material difficulty never establishes learner proficiency.
languages_get_reading Reads records
Read the full text, passages, pronunciation annotations, sources and saved position for a public catalog or owner-private reading. Obtain readingId from languages_get_learning_brief. Private readings are never visible to other accounts. Reading is usage, not mastery.
languages_create_audio Saves changes
Create one owner-private paid Pro audio clip from up to 500 characters of supplied transcript. language is the lesson language; spokenLanguage may also be en for English teaching. Returns clipId and exact transcript for an audio lesson block. Only generate when the person requests or agrees to paid generation: this uses the configured paid provider. Existing saved audio playback does not generate or buy another clip. A repeated operationId returns the same clip or pending/failed state and never bills a second generation; use a new key only for a deliberate new request. Pass recordedFrom for attribution. Audio clips do not establish learning or mastery.
languages_find_knowledge Reads records
Check up to 200 terms in a language, or page through all vocabulary or one list (listId), optionally restricted by language. Filters include kind, tag, status, search, resultGroups (easy/learning/needs_work/unrated) and resultDirection. Each item includes complete practice counts, latest dated self-rating and separately checked outcome per skill, times seen, and explicit ability assessments. Continue nextCursor until null, including empty filtered pages; there is no collection-size truncation. Reads change nothing.
languages_list_actionable_work Reads records
Queue requests waiting on you or in progress (with any Needs-your-input flag). No automatic study schedule.
languages_save_items Saves changes
Save or update many Knowledge Items in one language in one call (words, phrases, grammar, characters). For long grammar, phrase, or usage items, supply a concise shortTitle (at most 100 characters) for table display; retain the full term and gloss. Omit shortTitle to preserve it on edits, or send null/blank to clear it. New items start as New unless you set status "studying" because the person asked to learn them. A term already saved is returned, not duplicated; pass itemId to change it. Optionally add them all to a list (listId), and note where the person met each word (metIn) — that is an encounter, not evidence. Pass a fresh operationId per write; retrying with the same one returns the original receipt. Pass recordedFrom with your name (e.g. "Claude") so the person sees who saved it. A bad row is refused by name while the rest saves; read `refused` and `gaps` in the reply.
languages_save_list Saves changes
Create a list (or add to one with listId) from existing itemIds and/or terms; terms not yet saved are created as New. categories are free-form list types such as Vocabulary, Grammar, or Reading focus, separate from construction method. topics labels subject matter such as Literary Italian or Pinocchio. difficulty is a free-form estimated material challenge such as Intermediate / B2; it is never a certified learner level or an ability assessment. These fields work on creation and updates; use empty topics/categories or difficulty:null to clear. languageCodes declares one or more supported languages, including the primary language. Existing itemIds may come from any declared language; terms can specify language, otherwise they use the primary. A smart list takes a rule (resultGroups and optional resultDirection, kinds, tags) across the declared languages instead of items. All lists remain private; there is no sharing authority in this tool. Returns the list's link. Pass a fresh operationId per write; retrying with the same one returns the original receipt. Pass recordedFrom with your name (e.g. "Claude") so the person sees who saved it. A bad row is refused by name while the rest saves; read `refused` and `gaps` in the reply.
languages_save_activity Saves changes
Create or revise a flashcard deck (kind "deck": a listId and card directions) or a quiz (kind "quiz": questions of type choice, typed, or tone). Choose the list words and directions deliberately using dated results; the site plays this saved selection without a scheduler. The site validates it — answers in range, sizes bounded, items in the record — refuses a broken question by key, saves the rest as a new version, and returns the link to play it. Pass a fresh operationId per write; retrying with the same one returns the original receipt. Pass recordedFrom with your name (e.g. "Claude") so the person sees who saved it. A bad row is refused by name while the rest saves; read `refused` and `gaps` in the reply.
languages_get_activity_results Reads records
Pass planId alone for current lesson completion, up to 200 recent dated self-reflections and up to 10 recent attempts per linked deck/quiz. Related attempts can include practice outside this lesson; completion and self-reflections never imply mastery. Pass activityId or attemptId separately for detailed questions, answers, support and direction evidence. Attempts on an activity (or one attempt): answers given, site checks, hints and assessments, plus dated flashcard self-ratings with their practiced direction, including Unknown (never knew it) separately from Forgot. Follow resultsNextCursor with attemptId and resultsCursor for the full practice history.
languages_save_session Saves changes
One complete save of a sitting in conversation: evidence you observed (observer ai_observed, or ai_inferred when you are inferring), corrections, ability changes (up to "uses", with a reason — the person can correct them), status changes, assessments of open answers, the next step, and the result of the Queue request it answered. Pass a fresh operationId per write; retrying with the same one returns the original receipt. Pass recordedFrom with your name (e.g. "Claude") so the person sees who saved it. A bad row is refused by name while the rest saves; read `refused` and `gaps` in the reply.
languages_revise_record Saves changes
Precise follow-up edits in one call: correct an item's fields or status (including optional shortTitle without changing its full term), archive or restore an item, list, activity, or correction, add or remove list items, revise categories, topics, difficulty or declared languageCodes (remove out-of-scope words before narrowing), set an ability with a reason, or update a Queue request. Create or revise a personal workflow stage (kind study_stage), assign or clear it on words (assign_study_stage), or save a versioned study_plan with named list/deck/quiz/reading/text steps. Build a substantive lesson using text-step notes for explanations, grammar teaching and worked examples, then linked resource steps for practice. Plans allow 50 steps, each with notes and up to 12 plain-text blocks: teaching body with worked examples, inline reading with translation/transliteration, owner-private audio clip with exact transcript/spokenLanguage, and self-reflection prompt with 2–8 choices. Save a private reading with kind reading, source and rights, and segmented text/translation/word annotations. Source text can be found or authored by you outside this tool. New readings default owner-private; public catalog publication is separate. Use expectedVersion for all private reading revisions. Link private or catalog readings in plan steps. Retrieve plan feedback with languages_get_activity_results planId; self-reports remain distinct from checked quiz answers. Study labels and completed steps do not raise ability or memory. Use expectedVersion when revising. Nothing is ever permanently deleted. Pass a fresh operationId per write; retrying with the same one returns the original receipt. Pass recordedFrom with your name (e.g. "Claude") so the person sees who saved it. A bad row is refused by name while the rest saves; read `refused` and `gaps` in the reply.
languages_queue_for_later Saves changes
The one way to leave work behind when the person asks you to. Creates an ordinary Waiting-on-AI request marked "left by your AI at your request". Nothing runs. Pass a fresh operationId per write; retrying with the same one returns the original receipt. Pass recordedFrom with your name (e.g. "Claude") so the person sees who saved it. A bad row is refused by name while the rest saves; read `refused` and `gaps` in the reply.
languages_save_preferences Saves changes
Save a new version of the Learning Profile or the AI Interaction Profile exactly as the person agreed it in your conversation. Stored word for word; older versions are kept. Never write one the person has not confirmed. Pass a fresh operationId per write; retrying with the same one returns the original receipt. Pass recordedFrom with your name (e.g. "Claude") so the person sees who saved it. A bad row is refused by name while the rest saves; read `refused` and `gaps` in the reply.
Only connected AI apps with the relevant permissions can access your private records. Manage your connections.