@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

ToolAnswers
artg_searchWhich Australian products contain ibuprofen? — search by name/ingredient/sponsor/manufacturer
artg_entryWhat is ARTG 10109? — full ingredients, indications, PI/CMI links
artg_listGive 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_recentWhat 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

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. Lowercase json (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 a 200-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/pageend are a 1-indexed, INCLUSIVE RECORD RANGE, not a page number. pagestart=3&pageend=5 returns 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 explicit pagestart=1/pageend=<limit>.
  • ARTGValueSearch filtered by licenceid alone returns the single full record — there is no separate working lookup-by-ID endpoint on this host (ARTGEntryJson 404s), so artg_entry is built on the same search operation with licenceid as the only filter.
  • dateStart/dateEnd are 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. So artg_recent walks 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 before since, scanning at most 500 entries and saying complete: false if 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.au is 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, 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
  • 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

Regenerated from source · build October 27, 2026