Skip to main content
Glama

IELTS/CELPIP questions and saved practice

search
Read-onlyIdempotent

Searches public IELTS speaking topics and cue cards, CELPIP Tasks 1–8, and the signed-in learner's own saved practice and Collections. Results provide matching resource URIs and snippets for question preparation, reusable stories and past-answer review. CELPIP task filters apply to public questions; saved-task details are available in returned question snapshots. Collection field search is bounded; nextCursor and searchCoverage report continuation, partial coverage or a paused scan. Read-only lookup; spoken practice and new assessment happen in Joe Speaking. Use when the learner wants a question, a CELPIP task format, stories they have already told, saved expressions or past practice evidence. Speaking practice, recording, scoring and mock tests take place in Joe Speaking. An already returned matching URI provides the same resource identity without another search. Task filters apply to public CELPIP topics; private task identity comes from verified record references when available, otherwise the returned questionSnapshot. Collection text search also checks saved examples, context, notes and corrections through bounded, authorized resource reads. Direct SQL matches are returned first; later pages add Collection field matches without duplicates. A non-null nextCursor indicates remaining pages, including when this page has no matches. searchCoverage reports field limits and possible truncation; text beyond those limits is outside the expanded search coverage. Relevant native matches are available without an exhaustive Collection scan. searchCoverage.paused means the scan stopped early on a temporary refusal: returned matches are valid, the search is not finished, and nextCursor resumes it after a short wait. Returned question URIs support fetch for verified practiceOptions.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagNoQuestion-bank-only CELPIP tag filter; normalized exact match.
examNoExam filter for question-bank topics and explicitly requested private records.
partNoQuestion-bank-only IELTS part filter.
taskNoQuestion-bank-only CELPIP task filter.
limitNoMaximum results per page, from 1 to 20; defaults to 10.
queryNoText to match within the selected resource families; an absent or empty value browses them.
cursorNoOpaque continuation returned by this search, bound to its query and filters.
dateToNoPrivate learning records on or before this ISO timestamp. In a mixed search, public question-bank topics are not date-filtered.
marketNoQuestion-bank-only IELTS market filter.
categoryNoQuestion-bank-only IELTS category filter; CELPIP is excluded.
dateFromNoPrivate learning records on or after this ISO timestamp. In a mixed search, public question-bank topics are not date-filtered.
seasonIdNoQuestion-bank-only IELTS season filter.
setNumberNoQuestion-bank-only CELPIP set filter; normalized exact match.
resourceTypesNoResource families. An absent value searches the public/private federation; with a question-bank-only filter, an absent value selects question_bank_topic.
practiceFilterNoQuestion-bank-only IELTS practice-state filter backed by cloud-synced progress.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / cursor / description
      Previous value: -"Opaque continuation returned by this search; preserve its query and filters."New value: +"Opaque continuation returned by this search, bound to its query and filters."
    • changedInput schema / properties / query / description
      Previous value: -"Text to match within the selected resource families; omit or leave empty to browse."New value: +"Text to match within the selected resource families; an absent or empty value browses them."
    • changedInput schema / properties / resourceTypes / description
      Previous value: -"Resource families. Omit for unfiltered public/private federation; when a question-bank-only filter is present, omission means question_bank_topic only."New value: +"Resource families. An absent value searches the public/private federation; with a question-bank-only filter, an absent value selects question_bank_topic."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only and idempotent annotations, it explains pagination via nextCursor, searchCoverage truncation and paused-scan behavior, duplicate-free page merging, bounded Collection field search, and authorized reads of saved examples/context/notes/corrections. These are meaningful operational details an agent needs when interpreting results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the search scope, but it is substantially longer than needed and repeats key points: the Joe Speaking boundary is stated twice, and Collection coverage/nextCursor behavior is revisited across multiple sentences. The repetition weakens scanability for a tool definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 15-parameter search with no output schema, the description covers return shape (URIs and snippets), pagination, partial coverage, paused scans, authorization boundaries, and relevant alternatives. An agent has enough context to decide when to call it and how to interpret the result metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 15 parameters. The description adds some useful filter-scoping context, such as CELPIP task filters applying to public topics and private task identity coming from verified references or questionSnapshot, but it does not systematically clarify syntax or behavior for the remaining filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource set: searching public IELTS topics/cue cards, CELPIP Tasks 1–8, and the signed-in learner's saved practice and Collections. It also distinguishes the tool from Joe Speaking and from fetch by noting that returned URIs identify resources already available for fetch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit use cases (finding a question, CELPIP task format, told stories, saved expressions, past practice evidence) and an explicit boundary: speaking practice, recording, scoring, mock tests, and new assessment belong in Joe Speaking. It further says an already-returned matching URI avoids another search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources