Live Australian veterinary jobs: vet, nurse and locum roles, direct from employers.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Fetch a single live listing by its numeric id, in the same shape search_jobs returns, including embedded schema.org JobPosting structured data. Returns an error if the listing is unknown, unpublished or expired — treat that as 'no longer available' rather than retrying.
Numeric listing id from search_jobs.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Fetch a single live listing by its numeric id, in the same shape search_jobs returns, including embedded schema.org JobPosting structured data. Returns an error if the listing is unknown, unpublished or expired — treat that as 'no longer available' rather than retrying.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Numeric listing id from search_jobs. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Numeric listing id from search_jobs."
}
},
"additionalProperties": false
}The board's vocabulary and volume: every occupation category with its live count, the states that currently have listings, the total active count and the first-party vs imported split. Call this first to learn valid filter values and how much inventory exists before searching.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Incremental sync: every listing created or updated since the given ISO 8601 timestamp, newest first. Poll this instead of re-fetching the whole board — combine with the returned ids to keep a local copy current. Expired listings are never returned.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| per_page | integer | |
| first_party | boolean | Restrict to first-party (non-imported) listings. |
| updated_since* | string | ISO 8601 date or datetime to sync from. |
{
"type": "object",
"required": [
"updated_since"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"per_page": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"first_party": {
"type": "boolean",
"description": "Restrict to first-party (non-imported) listings."
},
"updated_since": {
"type": "string",
"description": "ISO 8601 date or datetime to sync from."
}
},
"additionalProperties": false
}Search live veterinary job listings on VetJobs.au, Australia's dedicated veterinary job board: veterinarian, veterinary nurse, locum, practice manager, reception and animal care roles posted by clinics, hospitals and practices across Australia (plus some New Zealand roles), with no recruiter middlemen. Expired listings are never returned; a listing that is gone from the source disappears from results. Each listing reports provenance: source, is_imported, first_party and source_url. Pass first_party=true to restrict results to listings the employer posted directly — the most current inventory, and the subset safest to cite.
| Argument | Type | Description |
|---|---|---|
| q | string | Free-text search over title, employer, location and description. |
| page | integer | |
| state | string | Australian state/territory code, e.g. QLD, NSW, VIC. |
| category | string | Occupation slug. Call list_categories first for the vocabulary and live counts, e.g. veterinary-nurse, veterinarian-small-animal. |
| per_page | integer | |
| first_party | boolean | true = only listings posted directly by the employer (excludes scraped imports); false = only imports. Omit for both. |
| updated_since | string | ISO 8601 date or datetime. Returns only listings changed since then — use this for incremental sync instead of re-fetching everything. |
| employment_type | string | FULL_TIME, PART_TIME, LOCUM_TENENS, CASUAL, CONTRACTOR, TEMPORARY, RESIDENCY, INTERNSHIP, VOLUNTEER or OTHER. |
| new_graduates_accepted | boolean | true = only listings that say they accept new graduates (graduate-friendly roles); false = only listings that do not. Omit for both. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free-text search over title, employer, location and description."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"state": {
"type": "string",
"description": "Australian state/territory code, e.g. QLD, NSW, VIC."
},
"category": {
"type": "string",
"description": "Occupation slug. Call list_categories first for the vocabulary and live counts, e.g. veterinary-nurse, veterinarian-small-animal."
},
"per_page": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"first_party": {
"type": "boolean",
"description": "true = only listings posted directly by the employer (excludes scraped imports); false = only imports. Omit for both."
},
"updated_since": {
"type": "string",
"description": "ISO 8601 date or datetime. Returns only listings changed since then — use this for incremental sync instead of re-fetching everything."
},
"employment_type": {
"type": "string",
"description": "FULL_TIME, PART_TIME, LOCUM_TENENS, CASUAL, CONTRACTOR, TEMPORARY, RESIDENCY, INTERNSHIP, VOLUNTEER or OTHER."
},
"new_graduates_accepted": {
"type": "boolean",
"description": "true = only listings that say they accept new graduates (graduate-friendly roles); false = only listings that do not. Omit for both."
}
},
"additionalProperties": false
}