accueil / serveurs / Fichiers & Documents / io.github.jaideepdhanoa/vocab-voyage
io.github.jaideepdhanoa/vocab-voyage
serveur MCP (Model Context Protocol) · vocab-voyage 1.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.jaideepdhanoa/vocab-voyage est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.jaideepdhanoa/vocab-voyage » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 31 outils
- award_game_xp≈ 134 tokens
Award score-based XP from a game/activity (separate from study-time XP). Cascades to the leaderboard via DB trigger. Requires sign-in.
Paramètres, retour & exemple (2)
Paramètresxp· number · requis
XP to award (>= 0).reason· string · optionnel
Optional human label for analytics.
Exemple d'appel{"name": "award_game_xp", "arguments": {"xp": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - explain_word_in_context≈ 122 tokens
Explain what a word means inside a specific sentence — useful when a word has multiple meanings.
Paramètres, retour & exemple (2)
Paramètresword· string · requissentence· string · requis
The sentence containing the word
Exemple d'appel{"name": "explain_word_in_context", "arguments": {"word": "texte", "sentence": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - file_support_ticket≈ 364 tokens
File a real human-followup support ticket on behalf of the signed-in user. Use this when the user reports a bug, account lockout, complaint about a tutor, or anything Sparkle/the agent cannot resolve from data. The ticket is emailed to the support team and a confirmation is sent to the user with a 1-business-day SLA. Vocab Voyage is completely free, so there is nothing to bill — never raise pricing, plans or upgrades. Categories: billing (legacy, use account instead), bug, account, complaint, feedback, other. Requires sign-in.
Paramètres, retour & exemple (3)
Paramètressummary· string · requis
One-line description of the issue (what the user needs).category· string · requis · billing | bug | account | complaint | feedback | other
Issue category. Use 'bug' for crashes/data loss, 'account' for lockouts/access or any account/access question, 'complaint' for tutor/quality issues, 'feedback' for feature requests. 'billing' is legacy and unused — the product is free.conversation_snippet· string · optionnel
Optional: last few turns of the conversation for context.
Exemple d'appel{"name": "file_support_ticket", "arguments": {"summary": "texte", "category": "billing"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - generate_quiz≈ 236 tokens
Use this when the user wants to practice, be quizzed, or test their knowledge across multiple words at once. Generates a 1–10 question multiple-choice quiz for a test family (isee, ssat, sat, psat, gre, gmat, lsat, general). Renders the interactive Vocab Voyage quiz widget on supporting hosts; per-answer taps persist mastery for signed-in users. Do not use for definition lookups — call get_definition instead. Do not use for spaced-repetition flashcards — call get_flashcards instead.
Paramètres, retour & exemple (3)
Paramètrescount· number · optionnel
Number of questions (1–10), default 5level· string · optionnel
Optional difficulty hinttest_family· string · requis
Exemple d'appel{"name": "generate_quiz", "arguments": {"test_family": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_child_session_detail≈ 188 tokens
Auth-only. Parent-only. Detailed breakdown for a single child's study/quiz session — accuracy, missed words, duration. Defaults to the most recent session for the parent's first linked child if no `child_user_id` / `session_id` is supplied. Ownership-gated: returns an error for unlinked children.
Paramètres, retour & exemple (2)
Paramètressession_id· string · optionnel
Optional. Defaults to the child's most recent session.child_user_id· string · optionnel
Optional. Defaults to first linked child.
Exemple d'appel{"name": "get_child_session_detail", "arguments": {"session_id": "texte", "child_user_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_class_session_trends≈ 166 tokens
Auth-only. Tutor-only. Aggregate class-level trends across the tutor's classes (default 14 days, max 30). Pass `class_id` to scope to one class; omit it to get a worst-first rollup across up to 25 classes plus 1–3 struggling students.
Paramètres, retour & exemple (2)
Paramètresdays· number · optionnel
Window size in days (default 14, max 30).class_id· string · optionnel
Optional class id to scope to one class.
Exemple d'appel{"name": "get_class_session_trends", "arguments": {"days": 1, "class_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_class_standing≈ 192 tokens
Use this when a signed-in student asks how they're doing in their tutor class, who's ahead, who their rival is, or who they should challenge. Auth-only. Returns weekly XP rank inside the user's tutor class plus a winnable rival suggestion (similar weekly XP). NEVER name the class leader unless the user is rank #1 — the response uses '(top student)' as a deliberate placeholder. Renders the interactive class-standing widget on supporting hosts; falls back to markdown elsewhere. Anonymous callers receive a sign-in prompt.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_class_standing", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_course_word_list≈ 119 tokens
Get a sample of vocabulary words from a specific Vocab Voyage course. Use list_courses to discover slugs.
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
1–50, default 20course_slug· string · requis
Exemple d'appel{"name": "get_course_word_list", "arguments": {"course_slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_definition≈ 166 tokens
Use this when the user asks what a specific word means, requests its definition, part of speech, synonyms/antonyms, or an example sentence. Returns curated dictionary data from the Vocab Voyage corpus. Do not use for sentence-level meaning disambiguation (call explain_word_in_context) or for daily word prompts (call get_word_of_the_day).
Paramètres, retour & exemple (1)
Paramètresword· string · requis
The word to define
Exemple d'appel{"name": "get_definition", "arguments": {"word": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_flashcards≈ 210 tokens
Use this when the user asks for flashcards, wants to drill words individually, or wants a tap-to-flip review session. Returns 1–12 cards for a test family. Renders the interactive Vocab Voyage flashcards widget on supporting hosts; per-card 'I knew it / I didn't' buttons persist mastery for signed-in users. Do not use for multiple-choice testing (call generate_quiz) or for a single word lookup (call get_definition).
Paramètres, retour & exemple (2)
Paramètrescount· number · optionnel
Number of cards (1–12), default 5test_family· string · optionnel
isee, ssat, sat, psat, gre, gmat, lsat, general
Exemple d'appel{"name": "get_flashcards", "arguments": {"count": 1, "test_family": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_my_progress≈ 148 tokens
Use this when the signed-in user asks about their own streak, XP, words mastered, recent activity, or 'how am I doing'. Auth-only personal dashboard. Renders the interactive Vocab Voyage progress widget on supporting hosts; falls back to markdown elsewhere. Anonymous callers receive a sign-in prompt. Do not use for global stats or other users' progress.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_my_progress", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_pending_invites≈ 156 tokens
Use this when the signed-in user asks about pending parent invites, share codes, or whether their parent invite has been accepted yet. Returns each pending invite with hours_until_expiry. RULE: if any invite has hours_until_expiry < 24 (and not expired), proactively offer to resend it via the resend-parent-invite flow. If expired, offer to send a fresh invite. Requires sign-in.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_pending_invites", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_recent_mistakes≈ 207 tokens
Use this when the signed-in user asks about words they've gotten wrong, missed words, words to review, or wants to revisit recent mistakes. Returns up to 25 words from the last N days (default 7) with miss-rate and last-seen timestamp, plus a link to the in-app Recent Mistakes page. SUMMARISE — never dump every row; tell the user the count, name 2–3 sample words, and recommend the page URL. Requires sign-in.
Paramètres, retour & exemple (2)
Paramètresdays· number · optionnel
Lookback window in days (1–90, default 7)limit· number · optionnel
Max words to return (1–50, default 10)
Exemple d'appel{"name": "get_recent_mistakes", "arguments": {"days": 1, "limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_recommended_next_action≈ 126 tokens
One-line 'do this next' hint derived from the user's current lifecycle phase. Useful when the agent wants a quick recommendation without rendering a full guidance card.
Paramètres, retour & exemple (1)
Paramètrespersona· string · optionnel
Optional persona override.
Exemple d'appel{"name": "get_recommended_next_action", "arguments": {"persona": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_session_detail≈ 234 tokens
Use this when the signed-in user asks 'what did I miss in [that session]', 'which words tripped me up', or 'what was my accuracy on session X'. Pass a session_id (study_sessions.id or adaptive_sessions.id, usually obtained from get_recent_session_results / a picker chip). Returns title, accuracy %, wrong_words[] (max 10), and a per-card timeline (truncated to first 20 events). Cite at least one wrong word and the accuracy in your reply.
Paramètres, retour & exemple (2)
Paramètressession_id· string · requis
study_sessions.id or adaptive_sessions.id (UUID)include_timeline· boolean · optionnel
Include per-card timeline (default true). Truncated to 20 events.
Exemple d'appel{"name": "get_session_detail", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_session_trends≈ 144 tokens
Auth-only. Personal study trends over a window (default 14 days, max 90): session count, total minutes, accuracy trend (up/down/flat), and top-missed words. Use after a user asks 'how am I trending / am I improving / which words keep tripping me up'.
Paramètres, retour & exemple (1)
Paramètresdays· number · optionnel
Window size in days (default 14, max 90).
Exemple d'appel{"name": "get_session_trends", "arguments": {"days": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_sparkle_guidance≈ 158 tokens
Returns Vocab Voyage's lifecycle-aware guidance: the user's current phase (e.g. student.at_risk), a friendly greeting, 2–3 recommended tool calls, and an optional CTA. Renders the session-debrief widget on supporting hosts. Anonymous callers get visitor.* phase suggestions.
Paramètres, retour & exemple (1)
Paramètrespersona· string · optionnel
Optional persona override: student | parent | tutor | explorer.
Exemple d'appel{"name": "get_sparkle_guidance", "arguments": {"persona": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_study_plan_recommendation≈ 166 tokens
Auth-only. Returns a personalized N-day study plan (default 7, range 3–7) chosen from one of four focus modes (weak-topic-drill / streak-recovery / new-words / review-mastery) based on the user's recent trends. Inline only the first 3 days; full plan persists when the user clicks the Vocab Voyage start link.
Paramètres, retour & exemple (1)
Paramètreshorizon_days· number · optionnel
Plan length in days (3–7, default 7).
Exemple d'appel{"name": "get_study_plan_recommendation", "arguments": {"horizon_days": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_word_of_the_day≈ 179 tokens
Use this when the user asks for today's word, a daily vocabulary nudge, or a single-word warmup. Returns today's deterministic Word of the Day (definition, part of speech, example, synonyms/antonyms), optionally scoped to a test family (isee, ssat, sat, psat, gre, gmat, lsat, general). Do not use for arbitrary lookups — call get_definition instead.
Paramètres, retour & exemple (1)
Paramètrestest_family· string · optionnel
Optional test family: isee, ssat, sat, psat, gre, gmat, lsat, general
Exemple d'appel{"name": "get_word_of_the_day", "arguments": {"test_family": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_courses≈ 76 tokens
Lists all 13 Vocab Voyage courses with their slugs and descriptions.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_courses", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_starter_prompts≈ 101 tokens
Lists Vocab Voyage's MCP starter prompts (also exposed via the standard MCP prompts/list endpoint). Useful for hosts that don't yet support prompts/list.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_starter_prompts", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mark_word_difficult≈ 106 tokens
Manually mark a word as still-learning for the signed-in user (resets mastery toward learning band). Requires sign-in.
Paramètres, retour & exemple (2)
Paramètresword· string · optionnelcard_id· string · optionnel
Exemple d'appel{"name": "mark_word_difficult", "arguments": {"word": "texte", "card_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mark_word_known≈ 105 tokens
Manually mark a word as mastered for the signed-in user (same as the flashcard 'I knew this' override). Requires sign-in.
Paramètres, retour & exemple (2)
Paramètresword· string · optionnelcard_id· string · optionnel
Exemple d'appel{"name": "mark_word_known", "arguments": {"word": "texte", "card_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - nudge_child≈ 246 tokens
Parent-only. Sends a 'check-in' push notification (and email fallback) to a linked child. Use when the parent says things like 'remind my kid to study', 'nudge my child', 'tell Sam to do their words today'. The server enforces a 24h cooldown per child — if rate-limited the response includes retry_after_hours. NEVER spoof a different parent — the calling user must already be linked to the child. Requires sign-in.
Paramètres, retour & exemple (3)
Paramètresreason· string · optionnel
Optional short reason (≤200 chars), e.g. 'streak at risk'message· string · optionnel
Optional personal message (≤280 chars) shown to the childchild_user_id· string · requis
user_id of the linked child to nudge
Exemple d'appel{"name": "nudge_child", "arguments": {"child_user_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - play_game≈ 344 tokens
Use this when the user wants to play a vocabulary game, asks for something fun, or wants to learn through play. Launches one of 11 mini-games inside the host chat. Renders the matching ui://vocab-voyage/game/{slug} widget on supporting hosts; falls back to a deep link elsewhere. Per-question answers persist via record_word_result; round completion fires record_session_complete + award_game_xp so MCP play counts toward streaks, XP, and mastery for signed-in users. Supported slugs: word_match, spelling_bee, speed_round, synonym_showdown, word_scramble, fill_in_blank, context_clues, word_guess, picture_match, crossword, word_search. Do not use for a serious test-prep quiz — call generate_quiz instead.
Paramètres, retour & exemple (3)
Paramètresslug· string · requis
Game slug: word_match | spelling_bee | speed_round | synonym_showdown | word_scramble | fill_in_blank | context_clues | word_guess | picture_match | crossword | word_searchcount· number · optionnel
Words in the round (4–12, default 8)test_family· string · optionnel
Optional: isee, ssat, sat, psat, gre, gmat, lsat, general
Exemple d'appel{"name": "play_game", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - record_session_complete≈ 225 tokens
Record a completed study session: writes study_sessions, awards study-time XP (+1/min, capped 30/day), and updates the daily streak. Use after a play_game / quiz / flashcard session ends. Requires sign-in.
Paramètres, retour & exemple (7)
Paramètresdeck_id· string · optionnel
Optional deck UUID; omit for ad-hoc MCP sessions.total_count· number · optionnelsession_type· string · optionnel
e.g. mcp_word_match, mcp_flashcard, mcp_quiz.cards_studied· number · requiscorrect_count· number · optionnelsession_title· string · optionneltime_spent_seconds· number · requis
Exemple d'appel{"name": "record_session_complete", "arguments": {"cards_studied": 1, "time_spent_seconds": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - record_word_result≈ 250 tokens
Persist a single word answer (correct/incorrect) to the user's mastery progress. Mirrors the web app's word-mastery scaling so MCP study counts toward leaderboards and streaks. Requires sign-in.
Paramètres, retour & exemple (7)
Paramètresword· string · optionnel
The word answered (preferred for human input).card_id· string · optionnel
Card UUID (preferred when known from a prior tool result).is_correct· boolean · requisquestion_type· string · optionnel
e.g. multiple_choice, fill_in_blank, flashcard.quiz_attempt_id· string · optionnel
Optional quiz_attempt UUID to record a per-question row.selected_answer· string · optionneltime_taken_seconds· number · optionnel
Exemple d'appel{"name": "record_word_result", "arguments": {"is_correct": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resend_pending_invite≈ 164 tokens
Resend a pending parent invite by id. Use after get_pending_invites surfaces an invite expiring in <24h, or when the user explicitly asks to resend. Re-emails the existing invite_token; no new code is generated. 60s per-invite cooldown. Caller must own the invite. Requires sign-in.
Paramètres, retour & exemple (1)
Paramètresinvite_id· string · requis
The id field returned by get_pending_invites.
Exemple d'appel{"name": "resend_pending_invite", "arguments": {"invite_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - set_persona≈ 128 tokens
Bias subsequent Sparkle guidance toward a persona (student | parent | tutor | explorer). Session-scoped: the host should pass the chosen persona back to get_sparkle_guidance.
Paramètres, retour & exemple (1)
Paramètrespersona· string · requis
student | parent | tutor | explorer
Exemple d'appel{"name": "set_persona", "arguments": {"persona": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - study_plan_preview≈ 212 tokens
Use this when the user asks for a study plan, a multi-day prep schedule, or how to prepare for a test by date. Returns a 7-day plan (5 words/day) for a given test family. Renders the interactive Vocab Voyage study-plan widget on supporting hosts; tapping 'Start Day N' launches a flashcard session seeded with that day's words. Do not use for a single quiz session — call generate_quiz instead. Do not use for one-off lookups — call get_definition instead.
Paramètres, retour & exemple (2)
Paramètrestarget_date· string · optionnel
Optional ISO date (YYYY-MM-DD)test_family· string · requis
Exemple d'appel{"name": "study_plan_preview", "arguments": {"test_family": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_adaptive_level≈ 150 tokens
Run the adaptive-mastery promotion logic for the signed-in user (delegates to the web app's update-adaptive-mastery function). Requires sign-in.
Paramètres, retour & exemple (4)
Paramètrescourse_id· string · optionneltotal_count· number · requiscorrect_count· number · requiswords_studied· number · requis
Exemple d'appel{"name": "update_adaptive_level", "arguments": {"total_count": 1, "correct_count": 1, "words_studied": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
https://gponcrussdahcdyrlhcr.supabase.co/functions/v1/mcp-server?ref=mcp_registry