Skip to main content
Glama

query_fda

Query any openFDA dataset: drug adverse events (FAERS), drug labeling (SPL), drug recalls, food recalls, or medical device events. Pick the dataset with the dataset argument. Uses openFDA Lucene-style search syntax (e.g. "patient.drug.medicinalproduct:aspirin", "openfda.brand_name:tylenol"). License: openFDA CC0 1.0 Universal Dedication, FDA waiver of all copyright; commercial redistribution permitted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
skipNoPagination offset (0-25000)
sortNoSort by field (e.g. receivedate:desc)
limitNoMax records to return (1-100)
searchNoopenFDA Lucene-style search expression. Examples: patient.drug.medicinalproduct:aspirin, openfda.brand_name:tylenol, patient.reaction.reactionmeddrapt:headache+AND+receivedate:[20240101+TO+20251231]
datasetYesWhich openFDA dataset to query. drug_events = FAERS adverse event reports. drug_labels = structured product labeling (indications, dosage, warnings, contraindications, pharmacology). drug_recalls / food_recalls = enforcement records with Class I/II/III classification, reason, and distribution. device_events = MAUDE device adverse events.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but only adds search-syntax details and licensing info. It does not explicitly state that the tool is read-only, mention rate limits, or describe error/response behavior. The license note is helpful but tangential to operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that delivers purpose, usage, and an example in a compact form. The license sentence is not operationally necessary but adds context and does not bloat the text. It could be tightened by omitting the license, but it remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a straightforward query interface with all parameters documented and no nested objects, the description plus schema covers most needs. It lacks explicit return-format or pagination details, but the schema's skip/limit descriptions and the overall simplicity make it adequate. The license info is a bonus.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds valuable examples of Lucene-style search syntax and clarifies what each dataset contains (e.g., drug_events = FAERS adverse events), which enriches the parameter meaning beyond the schema field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Query any openFDA dataset' which is a specific verb+resource combo, and enumerates the exact datasets (FAERS, SPL, recalls, device events) making it clear what the tool does. It distinguishes this from sibling tools by naming the FDA domain, which none of the siblings cover.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells the user to 'Pick the dataset with the dataset argument' and gives search syntax examples, which is practical usage guidance. However, it does not explicitly state when to use this over alternatives or when not to use it, though no sibling offers FDA querying, so the context is implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation3/5

Several security/vulnerability tools (check_ai_supply_chain_risk, get_cve_record, get_osv_advisory_by_id, get_osv_advisory_for_package) have overlapping purposes, making it potentially confusing to choose the right one. Other tools are more distinct, but the ambiguity in this cluster lowers the score.

Naming Consistency3/5

All names are snake_case and mostly follow a verb_noun pattern, but the verbs are inconsistent (check, get, list, lookup, query, register, route, search, submit, whats_new). Some tools use 'get' while others use 'check' for similar retrieval actions, and 'whats_new' does not fit the verb_noun pattern.

Tool Count2/5

With 27 tools, the count exceeds the 25 threshold for 'too many', even though the broad scope spans many domains. The sheer number makes the server feel heavy and harder to navigate.

Completeness3/5

The server covers a wide range of data domains, but notable gaps exist: no management of watch subscriptions (only register), no CVE search, and no model search. Write operations are minimal, leaving some workflows incomplete.