Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Transports: stdio vs HTTP
  • State of MCP (stats)
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI β†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE β†— (opens in a new tab)
  • llms.txt β†— (opens in a new tab)
  • Catalog JSON β†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub β†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
Β© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. πŸ’» Developer Tools
  3. Ema Article57
E
Health: Not checked yetWe have not completed a health check for this listing yet.No health check has run yet.

Ema Article57

User RatingsBe the first to rate and review this MCP server! Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time β€” check back soon.
View RepositoryVisit Website

EMA Article 57 product data β€” every medicine with a valid marketing

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β€” or use 1-click editor setup below.

One-click editor setup isn’t available for this listing yet β€” we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.

Manual Client & Custom JSON ConfigExpand JSON β–Ύ
No confirmed setup config for this listing yet. We only publish a config block when the install details come from the project itself β€” its README, its docs, or a verified owner. We haven’t found those for Ema Article57, and we’d rather show nothing than a guess you’d paste into your client. Follow the project’s own setup instructions for the current steps.
Install Directory Badge Claim listing AlternativesπŸ’» More in Developer Tools

Documentation Overview

@pipeworx/ema-article57

EMA Article 57 product data β€” every medicine with a valid marketing authorisation anywhere in the European Economic Area (centrally, mutual-recognition, decentralised AND purely nationally authorised), one row per product x authorisation-country, with the marketing-authorisation holder and pharmacovigilance system location for each. Keyless.

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

This is EMA's WIDE register. The sibling ema-medicines pack covers only the EU centralised-procedure medicines (~1 row per medicine, richer fields β€” status, indications, approval dates). Article 57 is the opposite trade-off: thinner fields, but every EEA country's nationally authorised products too, which ema-medicines explicitly does not carry.

Tools

  • ema_article57_search(query?, active_substance?, holder?, country?, route?, limit?, offset?) β€” free-text/filtered search with real offset+limit pagination and a total_matches count. Answers "which EEA countries is X authorised in", "who is the marketing-authorisation holder for X in country Y", "which products does company Z hold in the EEA".
  • ema_article57_product(name, country?) β€” every authorisation-country record for one product by name (exact match preferred, falls back to substring with match_type marked). Article 57 carries no indication text and no per-product URL, so this returns the authoritative EMA source document URL instead of a paraphrased indication.
  • ema_article57_recent_changes(since) β€” products added to / removed from the register since a date, computed by diffing this pack's own dated snapshots (the source has no change-date column at all β€” see Gotchas). Returns comparable: false with a stated reason rather than a guessed empty diff when no snapshot covers the requested window.
  • ema_article57_dataset_info() β€” 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 (for exact spelling before filtering by country).

Auth

Keyless.

Data sources

  • https://www.ema.europa.eu/en/documents/other/article-57-product-data_en.xlsx β€” the Article 57 database export, linked from EMA's "Public data from Article 57 database" page. Verified live 2026-09-25: HTTP 200, Last-Modified: Thu, 24 Sep 2026 13:38:24 GMT, 7,870,020 bytes, 164,314 data rows. The page states the file carries "EMA/518502/2018 Rev. 88" and is updated "periodically" β€” there is no published cadence, so Last-Modified is the only real freshness signal.

Architecture β€” this pack does NOT fetch EMA live

