MCP.Market

Swissmedic MCP server

online · 100% uptime
by pipeworx-io·io.github.pipeworx-io/swissmedic·v0.2.0

Swissmedic authorised human medicines — the 'Zugelassene Arzneimittel HAM' list, Switzerland's…

B77/100grade B
What users say
No reviews yet
Be the first
Safety scan
B77/100

not scanned yet

Adoption
Growing

0 stars

Reviews

Write one

Nobody has reviewed Swissmedic yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Swissmedic tools

Tool list not cached yet. `describe` through the gateway fetches it live.

Not scanned yet. New listings are scanned within a day or two of arriving.

How Swissmedic compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
77/100
higher than 50% of 48,255 servers
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
180 ms
faster than 67% of 30,031 servers

Release history: 3 versions in the registry since 2026-09-25, latest 2026-10-29, typically one every 32 days.

Install Swissmedic in Claude Code, Cursor or VS Code

claude mcp add --transport http swissmedic https://gateway.pipeworx.io/swissmedic/mcp
Add to Cursor

What the publisher says

From the Swissmedic repository's README, as published. We do not edit it. Read it on GitHub

@pipeworx/swissmedic

Swissmedic's authorised human medicines register (Switzerland) — the "Zugelassene Arzneimittel HAM" list: every authorised product and each of its authorised dosage strengths, with the marketing-authorisation holder, medicine category, dispensing category (prescription tier) and authorisation dates. Keyless.

Part of Pipeworx — an MCP gateway connecting AI agents to 1683+ live data sources.

Tools

  • swissmedicsearch(query?, holder?, category?, dispensingcategory?, limit?, offset?) — free-text/filtered search with real offset+limit pagination and a total_matches count. Answers "is X authorised in Switzerland", "who holds the Swiss authorisation for X", "what dispensing category is X in".
  • swissmedicproduct(name) — every authorised dosage strength for one product by name (exact match preferred, falls back to substring with matchtype marked). The export carries no indication text and no per-product URL, so this returns the authoritative Swissmedic download instead.
  • swissmedicrecentchanges(since) — products first authorised, or with a dosage strength newly authorised, since a date — a real signal from the source's own date columns.
  • swissmedicdatasetinfo() — the authoritative bulk-download URL, source page, row count, and the full lists of distinct medicine categories and dispensing categories used by the filters.

Auth

Keyless.

Data sources

  • — the authorised human medicines XLSX, linked from swissmedic.ch's "Listen und Verzeichnisse" page. Verified live 2026-09-25: HTTP 200, 1,005,371 bytes, 11,086 data rows. Swissmedic states the lists are "updated monthly" — there is no finer-grained cadence published.

This pack fetches EMA-sized data, not ema-article57-sized data — and that difference decides the architecture

The file is ~1 MB compressed, ~4.8 MB of sheet XML. That is the same size class the sibling ema-medicines pack already parses live per request without issue, and roughly 9x smaller than the file that made the ema-article57 pack build a local R2-backed copy instead (164,314 rows / 63 MB of sheet XML there, versus 11,086 rows / 4.8 MB here). So swissmedic fetches live, same pattern as ema-medicines: one parsed copy held per isolate for 12 hours (DATASETTTLMS) plus a 12-hour Cloudflare edge cache on top — Swissmedic's own monthly update cadence makes anything shorter needless re-downloading of an unchanged file. If a refresh fails while an earlier copy is in hand, the earlier copy is served rather than an error.

Licence — this is a live proxy, not a mirror, so no separate reuse grant is needed

Swissmedic's general Legal Notice is more restrictive-sounding than EMA's ("downloading or copying content... requires written consent from the copyright holders" — a page written for the site broadly, not this specific public list). That question does not need resolving here: per the proxy-vs-mirror rule (mirror-needs-grant-proxy-does-not, CLAUDE.md), a pack that calls a public, keyless upstream live on each cache-miss is a client, not a publisher, and needs no explicit grant — only bulk-copying/mirroring the dataset would. This pack does the former (fetch-and-cache, same as ema-medicines), never the latter.

Schema — row 7 is the header, bilingual DE/FR source

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Swissmedic: common questions

Is Swissmedic MCP server safe?
Mostly: it is graded B (77/100). Read the Swissmedic safety report
How do I install Swissmedic?
It runs remotely at gateway.pipeworx.io. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Swissmedic need an API key?
Yes. The registry entry asks for PIPEWORX_API_KEY.
Is Swissmedic maintained?
The last commit was 40 days ago (2026-09-25). The latest release is v0.2.0.
Is Swissmedic up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does Swissmedic compare with other MCP servers?
safety score 77/100 (higher than 50% of 48,255 servers); uptime 100% (of our recent checks; the typical remote server answers 100%); response time 180 ms (faster than 67% of 30,031 servers). Full comparison.

More from pipeworx-io →