A side-by-side look at the Ema Article57 and Swissmedic MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Ema Article57 for biology & bioinformatics work as a local process; choose Swissmedic for biology & bioinformatics as a local process. You can also run both side by side in one mcpServers block.
ema_article57_search, ema_article57_product, ema_article57_recent_changes.total_matches, match_type.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Biology & Bioinformatics | Biology & Bioinformatics |
| Quality signal | 59/100 · Good | 52/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 4 | 2 |
| Full listing | View Ema Article57 | View Swissmedic |
ema_article57_searchSearch the EMA Article 57 database — every medicine with a valid marketing authorisation anywhere in the EEA (centrally, mutually-recognised, decentralised AND purely nationally authorised), one row per product x authorisation-country. Answers "which EEA countries is <product> authorised in", "who is the marketing-authorisation holder / pharmacovigilance system location for <product> in <country>", "which products does <company> hold in the EEA". Free-text query matches product name, active substance and holder name. Real offset+limit pagination with a total row count in the response — this is a 164k-row register, not a top-N sample.ema_article57_productThe full Article 57 record(s) for one product by name — every EEA country it is authorised in, with the marketing-authorisation holder and pharmacovigilance system location per country. Article 57 carries no indication text and no per-product URL, so this returns the authoritative EMA source document URL rather than a paraphrased indication.ema_article57_recent_changesProducts added to or removed from the Article 57 register since a given date, computed by diffing our dated snapshots of the EMA export (the source itself carries no change-date column, so there is no other way to answer "what changed"). Returns comparable:false with an explicit reason, never a guessed empty diff, when no snapshot exists at or before the requested date.ema_article57_dataset_infoDataset metadata: the authoritative EMA bulk-download URL, current row count, this pack's snapshot dates on record, and the full list of distinct authorisation-country values used by the country filter. Use this before ema_article57_search when you need the exact country spelling or want the bulk file instead of paginated rows.total_matchesmatch_typePaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"ema-article57": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-ema-article57"
]
}
}
}
{
"mcpServers": {
"swissmedic": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-swissmedic"
]
}
}
}