Measured 2026-09-25 against the real file: 7.87 MB compressed unzips to 63.0 MB of sheet1.xml + 4.7 MB of sharedStrings.xml (164,314 rows x 8 columns). Parsing a much smaller EMA export with the same regex-scan approach (ema-medicines's ~0.9 MB report) already measured 123 MB of V8 heap; this file is ~9x bigger and would not fit in a Cloudflare Worker's 128 MB ceiling. So this pack reads a pre-built, pre-compacted dataset from the shared pipeworx-datasets R2 bucket instead of calling EMA per request. scripts/ingest-ema-article57.mjs does the actual fetch + XLSX parse (offline, not in a Worker) and writes:

  • ema-article57/latest.json.gz β€” all 164,314 rows, dictionary-encoded (schema 2: each column is a table of unique strings plus one integer index per row), 6.35 MB raw / 1.42 MB gzipped, read once per isolate.

    Why columns, not row objects: schema 1 stored one object per row (29 MB of JSON) and three of the four tools died with Cloudflare error 1102 (resource limits) inside the gateway isolate on 2026-09-25. Every column repeats heavily β€” 15.9M characters of values, 2.8M unique, 32 countries, ~4,000 holders β€” so filters are decided once per unique value and looked up per row by index. Measured locally against the real file: search peaks ~33 MB above baseline, recent_changes (two snapshots) ~59 MB, 15 MB held once cached. The pack refuses any other schema rather than misreading it.

  • ema-article57/snapshots/YYYY-MM-DD.json.gz β€” one dated copy per ingest run, kept for ema_article57_recent_changes to diff against.

  • ema-article57/snapshots-index.json β€” small, uncompressed list of snapshot dates on record.

  • ema-article57/meta.json β€” generation metadata.

Re-run the ingest periodically (node scripts/ingest-ema-article57.mjs) to track EMA's own updates and to give ema_article57_recent_changes more than one snapshot to diff β€” as shipped, only 2026-09-25 is on record, so recent_changes cannot yet answer for any earlier since date and says so explicitly rather than guessing zero.

Without the gateway's _r2 binding (a bare npm install of this package) every tool returns {reason: "dataset_unavailable", hint: ...} naming the upstream URL to fetch directly β€” there is no live fallback, because a live per-request fetch+parse is exactly the thing this architecture note explains is not viable.

Licence β€” EMA's Legal Notice explicitly permits this

EMA's Legal Notice: "Information and documents made available on EMA's webpages are public and may be reproduced and/or distributed, totally or in part, irrespective of the means and/or the formats used, for non-commercial and commercial purposes, provided that EMA is always acknowledged as the source of the material." An explicit reuse grant, not silence β€” building a copy here does not depend on the mirror-needs-grant-proxy-does-not proxy-only fallback.

Schema β€” eight columns, nothing else

Row 20 is the header (rows 1-19 are a provenance banner + blank rows, same shape as the medicines-output-* reports), rows 21+ are data. In order: product name, active substance, route of administration, authorisation country, marketing authorisation holder, pharmacovigilance system master file location, PV enquiries email, PV enquiries phone.

We keep the first six and drop the PV email and phone before anything is stored. They are contact details β€” at small holders often a named person's own address β€” and this pack serves a copy, not a live proxy, so CLAUDE.md's personal-data carve-out applies. ema_article57_dataset_info lists them under fields_withheld. Do not add them back without a ruling.

There is no date field, no per-product id, and no per-product URL. Article 57 is a thin regulatory cross-reference (who holds what, where) β€” not a clinical register. Do not expect indication text, approval dates, or a status field; ema_article57_dataset_info lists exactly what is and is not present (fields / fields_not_present).

Grain β€” one row per product x country, by design

The same product name legitimately repeats once per EEA country it is authorised in (e.g. "Helixor A" has separate rows for Latvia and Lithuania, each with its own holder/PV contact β€” in this case the same holder, but that is not guaranteed for every product). ema_article57_product returns every matching row, not one collapsed record, and countries_found lists them.

Country names are EMA's own English spellings, not ISO codes

country values are free text as EMA publishes them β€” "Germany", "United Kingdom (Northern Ireland)", "Czech Republic", "European Union" (yes, that's a real value in the country column, alongside "Iceland", "Liechtenstein", "Norway" for the wider EEA). ema_article57_search's country filter does an exact (case-insensitive) match, so get the spelling from ema_article57_dataset_info's distinct_countries first rather than guessing an ISO code or abbreviation.

ema_article57_recent_changes needs at least two snapshots β€” it has one as shipped

The source publishes no per-row change date at all, so "what changed" can only ever be answered by diffing two of this pack's own dated snapshots. As shipped there is exactly one (2026-09-25), so every since request currently returns comparable: false, reason: "no_snapshot_at_or_before_since" β€” correct behaviour, not a bug, and the tool says so rather than returning a fabricated empty diff. Re-running the ingest script on a schedule is what makes this tool answer for real; see "Architecture" above.

Known gap in add-pack.mjs's automated smoke test for R2-backed packs

scripts/lib/pack-smoke.mjs (used by scripts/add-pack.mjs step 3) calls each tool with only the arguments in smoke.json β€” it has no mechanism to inject a _r2 binding, so its recorded smoke results for this pack (and for every other injectR2 pack: court-listener, crs-reports, esef-filings, fda-drug-competition) are the honest "no binding" answer (dataset_unavailable), not real data. That payload is not literally empty by payload-emptiness.mjs's heuristic (it has non-array keys), so the automated gate passes mechanically without ever exercising the real data path. This pack's tools were independently verified against the live production R2 dataset with a hand-built binding shim before shipping (real search/product/dataset_info/recent_changes calls against 164,314 real rows) β€” see the fleet #2421 close notes for the transcript. Worth fixing generally in pack-smoke.mjs at some point; out of scope for this pack alone.

Quick Start

Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):

config.json
{
  "mcpServers": {
    "ema-article57": {
      "url": "https://gateway.pipeworx.io/ema-article57/mcp"
    }
  }
}

What this endpoint actually serves

Read the full README β†’View source on GitHub β†’

Related MCP Servers

View all in Developer Tools View all alternatives
  • Openapi MCP Server logoOpenapi MCP Server

    Connect any HTTP/REST API server using an Open API spec (v3)

    πŸ’» Developer Tools3 views
    Compare vs Openapi MCP Server β†’
  • Claude Task Master logoClaude Task Master

    AI-powered task management system for AI-driven development. Features PRD parsing, task expansion, multi-provider support (Claude, OpenAI, Gemini, Perplexity, xAI), and selective tool loading for optimized context usage.

    πŸ’» Developer Tools8 views
    Compare vs Claude Task Master β†’
  • MCP Server Docker logoMCP Server Docker

    Integrate with Docker to manage containers, images, volumes, and networks.

    πŸ’» Developer Tools3 views
    Compare vs MCP Server Docker β†’
  • Andrea9293 MCP logoAndrea9293 MCP

    Local-first document management and semantic search for AI coding agents

    πŸ’» Developer Tools2 views
    Compare vs Andrea9293 MCP β†’

Reviews

No reviews yet β€” be the first to share how this listing worked for you.

Frequently Asked Questions about Ema Article57

We don't have a confirmed install command for Ema Article57 yet, so we don't publish a generated one β€” a guessed package name would point at the wrong package or none at all. Follow the project's own README or setup instructions (https://github.com/pipeworx-io/mcp-ema-article57) for the current steps.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewEma Article57 AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ema-article57?style=directory)](https://allmcps.com/mcp/ema-article57)
HTML Embed
<a href="https://allmcps.com/mcp/ema-article57"><img src="https://allmcps.com/api/badge/ema-article57?style=directory" alt="Ema Article57 on AllMCPs" /></a>

Technical Specs & Signals

CategoryπŸ’»Developer Tools
More technical detailsExpand β–Ύ
Last updatedSep 28, 2026
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
27Quality signal: Emerging Β· 27/100How this signal is calculated β–Ύ
Server availabilityNot measured

Not scored for repo-hosted servers β€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership8/20
Documentation & tools11/30
Adoption & activity1/15
Community engagement0/10

A guidance signal from public completeness & health data β€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

β˜… FeaturedAllMCPs Server logo

AllMCPs Server

The official MCP server for AllMCPs.com - submit and manage tools directly from your AI. The open directory for MCP servers. Connect Claude, Cursor, Windsurf, and AI agents to databases, tools, files, and APIs. Explore 10,000+ servers. AllMCPs is the premier, open directory for discovering, evaluating, and installing Model Context Protocol (MCP) servers to equip AI agents and LLMs with real-world superpowers.

Explore Server β†’

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge β€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it β€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in πŸ’» Developer Tools β†’Best MCP servers for Developers β†’Alternatives to Ema Article57 β†’Install in Claude DesktopInstall in CursorInstall in VS CodeSetup guides for all 13 MCP clients