@pipeworx/ema-medicines

Connect: https://gateway.pipeworx.io/ema-medicines/mcp · Install: one-click buttons

Tools: 8

European Medicines Agency medicines register — every medicine authorised for the EU market through the centralised procedure, plus the committee opinions still awaiting a European Commission decision — and the EMA’s herbal-medicine inventory: plant/botanical substances the Committee on Herbal Medicinal Products (HMPC) has assessed, with links to each herb’s EU herbal monograph and assessment-report PDFs.

Tools

  • ema_recent_approvals(from?, to?, month?, category?, limit?) — new EU marketing authorisations in a date window. Answers “which drugs did the EMA approve in July 2026”.
  • ema_chmp_opinions(opinion_status?, since?, category?, include_decided?, limit?) — medicines the CHMP (human) or CVMP (veterinary) has recommended for or against approval and the Commission has not yet decided. Answers “what did the CHMP recommend this month”.
  • ema_medicine_search(query, status?, category?, orphan_only?, limit?) — search by brand name, INN / active substance, therapeutic area, indication text, ATC code or authorisation holder.
  • ema_medicine(name) — the full published record for one medicine, by brand name or EMA product number.
  • ema_recent_updates(since?, status?, category?, limit?) — register entries that changed most recently, including withdrawals and suspensions.
  • herb_search(name?, latin?, botanical?, therapeutic_area?, status?, limit?) — search the EMA herbal-medicines inventory (plant/herb substances) by common name, Latin/botanical name, therapeutic area, or HMPC assessment status. Answers “which herbs has the EMA assessed for sleep disorders”, “is there an EU herbal monograph for chamomile”.
  • herb(latin_name?, common_name?) — the full inventory record for one herb, plus monograph_url and assessment_report_url scraped (link extraction only) from the herb’s EMA page. Answers “what is the EMA monograph link for valerian root”.
  • herb_monograph_status(latin) — HMPC assessment status, code/label, and the outcome of the European assessment for one herb by Latin name; explains why well-established-use vs traditional-use is NOT a field the register carries (see below).

Auth

Keyless.

Data sources

Things worth knowing before you touch this

  • Sheet layout is not row 1. Sheet Medicine: row 1 is a provenance banner, rows 2–8 are blank, row 9 is the header (39 columns), rows 10+ are records. The header row uses inline strings, not shared strings — a parser that only resolves shared strings reads the header as blank.
  • Self-closing cells are a trap. <c r="E10" s="1"/> is an empty cell. A greedy attribute match in the cell regex swallows the / and runs on to the next cell’s </c>, silently shifting every value in the row by one column. src/xlsx.ts uses a lazy match for exactly this reason.
  • Use Marketing authorisation date for “new approvals”, not European Commission decision date. The Commission decision date also moves on post-authorisation variations — 80–141 rows a month — while genuine initial authorisations run 4–12 a month. Filtering on the wrong one answers a different question without looking wrong.
  • The committees meet monthly, so “what did the CHMP recommend this month” lands on an empty window most of the time. When since filters everything out, ema_chmp_opinions returns the outstanding opinions and states in window_note that none were adopted in the window asked for — the question is about the pipeline, not the calendar.
  • Opinion status alone does not mean “pending”. Authorised and withdrawn products keep their historical opinion fields. Pending means Medicine status starts with Opinion; ema_chmp_opinions applies that by default and exposes include_decided to widen it.
  • EMA rate-limits bursts and answers a 429 with ~40 KB of HTML rather than JSON — reproduced at five sequential requests. A per-call download is not viable, so the pack holds one parsed copy for six hours and the Cloudflare edge cache absorbs repeats on top of that. If a refresh fails while an earlier copy is in hand, the earlier copy is served rather than an error.
  • Dates are DD/MM/YYYY upstream and are converted to ISO on the way out.
  • data.europa.eu is not a route to this data. The EMA datasets are still listed there but frozen at modified: 2019-01-09, and every distribution URL 404s against the pre-redesign /sites/default/files/Medicines_output_*.xlsx path.
  • The register covers the EU centralised procedure only — nationally authorised products are not in it.

