Unofficial EMA

Provides access to EMA public JSON data for regulatory intelligence and pharma research via a unified MCP interface.
  • javascript

0

GitHub Stars

javascript

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "openpharma-org-ema-mcp": {
      "command": "node",
      "args": [
        "/path/to/ema-mcp-server/build/index.js"
      ]
    }
  }
}

You can access EMA public JSON data through a single, unified MCP server that exposes EU regulatory information for medicines, safety, and regulatory documents. This server makes it easier to explore EU drug approvals, EPARs, orphan designations, shortages, safety reviews, and pediatric data in a consistent MCP workflow alongside other global sources.

How to use

You connect to the EMA MCP server using an MCP client by configuring the server entry and then issuing method calls that retrieve medicines, safety data, and related documents. Start by ensuring your MCP client is pointed at a defined MCP server entry, then use the available methods to search medicines, fetch specific records, check safety updates, and access EMA documents.

Key capabilities you’ll use include searching EU-approved medicines, getting detailed records for a specific medicine, retrieving orphan designations, checking current supply shortages, and querying EMA documents such as EPARs. Each method returns a structured result with a total count, an array of results, and metadata about the data source and last update.

How to install

Prerequisites you need on your host: a modern runtime to execute JavaScript (Node.js). Verify Node.js is installed by running node -v and npm -v in your terminal.

Create your MCP server configuration file using the example configuration below. This defines the EMA MCP server entry and how to start it.

Save the configuration snippet to a file named mcp-config.json or include it in your MCP launcher configuration as appropriate for your environment.

Run the EMA MCP server using the exact command and path provided in the configuration. The example assumes you have the EMA MCP server built at the path shown.

If you manage multiple MCP servers, you can aggregate them in a single MCP config file and start them together through your MCP client or orchestrator according to your setup.

Configuration and server entry

{
  "mcpServers": {
    "ema-mcp-server": {
      "command": "node",
      "args": ["/path/to/ema-mcp-server/build/index.js"],
      "env": {}
    }
  }
}

Notes and tips

You can customize how you query EMA data by using the available methods like search_medicines, get_medicine_by_name, get_orphan_designations, and search_epar_documents. Each method accepts specific parameters to filter results, such as active substance, therapeutic area, status, year, and limit.

If you need to inspect EMA safety communications or pediatric data, you can query get_dhpcs, get_psusas, and get_pips respectively. Response structures follow a consistent pattern with total_count, results, source, source_url, and last_updated fields.

Examples of common workflows

Search EU-approved medicines for a substance like semaglutide and limit results to 10 records by using the search_medicines method with appropriate filters.

Retrieve a complete record for a medicine by its trade name using get_medicine_by_name to obtain EMA product number, active substance, and approval details.

Security and access considerations

Protect your MCP configuration file and any environment variables used by the EMA MCP server. Use least-privilege access and rotate credentials as needed. If you expose the MCP server to the internet, apply standard security hardening and monitor access logs.

Troubleshooting

If the server does not start, verify the path to the EMA MCP server build is correct and that Node.js is installed. Check that the MCP configuration includes the proper command, args, and env sections as shown in the example. Confirm your MCP client is configured to read from the same server entry name.

Available tools

search_medicines

Search EU-approved medicines database with filters like active_substance, therapeutic_area, status, orphan, prime, biosimilar, conditional_approval, and limit to control results.

get_medicine_by_name

Fetch a complete medicine record by its trade name, including EMA product number and approval details.

get_orphan_designations

Retrieve EU orphan drug designations with optional filters such as therapeutic_area, active_substance, year, status, and limit.

get_supply_shortages

Get current medicine supply shortage information filtered by active_substance, medicine_name, therapeutic_area, and status.

get_referrals

Fetch EU-wide safety reviews and referrals with optional filters like safety, active_substance, status, year, and limit.

get_post_auth_procedures

Obtain post-authorization procedures for a specific medicine or list.

get_dhpcs

Retrieve Direct Healthcare Professional Communications safety notices filtered by medicine_name, active_substance, dhpc_type, year, and limit.

get_psusas

Get Periodic Safety Update Reports with filters for active_substance and regulatory_outcome.

get_pips

Fetch Paediatric Investigation Plans by active_substance, therapeutic_area, decision_type, year, and limit.

get_herbal_medicines

Get herbal medicine assessments. Note: endpoint availability may be empty until a valid endpoint is identified.

get_article58_medicines

Fetch medicines for use outside EU under Article 58. Note: endpoint availability may be empty until a valid endpoint is identified.

search_epar_documents

Search EPAR documents with optional filters for medicine_name, document_type, language, and limit.

search_all_documents

Search all EMA documents with optional search_term, document_type, category, and limit.

search_non_epar_documents

Search non-EPAR documents with optional search_term, document_type, and limit.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational