fda_drug_events
Pack: openfda · Endpoint: https://gateway.pipeworx.io/openfda/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/fda_drug_events for the schema, then POST the same URL with its arguments for the data.
Search FAERS adverse event reports by drug name, MedDRA reaction term, or date range. Returns report counts, reaction types, seriousness levels, and dates. Natural multi-word reaction phrasing is retried against MedDRA preferred-term word order before an empty result is reported. FAERS reports do not establish incidence or causality.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | OpenFDA search query. Filter drugs on patient.drug.medicinalproduct — the report’s own drug-name field, present on every record and matching brand or generic. The patient.drug.openfda.* fields are enrichment that is missing for many newer drugs (semaglutide/OZEMPIC among them) and silently match nothing; this tool retries them against medicinalproduct, but naming it directly costs one call instead of two. Examples: ‘patient.drug.medicinalproduct:“OZEMPIC”’, ‘patient.drug.medicinalproduct:“semaglutide”+AND+serious:1’, ‘receivedate:[20240101+TO+20241231]‘ |
limit | number | no | Number of results (1-100, default 10) |
skip | number | no | Offset for pagination (default 0) |
Example call
Arguments
{
"query": "patient.drug.medicinalproduct:\"OZEMPIC\""
}
curl
curl -X POST https://gateway.pipeworx.io/openfda/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fda_drug_events","arguments":{"query":"patient.drug.medicinalproduct:\"OZEMPIC\""}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('fda_drug_events', {
"query": "patient.drug.medicinalproduct:\"OZEMPIC\""
});
More examples
{
"query": "patient.drug.medicinalproduct:\"semaglutide\"+AND+serious:1",
"limit": 50
}
{
"query": "patient.drug.medicinalproduct:\"semaglutide\"+AND+patient.reaction.reactionmeddrapt.exact:\"OPTIC ISCHAEMIC NEUROPATHY\"",
"limit": 10
}
Response shape
Always returns: total, skip, limit, results
| Field | Type | Description |
|---|---|---|
total | number | Total count of matching adverse event reports |
skip | number | Offset used in pagination |
limit | number | Number of results returned |
results | array | Array of adverse event report objects |
reaction_requested | string | The reaction term as the caller supplied it, uppercased |
reaction_resolved | string | The MedDRA preferred term actually used for the filter |
reaction_resolution | string | How the supplied reaction term mapped onto a MedDRA preferred term. not_a_meddra_preferred_term means the filter matched nothing — counts are zero because the term missed, not because no reports exist |
reaction_resolution_note | string | Present when word order was corrected; states the substitution made |
reaction_resolution_hint | string | Present when the term matched nothing; names a working way to discover the real preferred terms |
Full JSON Schema
{
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total count of matching adverse event reports"
},
"skip": {
"type": "number",
"description": "Offset used in pagination"
},
"limit": {
"type": "number",
"description": "Number of results returned"
},
"results": {
"type": "array",
"description": "Array of adverse event report objects",
"items": {
"type": "object"
}
},
"reaction_requested": {
"type": "string",
"description": "The reaction term as the caller supplied it, uppercased"
},
"reaction_resolved": {
"type": "string",
"description": "The MedDRA preferred term actually used for the filter"
},
"reaction_resolution": {
"type": "string",
"enum": [
"exact_match",
"word_order_corrected",
"not_a_meddra_preferred_term"
],
"description": "How the supplied reaction term mapped onto a MedDRA preferred term. not_a_meddra_preferred_term means the filter matched nothing — counts are zero because the term missed, not because no reports exist"
},
"reaction_resolution_note": {
"type": "string",
"description": "Present when word order was corrected; states the substitution made"
},
"reaction_resolution_hint": {
"type": "string",
"description": "Present when the term matched nothing; names a working way to discover the real preferred terms"
}
},
"required": [
"total",
"skip",
"limit",
"results"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"openfda": {
"url": "https://gateway.pipeworx.io/openfda/mcp"
}
}
}
See Getting Started for client-specific install steps.