Herbal tools — things worth knowing

  • Same sheet layout, different columns. Row 1 banner, row 9 is the header, rows 10+ records. Columns: Latin name, Combination, English common name, Botanical name, Therapeutic area, Status, Outcome of European assessment, Additional information, three date columns, and Herbal medicine URL (the per-herb page).
  • The sheet repeats some herbs’ rows identically. Fragariae folium appears 4 times with byte-identical values across every column; loadHerbal() dedups on the per-herb page URL (204 distinct herbs from 251 data rows, verified 2026-09-07).
  • The per-herb page URL slug is the LATIN name, not the common name (valerianae-radix, not valerian-root) — a couple of herbs get a -0 suffix (taraxaci-officinalis-radix-0) for reasons EMA doesn’t document.
  • herb scrapes links, not prose. A herb’s EMA page lists every revision’s documents as plain relative hrefs under /en/documents/<category>/<filename>_en.pdf. The path category tells you the document type (herbal-monograph = the monograph, herbal-report = the assessment report — the only two categories herb reads); the filename prefix tells you its currency (final- beats draft- beats anything starting superseded). herb picks the best-ranked link per category. It does not read the page’s prose sections — the FAQ-style “well-established use” / “traditional use” explainer text lives there but scraping it is out of scope for this pack.
  • The register does not carry a well-established-use vs traditional-use field, at all. Checked every distinct value of Outcome of European assessment across the full 2026-09-07 sheet: European Union herbal monograph, European Union herbal monograph;European Union list entry, European Union list entry, Public statement — none of the four say which use category applies. That classification is set per-indication inside the monograph document itself (Article 10a “well-established use” vs Article 16a “traditional use”), and a single herb can carry both for different indications — valerian root’s monograph, for instance, is well-established use for mild nervous tension and sleep, and traditional use for mild mental stress. herb_monograph_status returns use_classification: null with a note explaining this, rather than guessing from prose.
  • A herb without a finalised assessment can still have a final monograph. Assessment status (F/P/C/D/R) tracks the periodic-review cycle, not first publication — Taraxaci officinalis radix carries R: Rapporteur assigned (an ongoing review) but its page already has a final- monograph and assessment report from years earlier. Rank on the filename prefix, never on the register’s status field.
  • An early-stage herb may have no assessment report yet. Cannabis flos (D: Draft under discussion) has only a draft-public-statement-*.pdf under herbal-monograph and nothing at all under herbal-reportherb returns assessment_report_url: null rather than erroring.

Tools

  • ema_recent_approvals — New medicines authorised for the European Union market by the European Medicines Agency, in a date window. Returns brand name, active substance / INN, therapeutic area and indication, marketing-author
  • ema_chmp_opinions — Medicines the EMA committees (CHMP for human medicines, CVMP for veterinary) have recommended for or against EU approval, still awaiting the European Commission decision. Returns brand name, active su
  • ema_medicine_search — Search the European Medicines Agency register of centrally authorised medicines by brand name, active substance or INN, therapeutic area, indication text, ATC code, or marketing-authorisation holder.
  • ema_medicine — Full European Medicines Agency record for one medicine, looked up by brand name or EMA product number (EMEA/H/C/…). Returns every published field: status, authorised indication, active substance, AT
  • ema_recent_updates — Medicines whose European Medicines Agency register entry changed most recently — new authorisations, status changes to withdrawn or suspended, refreshed product information. Returns the medicine, what
  • herb_search — Search the European Medicines Agency (EMA) herbal medicines inventory — the plant/botanical substances the EMA Committee on Herbal Medicinal Products (HMPC) has assessed or is assessing for use in her
  • herb — Full European Medicines Agency (EMA) herbal-inventory record for one plant/herb, looked up by Latin name or English common name, plus the direct links to its EU herbal monograph PDF and assessment-rep
  • herb_monograph_status — The European Medicines Agency (EMA) herbal-monograph assessment status for one herb by Latin name — the HMPC assessment status code and label (e.g. finalised, ongoing call for scientific data), the ou

Tools

  • ema_chmp_opinions — Medicines the EMA committees (CHMP for human medicines, CVMP for veterinary) have recommended for or against EU approval, still awaiting the European Commission decision. Returns brand name, active su
  • ema_medicine — Full European Medicines Agency record for one medicine, looked up by brand name or EMA product number (EMEA/H/C/...). Returns every published field: status, authorised indication, active substance, AT
  • ema_medicine_search — Search the European Medicines Agency register of centrally authorised medicines by brand name, active substance or INN, therapeutic area, indication text, ATC code, or marketing-authorisation holder.
  • ema_recent_approvals — New medicines authorised for the European Union market by the European Medicines Agency, in a date window. Returns brand name, active substance / INN, therapeutic area and indication, marketing-author
  • ema_recent_updates — Medicines whose European Medicines Agency register entry changed most recently — new authorisations, status changes to withdrawn or suspended, refreshed product information. Returns the medicine, what
  • herb — Full European Medicines Agency (EMA) herbal-inventory record for one plant/herb, looked up by Latin name or English common name, plus the direct links to its EU herbal monograph PDF and assessment-rep
  • herb_monograph_status — The European Medicines Agency (EMA) herbal-monograph assessment status for one herb by Latin name — the HMPC assessment status code and label (e.g. finalised, ongoing call for scientific data), the ou
  • herb_search — Search the European Medicines Agency (EMA) herbal medicines inventory — the plant/botanical substances the EMA Committee on Herbal Medicinal Products (HMPC) has assessed or is assessing for use in her

Regenerated from source · build September 10, 2026