@pipeworx/tga-artg
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/tga-artg’s. Install: one-click buttons
Connect to just the @pipeworx/tga-artg pack
https://gateway.pipeworx.io/tga-artg/mcp — only @pipeworx/tga-artg’s own tools, nothing else in the catalog.
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 4
TGA ARTG — the Australian Register of Therapeutic Goods: every medicine, biological and medical device approved for supply in Australia. Search by product, active ingredient, sponsor or manufacturer, or pull the full record for one ARTG entry — sponsor, every ingredient with strength, indications, and links to its Product Information (PI) and Consumer Medicine Information (CMI) documents.
Scope — Australia, and only Australia
For the US use openfda; EU-wide, ema-medicines; UK, mhra-uk; Canada, health-canada-drugs; Spain, aemps-cima. Tools are prefixed artg_ so they never win a generic drug question.
Tools
| Tool | Answers |
|---|---|
artg_search | Which Australian products contain ibuprofen? — search by name/ingredient/sponsor/manufacturer |
artg_entry | What is ARTG 10109? — full ingredients, indications, PI/CMI links |
artg_list | Give me every registered medicine in Australia — walks the whole register (or one entry type) in ARTG-ID order, 100 per page, with total / next_offset |
artg_recent | What was added to the ARTG since 2026-09-15? — new entries only (see below) |
Every response carries source_url (the exact upstream request) and data_as_of (fetch time — this is a live proxy, so there is no separate published version). status is the register’s own value, or unknown when the source omits it; it is never inferred.
Paging and enumeration
artg_search and artg_list take a 0-based offset and return total, has_more and next_offset, taken from the upstream’s own TotalRecords — so paging is exact, not inferred from a full page. Measured 2026-09-25: the whole register is 97,087 entries; entry_type: "Medicine Registered" is 20,037, "Medicine" 34,379. A full sweep of registered medicines is ~201 calls.
Arguments a tool does not implement are refused with an error, not ignored. Until fleet #2422 offset was accepted and silently dropped, so an enumeration loop re-read page one forever and reported success.
Auth
Keyless. No registration.
Data source — NOT the documented “ARTG Search” tool
- https://data.tga.gov.au/ARTGSearch/ARTGWebService.svc/JSON/ARTGValueSearch/ — the WCF JSON web service that actually backs the register.
The TGA’s own documented ARTG Search tool — linked from tga.gov.au and, as of 2026, a beta Power Apps/Power BI portal at compliance.health.gov.au/artg — is interactive-only: a rendered visual with no query API behind it. tga.gov.au itself is also unreachable from our egress (its Akamai front end times out on every request, including a bare static PDF — a silent connection hold, not a 403). This pack instead calls the JSON web service that genuinely backs the register, at the separate, reachable host data.tga.gov.au — the same service TGA’s own internal client library (aehrc/tga-feed-client on GitHub) is built against. It is keyless, live, and answers per query — a proxy, not a mirror.
Things the next person would otherwise rediscover
- The path segment must be uppercase
JSON. Lowercasejson(the form quoted in most third-party documentation, including the aehrc client’s own example config) 404s with a generic WCF “Endpoint not found” HTML page — which is a200-shaped failure if you don’t check for an HTML body where JSON was expected. This pack throws explicitly if the response starts with<. pagestart/pageendare a 1-indexed, INCLUSIVE RECORD RANGE, not a page number.pagestart=3&pageend=5returns records 3, 4 and 5 (three rows). Omitting both silently returns the entire ARTG register (25,000+ active entries) in ARTG-ID order, ignoring every other filter — every call here sends an explicitpagestart=1/pageend=<limit>.ARTGValueSearchfiltered bylicenceidalone returns the single full record — there is no separate working lookup-by-ID endpoint on this host (ARTGEntryJson404s), soartg_entryis built on the same search operation withlicenceidas the only filter.dateStart/dateEndare in the service’s WSDL and do nothing. Probed 2026-09-25 with ISO and dd/mm/yyyy formats, alone and with other filters: the total never changes. Soartg_recentwalks back from the tail of the ID-ordered register instead (IDs are issued sequentially; the newest entries are last) and stops at the first page entirely beforesince, scanning at most 500 entries and sayingcomplete: falseif that was not enough. It sees NEW entries only — a cancellation or variation to an existing entry carries no date here.- Large ranges are slow. 500 rows took 34s on 2026-09-25; pages are capped at 100.
www.tga.gov.auis unreachable from our network — do not build against it.data.tga.gov.au(a distinct host, no Akamai) is what actually answers.
Tools
- artg_search — Search the Australian Register of Therapeutic Goods (ARTG) — every medicine, biological and medical device approved for supply in Australia — by product name, active ingredient, sponsor, or manufactur
- artg_entry — Full Australian Register of Therapeutic Goods (ARTG) record for one entry, by ARTG ID (LicenceId, from artg_search). Returns sponsor, every active/excipient ingredient with strength, dosage form, rout
- artg_list — Walk the ENTIRE Australian Register of Therapeutic Goods (ARTG), in ARTG ID order, 100 entries per page — for bulk ingestion or counting, not for answering a question about one drug (use artg_search f
- artg_recent — New entries added to the Australian Register of Therapeutic Goods (ARTG) since a date — newly registered or listed medicines, biologicals and devices approved for supply in Australia. Covers NEW entri
Tools
artg_entry— Full Australian Register of Therapeutic Goods (ARTG) record for one entry, by ARTG ID (LicenceId, from artg_search). Returns sponsor, every active/excipient ingredient with strength, dosage form, routartg_list— Walk the ENTIRE Australian Register of Therapeutic Goods (ARTG), in ARTG ID order, 100 entries per page — for bulk ingestion or counting, not for answering a question about one drug (use artg_search fartg_recent— New entries added to the Australian Register of Therapeutic Goods (ARTG) since a date — newly registered or listed medicines, biologicals and devices approved for supply in Australia. Covers NEW entriartg_search— Search the Australian Register of Therapeutic Goods (ARTG) — every medicine, biological and medical device approved for supply in Australia — by product name, active ingredient, sponsor, or manufactur