protogrid

Search / com.gumballtools/words-in-context

Words in Context

R0· no sign-in

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

v0.1.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality86good
Trust89of 100
Uptime, 30 days100%
Latency p50921 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "words-in-context": {
      "type": "http",
      "url": "https://words-in-context.gumballtools.com/api/mcp"
    }
  }
}
claude mcp add --transport http words-in-context https://words-in-context.gumballtools.com/api/mcp
[mcp_servers.words-in-context]
url = "https://words-in-context.gumballtools.com/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "words-in-context": {
      "type": "remote",
      "url": "https://words-in-context.gumballtools.com/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "words-in-context": {
      "type": "http",
      "url": "https://words-in-context.gumballtools.com/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=words-in-context&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd29yZHMtaW4tY29udGV4dC5ndW1iYWxsdG9vbHMuY29tL2FwaS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "words-in-context": {
      "type": "http",
      "url": "https://words-in-context.gumballtools.com/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "words-in-context": {
      "httpUrl": "https://words-in-context.gumballtools.com/api/mcp"
    }
  }
}
extensions:
  "words-in-context":
    enabled: true
    name: "words-in-context"
    type: streamable_http
    uri: "https://words-in-context.gumballtools.com/api/mcp"
    timeout: 300

Quality 86 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene79 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length2 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations3 of 3 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: draw_items (destructiveHint, idempotentHint); check_answer (destructiveHint, idempotentHint); generate_items (destructiveHint, idempotentHint)
  • pass
    tools.token_costabout 1,171 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

3 tools, about 1,171 tokens to load them all · tool set ac10567cd24b · checked 2026-10-19 16:20 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 89 / 100

duplicate-repo
provenance85
liveness100
freshness85
hygiene80

+repository +dns-namespace +website +reachable +uptime-100% ~updated-44d-ago -duplicate-repo(16 names)

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://words-in-context.gumballtools.com/api/mcp streamable-httpnoneyes100%921 ms2026-07-282026-10-19

Tools (3)

check_answerread-onlyCheck 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.
draw_itemsread-onlyDraw 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.
generate_itemsread-onlyGenerate 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`.

Schemas: list_tools.

Also listed as

15 other active names share this repository (showing 10): com.crontoenglish/cron-translator, com.gumballtools/amortize, com.gumballtools/body-metrics, com.gumballtools/check-digit, com.gumballtools/color-companion, com.gumballtools/due-date, com.gumballtools/equation-steps, com.gumballtools/iso-week, com.gumballtools/json-to-types, com.gumballtools/payload-validator

Similar MCP servers

More from com.gumballtools

And 8 more from this publisher.

Official server.json
{
  "name": "com.gumballtools/words-in-context",
  "title": "Words in Context",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://words-in-context.gumballtools.com/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "repository": {
    "url": "https://github.com/bwalvoord/gumball",
    "source": "github"
  },
  "websiteUrl": "https://words-in-context.gumballtools.com",
  "description": "Words-in-context vocabulary practice questions with distractor explanations."
}