Skip to content

Words in Context

by gumballtools.com · remote · no sign-in to list tools · v0.1.0 · published by com.gumballtools

Words-in-context vocabulary practice questions with distractor explanations.

Changes · 3

3 tools: 3 change things.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http words-in-context https://words-in-context.gumballtools.com/api/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "generate_items" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "generate_items" says "generate": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

3 tools

Changes things 3Claude Code: ask
  • check_answerCheck an answer to a practice item and get the teaching content.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check an answer to a practice item and get the teaching content. Returns whether the choice was correct, which option was right, why it fits the sentence specifically, why the chosen option was wrong, and the reason EVERY distractor fails. Read the distractor reasons out to the learner even when they answered correctly. Knowing why the tempting wrong answer was tempting is the part that transfers to the next question; being told "correct" teaches nothing. Input: `id` from a draw response, and `choice` as the zero-based index of the selected option.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • draw_itemsDraw words-in-context vocabulary practice questions from a curated, human-written bank.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Draw words-in-context vocabulary practice questions from a curated, human-written bank. Use this to quiz a learner, build a practice set, or check what a question of this type looks like. It is free, deterministic, and costs no inference. IMPORTANT: the response deliberately contains NO answer index and NO explanations. That is so you can present the questions without leaking the answers. Call `check_answer` with the item id and the chosen option to get the answer, why it fits, and why each distractor fails. Input: `count` (1-20, default 5) — an out-of-range count is REFUSED rather than clamped, so you learn the limit. `difficulty` is foundation|core|stretch. `theme` is science|humanities|social-science|literature. `seed` makes the draw reproducible: the same seed always returns the same items, so a practice session can be replayed or shared. Format note: these test inference from context, which is how the current digital SAT asks about vocabulary — not recall of definitions. Each item is a sentence with one word blanked and four options.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • generate_itemsGenerate new practice items from a passage the learner supplies — their own reading, or the material they got wrong.1 finding

    Why it is in this group

    • The name "generate_items" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_items" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "generate_items" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate new practice items from a passage the learner supplies — their own reading, or the material they got wrong. This is the PAID tier and it costs real money per call, unlike the curated bank. Prefer `draw_items` unless the learner specifically needs questions from their own material. `model` is a priced choice: "economy" at $0.002 per item (Fast and cheap. Good enough for straightforward vocabulary in clear prose.); "standard" at $0.008 per item (Better at writing distractors that are genuinely tempting, which is the hard part of a good practice item.). Pick economy for straightforward prose and standard when the distractors need to be genuinely tempting, which is the hard part of a good question. Limits: passage 200 characters minimum, and `count` at most 5 per call. Generation is capped at 10 calls per caller per day, separately from the free quota. Generated items are NOT reviewed by a person. Every response carries a caveat saying so. Check the answer and the distractor reasons before giving them to a learner — a generated question with two defensible answers is worse than no question. Returns 503 when generation is not enabled on the deployment; fall back to `draw_items`.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http words-in-context https://words-in-context.gumballtools.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__words-in-context__draw_items",
      "mcp__words-in-context__check_answer",
      "mcp__words-in-context__generate_items"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as words-in-context. Review it before you use it.