Australia Wide First Aid courses
Find first aid and CPR courses, venues and sessions across Australia. Read-only; no sign-in.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"courses": {
"url": "https://www.australiawidefirstaid.com/mcp"
}
}
}远程端点
https://www.australiawidefirstaid.com/mcpstreamable-http它能做什么
工具清单
工具(7)
🟢get_course_details(course)
Full details for one course: what it covers, how it is assessed, the pre-course online work, what to bring, when the certificate is issued, and how long it stays current. Use it to answer whether a course meets a workplace or childcare requirement. course is the id from list_courses; a unit code such as HLTAID011 also works.
输入模式
{
"type": "object",
"properties": {
"course": {
"description": "The course's id, unit code, workshops course id or name.",
"type": "string"
}
},
"required": [
"course"
]
}输出模式
{
"type": "object",
"properties": {
"assessment": {
"description": "How the course is assessed.",
"items": {
"type": "string"
},
"type": "array"
},
"certificate": {
"description": "How and when the certificate is issued.",
"items": {
"type": "string"
},
"type": "array"
},
"code": {
"description": "The national unit code, such as HLTAID011.",
"type": "string"
},
"content": {
"description": "What the course covers.",
"items": {
"type": "string"
},
"type": "array"
},
"delivery": {
"description": "How the course is delivered, including any e-Learning pre-work.",
"items": {
"type": "string"
},
"type": "array"
},
"duration": {
"description": "How long the course takes, as the site describes it.",
"items": {
"type": "string"
},
"type": "array"
},
"headline": {
"description": "The course page's headline.",
"type": "string"
},
"id": {
"description": "The course's slug, such as first-aid. Every other endpoint accepts it as course.",
"type": "string"
},
"key_points": {
"description": "The course's key points.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The course's short name.",
"type": "string"
},
"official_name": {
"description": "The unit's official name.",
"type": "string"
},
"price_aud": {
"description": "The standard price in Australian dollars, GST included.",
"type": "integer"
},
"price_display": {
"description": "The price as the site shows it, such as $97.",
"type": "string"
},
"renewal": {
"description": "How often the certificate should be renewed.",
"type": "string"
},
"summary": {
"description": "A one-line summary.",
"type": "string"
},
"url": {
"description": "The course's page on the site.",
"format": "uri",
"type": "string"
},
"what_to_bring": {
"description": "What to bring on the day.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"code",
"name",
"url"
],
"additionalProperties": false,
"description": "A course with its details."
}🟢get_faqs(topic)
Frequently asked questions and answers: which course a job needs, recognition, certificate timing, renewal, online learning, group training, cost, what to wear. Pass a topic to get the most relevant ones; omit it for all.
输入模式
{
"type": "object",
"properties": {
"topic": {
"description": "A question or topic, such as How do I renew my certificate.",
"type": "string"
}
}
}输出模式
{
"type": "object",
"properties": {
"faqs": {
"items": {
"additionalProperties": false,
"properties": {
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
},
"required": [
"question",
"answer"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"faqs"
],
"additionalProperties": false
}🟢list_courses
List the nationally recognised first aid and CPR courses Australia Wide First Aid runs, with unit code (HLTAID009/011/012), price in AUD, duration, delivery (including any online pre-course learning) and renewal period. Use this to turn a need like "first aid for work" or "childcare certificate" into a course id for the other tools.
输入模式
{
"type": "object",
"properties": {}
}输出模式
{
"type": "object",
"properties": {
"courses": {
"items": {
"additionalProperties": false,
"description": "A bookable course.",
"properties": {
"code": {
"description": "The national unit code, such as HLTAID011.",
"type": "string"
},
"delivery": {
"description": "How the course is delivered, including any e-Learning pre-work.",
"items": {
"type": "string"
},
"type": "array"
},
"duration": {
"description": "How long the course takes, as the site describes it.",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"description": "The course's slug, such as first-aid. Every other endpoint accepts it as course.",
"type": "string"
},
"name": {
"description": "The course's short name.",
"type": "string"
},
"official_name": {
"description": "The unit's official name.",
"type": "string"
},
"price_aud": {
"description": "The standard price in Australian dollars, GST included.",
"type": "integer"
},
"price_display": {
"description": "The price as the site shows it, such as $97.",
"type": "string"
},
"renewal": {
"description": "How often the certificate should be renewed.",
"type": "string"
},
"summary": {
"description": "A one-line summary.",
"type": "string"
},
"url": {
"description": "The course's page on the site.",
"format": "uri",
"type": "string"
}
},
"required": [
"id",
"code",
"name",
"url"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"courses"
],
"additionalProperties": false
}🟢list_locations(limit, near, state)
List training venues with address, grouped by state. Pass state to narrow to one state, or near (an Australian postcode or suburb the person gives you, such as "4510" or "Caboolture QLD") to get the closest venues with their distance in km. The id of a venue is the location for search_sessions.
输入模式
{
"type": "object",
"properties": {
"limit": {
"default": 10,
"description": "With near, how many venues to return. Values below 1 use the default.",
"type": "integer"
},
"near": {
"description": "A postcode or suburb, optionally with its state, such as 4510 or Caboolture QLD.",
"type": "string"
},
"state": {
"description": "A state or territory, such as QLD, in any case. Ignored when near is given.",
"type": "string"
}
}
}输出模式
{
"type": "object",
"properties": {
"locations": {
"description": "The venues; null when there are none.",
"items": {
"additionalProperties": false,
"description": "A training venue.",
"properties": {
"address": {
"type": "string"
},
"distance_km": {
"description": "The distance from near in kilometres, to one decimal place. Present only on distance-ordered results.",
"type": "number"
},
"id": {
"description": "The venue's id. The session endpoints accept it as location.",
"type": "string"
},
"name": {
"type": "string"
},
"postcode": {
"type": "string"
},
"state": {
"description": "The state or territory, such as QLD.",
"type": "string"
},
"suburb": {
"type": "string"
}
},
"required": [
"id",
"name",
"state"
],
"type": "object"
},
"type": [
"array",
"null"
]
},
"near": {
"additionalProperties": false,
"description": "With near, the place it resolved to, or null when the lookup didn't say.",
"properties": {
"postcode": {
"type": "string"
},
"state": {
"type": "string"
},
"suburb": {
"type": "string"
}
},
"required": [],
"type": [
"object",
"null"
]
}
},
"required": [
"locations"
],
"additionalProperties": false
}🟢search_nearby_sessions(course, date_from, date_to, limit, near, ...)
Upcoming sessions of one course across the venues closest to a postcode or suburb, merged soonest first, with each venue's distance in km. near is required: this server can't tell where the person is, so ask them for their postcode or suburb. If a suburb exists in several states the reply lists the candidates: ask which one and retry with the state or postcode.
输入模式
{
"type": "object",
"properties": {
"course": {
"description": "The course's id, unit code, workshops course id or name, as getCourseDetails accepts.",
"type": "string"
},
"date_from": {
"description": "The first date to search, YYYY-MM-DD in Australia/Brisbane time. Defaults to today; a past date means today.",
"format": "date",
"type": "string"
},
"date_to": {
"description": "The last date to search, YYYY-MM-DD. Defaults to 60 days after date_from and is capped at 365 days after it.",
"format": "date",
"type": "string"
},
"limit": {
"default": 10,
"description": "How many sessions to return. Larger values are capped at 50; values below 1 use the default.",
"maximum": 50,
"type": "integer"
},
"near": {
"description": "The person's Australian postcode or suburb, optionally with its state, such as 4510 or Caboolture QLD. Required: ask the person for it.",
"type": "string"
},
"venues": {
"default": 3,
"description": "How many of the closest venues to search. Larger values are capped at 5; values below 1 use the default.",
"maximum": 5,
"type": "integer"
}
},
"required": [
"course",
"near"
]
}输出模式
{
"type": "object",
"properties": {
"near": {
"additionalProperties": false,
"description": "The place near resolved to.",
"properties": {
"postcode": {
"type": "string"
},
"state": {
"type": "string"
},
"suburb": {
"type": "string"
}
},
"required": [],
"type": "object"
},
"sessions": {
"description": "The sessions, soonest first; null when there are none.",
"items": {
"additionalProperties": false,
"description": "A bookable session.",
"properties": {
"booking_page": {
"description": "The site's course finder, preselected for this course and venue. The person books there and pays on the enrolment site.",
"format": "uri",
"type": "string"
},
"course": {
"description": "The course's id (slug).",
"type": "string"
},
"course_code": {
"description": "The national unit code.",
"type": "string"
},
"course_id": {
"description": "The workshops course id.",
"type": "integer"
},
"course_name": {
"type": "string"
},
"date": {
"description": "The session date, YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"date_display": {
"description": "The date as the site shows it, such as Tuesday 20 October.",
"type": "string"
},
"price_aud": {
"description": "The price in Australian dollars, GST included. A special price replaces the standard one.",
"type": "number"
},
"price_display": {
"description": "The price as the site shows it.",
"type": "string"
},
"seats": {
"description": "The seats left as the site shows them, such as 5+. Never the exact vacancy count.",
"type": "string"
},
"session_id": {
"description": "The session's id.",
"type": "string"
},
"time": {
"description": "The start and finish time as the site shows it.",
"type": "string"
},
"venue": {
"additionalProperties": false,
"description": "A training venue.",
"properties": {
"address": {
"type": "string"
},
"distance_km": {
"description": "The distance from near in kilometres, to one decimal place. Present only on distance-ordered results.",
"type": "number"
},
"id": {
"description": "The venue's id. The session endpoints accept it as location.",
"type": "string"
},
"name": {
"type": "string"
},
"postcode": {
"type": "string"
},
"state": {
"description": "The state or territory, such as QLD.",
"type": "string"
},
"suburb": {
"type": "string"
}
},
"required": [
"id",
"name",
"state"
],
"type": "object"
}
},
"required": [
"session_id",
"course",
"course_id",
"course_name",
"date",
"date_display",
"time",
"price_aud",
"price_display",
"seats",
"venue",
"booking_page"
],
"type": "object"
},
"type": [
"array",
"null"
]
},
"venues_searched": {
"description": "The venues searched, nearest first.",
"items": {
"additionalProperties": false,
"description": "A training venue.",
"properties": {
"address": {
"type": "string"
},
"distance_km": {
"description": "The distance from near in kilometres, to one decimal place. Present only on distance-ordered results.",
"type": "number"
},
"id": {
"description": "The venue's id. The session endpoints accept it as location.",
"type": "string"
},
"name": {
"type": "string"
},
"postcode": {
"type": "string"
},
"state": {
"description": "The state or territory, such as QLD.",
"type": "string"
},
"suburb": {
"type": "string"
}
},
"required": [
"id",
"name",
"state"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"venues_searched",
"sessions"
],
"additionalProperties": false
}🟢search_sessions(course, date_from, date_to, limit, location)
Upcoming sessions of one course at one venue, soonest first: date, time, venue address, price, seats available (as the site shows them, such as "5+") and a session_id for start_booking. If the person gave a suburb or postcode rather than a venue, use search_nearby_sessions instead.
输入模式
{
"type": "object",
"properties": {
"course": {
"description": "The course's id, unit code, workshops course id or name, as getCourseDetails accepts.",
"type": "string"
},
"date_from": {
"description": "The first date to search, YYYY-MM-DD in Australia/Brisbane time. Defaults to today; a past date means today.",
"format": "date",
"type": "string"
},
"date_to": {
"description": "The last date to search, YYYY-MM-DD. Defaults to 60 days after date_from and is capped at 365 days after it.",
"format": "date",
"type": "string"
},
"limit": {
"default": 10,
"description": "How many sessions to return. Larger values are capped at 50; values below 1 use the default.",
"maximum": 50,
"type": "integer"
},
"location": {
"description": "The venue's id or name from listLocations, or a suburb only one venue has.",
"type": "string"
}
},
"required": [
"course",
"location"
]
}输出模式
{
"type": "object",
"properties": {
"sessions": {
"items": {
"additionalProperties": false,
"description": "A bookable session.",
"properties": {
"booking_page": {
"description": "The site's course finder, preselected for this course and venue. The person books there and pays on the enrolment site.",
"format": "uri",
"type": "string"
},
"course": {
"description": "The course's id (slug).",
"type": "string"
},
"course_code": {
"description": "The national unit code.",
"type": "string"
},
"course_id": {
"description": "The workshops course id.",
"type": "integer"
},
"course_name": {
"type": "string"
},
"date": {
"description": "The session date, YYYY-MM-DD.",
"format": "date",
"type": "string"
},
"date_display": {
"description": "The date as the site shows it, such as Tuesday 20 October.",
"type": "string"
},
"price_aud": {
"description": "The price in Australian dollars, GST included. A special price replaces the standard one.",
"type": "number"
},
"price_display": {
"description": "The price as the site shows it.",
"type": "string"
},
"seats": {
"description": "The seats left as the site shows them, such as 5+. Never the exact vacancy count.",
"type": "string"
},
"session_id": {
"description": "The session's id.",
"type": "string"
},
"time": {
"description": "The start and finish time as the site shows it.",
"type": "string"
},
"venue": {
"additionalProperties": false,
"description": "A training venue.",
"properties": {
"address": {
"type": "string"
},
"distance_km": {
"description": "The distance from near in kilometres, to one decimal place. Present only on distance-ordered results.",
"type": "number"
},
"id": {
"description": "The venue's id. The session endpoints accept it as location.",
"type": "string"
},
"name": {
"type": "string"
},
"postcode": {
"type": "string"
},
"state": {
"description": "The state or territory, such as QLD.",
"type": "string"
},
"suburb": {
"type": "string"
}
},
"required": [
"id",
"name",
"state"
],
"type": "object"
}
},
"required": [
"session_id",
"course",
"course_id",
"course_name",
"date",
"date_display",
"time",
"price_aud",
"price_display",
"seats",
"venue",
"booking_page"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"sessions"
],
"additionalProperties": false
}🟢start_booking(session_id)
Get the link that books one place in a session found with search_sessions or search_nearby_sessions. Give the link to the person: they open it, confirm, and finish on the enrolment site, where they enter their own details and pay themselves. This tool books nothing, holds no seat and takes no personal or payment details, so don't tell the person they are booked. The link is for one person: for a group, book each person separately or use the corporate enquiry page (/corporate).
输入模式
{
"type": "object",
"properties": {
"session_id": {
"description": "The session_id from a search_sessions or search_nearby_sessions result.",
"type": "string"
}
},
"required": [
"session_id"
]
}输出模式
{
"type": "object",
"properties": {
"booking_url": {
"description": "The page the person opens to book one place in the session.",
"format": "uri",
"type": "string"
},
"message": {
"description": "What to tell the person.",
"type": "string"
},
"session_id": {
"type": "string"
},
"status": {
"const": "booking_link",
"type": "string"
}
},
"required": [
"status",
"session_id",
"booking_url",
"message"
],
"additionalProperties": false
}社区
证据