Skip to main content
Glama

Search Australian courses

search_courses
Read-onlyIdempotent

Search CRICOS-registered Australian courses for international students by keyword and structured filters (state/city, qualification group or exact AQF level, field of education, tuition range, IELTS, length, provider type, provider code, regional area, sort). Returns a page of compact course summaries with tuition for the given studentLocation, provider and page url, plus webUrl (the same search on oneuedu.com) for the user. Use get_course afterwards for full details of a specific course.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity of the campus in English (Sydney, Melbourne, Brisbane, Perth, Adelaide, Canberra, Hobart, Darwin, Gold Coast, Geelong, ...). Requires state. See list_search_options for the full list.
pageNo1-based page number.
sortNorelevance (default), fee_asc, fee_desc, totalFee_asc, totalFee_desc, length_asc, length_desc.
stateNoAustralian state/territory of the campus: VIC, NSW, QLD, WA, SA, ACT, TAS, NT.
degreeNoQualification group(s): master (postgraduate), bachelor (undergraduate), diploma (diplomas and Certificate I-IV), k12 (schools), other (PhD, graduate certificate/diploma, non-AQF).
localeNoLanguage of names/descriptions in the result: zh-CN (default, Simplified Chinese plus English names), en-US, zh-TW. Also selects the language prefix of returned oneuedu.com URLs.zh-CN
maxFeeNoMaximum tuition in AUD (per academic year as displayed on the site).
minFeeNoMinimum tuition in AUD (per academic year as displayed on the site).
fundingNoProvider type: Government (public universities/TAFE) or Private.
keywordNoCourse name keywords in English or Chinese, or a CRICOS course code. Examples: "nursing", "early childhood", "幼教", "089591C". Keep it short (2-4 words); do not put the city, degree or school name here, use the dedicated filters instead.
subjectNoBroad field of education code(s): 01 Natural & Physical Sciences, 02 Information Technology, 03 Engineering, 04 Architecture & Building, 05 Agriculture & Environment, 06 Health, 07 Education, 08 Management & Commerce, 09 Society & Culture, 10 Creative Arts, 11 Food/Hospitality/Personal Services, 12 Mixed field.
maxIeltsNoMaximum IELTS overall band required (0-9, 0.5 steps).
maxYearsNoMaximum course length in academic years (0.5 steps).
minIeltsNoMinimum IELTS overall band required (0-9, 0.5 steps).
minYearsNoMinimum course length in academic years (0.5 steps).
pageSizeNoResults per page, max 20.
remoteAreaNo"only" = regional/remote-area campuses only (extra migration points); "exclude" = metropolitan only.
schoolCodeNoRestrict to one provider by its CRICOS provider code, e.g. "00113B" (Deakin University). Use get_school or a school page URL to find codes.
degreeLevelNoExact AQF level name(s) for a finer filter than degree, e.g. "Masters Degree (Coursework)", "Bachelor Degree", "Certificate III"; overrides degree when both are given. Group names (master/bachelor/diploma/k12/other) belong in degree, not here: they are moved to degree automatically, case/spacing variants of a level name are corrected, and unknown values are ignored. list_search_options lists the levels under each group.
packagedOnlyNoOnly packaged (pathway) courses.
educationTypeNohigherEducation (universities) or vocationalEducation (VET/TAFE/RTO).
includeClosedNoInclude courses that no longer accept international students. Default false.
accurateFeeOnlyNoOnly courses whose tuition is verified/accurate.
studentLocationNoWhere the student currently is. "offshore" = applying from outside Australia (default); "onshore" = already in Australia. This changes both the result set and which tuition figure is authoritative, so ask the user if unknown.offshore

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds real value beyond them: results are a page of compact summaries, webUrl is a user-facing oneuedu.com link, and tuition is reported for the given studentLocation. It doesn't cover result-count limits or empty-result behavior, but the added context is substantive.

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

Conciseness4/5

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

Two sentences, front-loaded with the action and scope, then the result shape and the follow-up tool. The parenthetical filter enumeration partly duplicates the schema and lengthens the sentence, but overall it is tight and earns its place.

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

Completeness4/5

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

With 24 optional parameters and no output schema, the description usefully sketches what comes back (compact summaries, tuition, provider, page url, webUrl) and flags the studentLocation dependency. Remaining gaps such as pagination mechanics are handled by the schema, so the definition is nearly sufficient for correct invocation.

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 every filter is already documented with enums and examples. The description merely re-lists filter categories (state/city, AQF level, field of education, fee, IELTS, length) that the schema explains in more depth, adding little beyond what structured data provides. Baseline 3 applies.

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?

States a specific verb+resource with scope ('Search CRICOS-registered Australian courses for international students') and names the filters and result shape. It also explicitly distinguishes itself from the sibling get_course, which handles full detail for a single course.

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

Usage Guidelines4/5

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

Gives a clear search-then-detail workflow by routing to get_course afterwards, and implies the tool is the entry point for course discovery. It does not state when a search is inappropriate (e.g. when the course code is already known), so it stops short of full when/when-not coverage.

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