jaideepdhanoa avatar

Vocab Voyage

jaideepdhanoa/vocab-voyage-mcp

A hosted vocabulary learning toolkit built for standardized test prep. You get 20 tools covering word definitions, test-specific quizzes (SAT, GRE, GMAT, LSAT, ISEE, SSAT), course word lists, study plans, and a word of the day endpoint. The REST API underneath is zero-auth with 60 requests per minute anonymous, and the MCP layer adds optional personal tokens for higher limits. Reach for this when you're building tutoring agents, study assistants, or chatbots that need curated vocab by test family. The source also exposes 11 mini-games and spaced repetition data, plus parent dashboards if you're targeting family or classroom workflows. Runs entirely on Supabase functions, so no self-hosting required.

tools
31
transport
HTTP
last updated
Apr 23, 2026

Install

From registry metadata
$ npx add-mcp 'https://gponcrussdahcdyrlhcr.supabase.co/functions/v1/mcp-server?ref=mcp_registry' --name vocab-voyage

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 vocab-voyage 'https://gponcrussdahcdyrlhcr.supabase.co/functions/v1/mcp-server?ref=mcp_registry'

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

Tools

Verified live · 31 tools

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

get_word_of_the_dayUse 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,...1 params

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,...

Parameters* required
test_familystring
Optional test family: isee, ssat, sat, psat, gre, gmat, lsat, general
get_definitionUse 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_...1 params

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_...

Parameters* required
word*string
The word to define
generate_quizUse 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...3 params

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...

Parameters* required
countnumber
Number of questions (1–10), default 5
levelstring
Optional difficulty hint
test_family*string
get_course_word_listGet a sample of vocabulary words from a specific Vocab Voyage course. Use list_courses to discover slugs.2 params

Get a sample of vocabulary words from a specific Vocab Voyage course. Use list_courses to discover slugs.

Parameters* required
course_slug*string
limitnumber
1–50, default 20
list_coursesLists all 13 Vocab Voyage courses with their slugs and descriptions.

Lists all 13 Vocab Voyage courses with their slugs and descriptions.

No parameters. Call it with no arguments.

explain_word_in_contextExplain what a word means inside a specific sentence — useful when a word has multiple meanings.2 params

Explain what a word means inside a specific sentence — useful when a word has multiple meanings.

Parameters* required
sentence*string
The sentence containing the word
word*string
study_plan_previewUse 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...2 params

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...

Parameters* required
target_datestring
Optional ISO date (YYYY-MM-DD)
test_family*string
get_flashcardsUse 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 persi...2 params

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 persi...

Parameters* required
countnumber
Number of cards (1–12), default 5
test_familystring
isee, ssat, sat, psat, gre, gmat, lsat, general
get_my_progressUse 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 r...

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 r...

No parameters. Call it with no arguments.

play_gameUse 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 elsewher...3 params

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 elsewher...

Parameters* required
countnumber
Words in the round (4–12, default 8)
slug*string
Game slug: word_match | spelling_bee | speed_round | synonym_showdown | word_scramble | fill_in_blank | context_clues | word_guess | picture_match | crossword | word_search
test_familystring
Optional: isee, ssat, sat, psat, gre, gmat, lsat, general
record_word_resultPersist 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.7 params

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.

Parameters* required
card_idstring
Card UUID (preferred when known from a prior tool result).
is_correct*boolean
question_typestring
e.g. multiple_choice, fill_in_blank, flashcard.
quiz_attempt_idstring
Optional quiz_attempt UUID to record a per-question row.
selected_answerstring
time_taken_secondsnumber
wordstring
The word answered (preferred for human input).
record_session_completeRecord 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.7 params

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.

Parameters* required
cards_studied*number
correct_countnumber
deck_idstring
Optional deck UUID; omit for ad-hoc MCP sessions.
session_titlestring
session_typestring
e.g. mcp_word_match, mcp_flashcard, mcp_quiz.
time_spent_seconds*number
total_countnumber
award_game_xpAward score-based XP from a game/activity (separate from study-time XP). Cascades to the leaderboard via DB trigger. Requires sign-in.2 params

Award score-based XP from a game/activity (separate from study-time XP). Cascades to the leaderboard via DB trigger. Requires sign-in.

Parameters* required
reasonstring
Optional human label for analytics.
xp*number
XP to award (>= 0).
mark_word_knownManually mark a word as mastered for the signed-in user (same as the flashcard 'I knew this' override). Requires sign-in.2 params

Manually mark a word as mastered for the signed-in user (same as the flashcard 'I knew this' override). Requires sign-in.

Parameters* required
card_idstring
wordstring
mark_word_difficultManually mark a word as still-learning for the signed-in user (resets mastery toward learning band). Requires sign-in.2 params

Manually mark a word as still-learning for the signed-in user (resets mastery toward learning band). Requires sign-in.

Parameters* required
card_idstring
wordstring
update_adaptive_levelRun the adaptive-mastery promotion logic for the signed-in user (delegates to the web app's update-adaptive-mastery function). Requires sign-in.4 params

Run the adaptive-mastery promotion logic for the signed-in user (delegates to the web app's update-adaptive-mastery function). Requires sign-in.

Parameters* required
correct_count*number
course_idstring
total_count*number
words_studied*number
file_support_ticketFile 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 se...3 params

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 se...

Parameters* required
category*string
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 le...one of billing · bug · account · complaint · feedback · other
conversation_snippetstring
Optional: last few turns of the conversation for context.
summary*string
One-line description of the issue (what the user needs).
get_recent_mistakesUse 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...2 params

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...

Parameters* required
daysnumber
Lookback window in days (1–90, default 7)
limitnumber
Max words to return (1–50, default 10)
get_session_detailUse 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). Retu...2 params

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). Retu...

Parameters* required
include_timelineboolean
Include per-card timeline (default true). Truncated to 20 events.
session_id*string
study_sessions.id or adaptive_sessions.id (UUID)
get_pending_invitesUse 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 r...

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 r...

No parameters. Call it with no arguments.

nudge_childParent-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 res...3 params

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 res...

Parameters* required
child_user_id*string
user_id of the linked child to nudge
messagestring
Optional personal message (≤280 chars) shown to the child
reasonstring
Optional short reason (≤200 chars), e.g. 'streak at risk'
resend_pending_inviteResend 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 sig...1 params

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 sig...

Parameters* required
invite_id*string
The id field returned by get_pending_invites.
get_class_standingUse 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 cl...

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 cl...

No parameters. Call it with no arguments.

get_sparkle_guidanceReturns 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.1 params

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.

Parameters* required
personastring
Optional persona override: student | parent | tutor | explorer.
set_personaBias subsequent Sparkle guidance toward a persona (student | parent | tutor | explorer). Session-scoped: the host should pass the chosen persona back to get_sparkle_guidance.1 params

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.

Parameters* required
persona*string
student | parent | tutor | explorer
get_recommended_next_actionOne-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.1 params

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.

Parameters* required
personastring
Optional persona override.
list_starter_promptsLists 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.

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.

No parameters. Call it with no arguments.

get_session_trendsAuth-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'.1 params

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'.

Parameters* required
daysnumber
Window size in days (default 14, max 90).
get_class_session_trendsAuth-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.2 params

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.

Parameters* required
class_idstring
Optional class id to scope to one class.
daysnumber
Window size in days (default 14, max 30).
get_child_session_detailAuth-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 fo...2 params

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 fo...

Parameters* required
child_user_idstring
Optional. Defaults to first linked child.
session_idstring
Optional. Defaults to the child's most recent session.
get_study_plan_recommendationAuth-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 cli...1 params

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 cli...

Parameters* required
horizon_daysnumber
Plan length in days (3–7, default 7).

Sponsors

Readme

Vocab Voyage MCP Server

The official public mirror of the Vocab Voyage Model Context Protocol server — 20 tools + 17 interactive widgets for vocabulary learning and standardized test prep (ISEE, SSAT, SAT, PSAT, GRE, GMAT, LSAT).

  • 20 MCP tools (including flashcards, 11 mini-games, progress tracking, and Sparkle coaching)

  • 17 interactive widgets (quiz, flashcards, study plan, progress dashboard, session debrief, and more)

  • Hosted — no install required

  • Optional personal tokens for personalized features

  • 🔗 Server URL: https://gponcrussdahcdyrlhcr.supabase.co/functions/v1/mcp-server

  • 📚 Browse tools: https://vocab.voyage/mcp/tools

  • 🛠 Auth & scopes: https://vocab.voyage/developers/auth

  • 🪪 License: MIT

Install

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "vocab-voyage": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://gponcrussdahcdyrlhcr.supabase.co/functions/v1/mcp-server"]
    }
  }
}

ChatGPT Apps SDK / Cursor / Cline


View the full README on GitHub

Details

Repository
github.com/jaideepdhanoa/vocab-voyage-mcp
Website
vocab.voyage/mcp
Transport
HTTP
Registry
MCP registry, active
Resources
18
Prompts
6
Tools verified
Nov 6, 2026