com.blackswancausallabs/openfda-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENFDA_API_KEY | No | API key for openFDA. Optional; without it, requests are rate-limited to 40/min and 1,000/day. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_drug_labelB | Search openFDA drug labels (SPL) for a term. |
| lookup_drugsfda_applicationB | Fetch Drugs@FDA application metadata for an NDA/BLA/ANDA number. |
| resolve_drug_to_applicationA | Resolve a brand or generic drug name to its NDA/BLA application number(s). Bridges drug-name-only sources (registry inventories, product lists) to FDA regulatory metadata. Searches the brand and generic name fields directly rather than label prose, so another product merely mentioning this drug does not produce a false match. |
| screen_for_rwe_signalsA | EXPERIMENTAL. Sweep drug labels for registry / real-world-evidence signals. Searches the label corpus for terms suggesting registry, natural-history or other real-world evidence, then aggregates hits by application number with snippets showing where each term matched. This tool is unvalidated and has a known false-positive problem. It has no ground-truth oracle, and below the strongest hits the results are dominated by applications whose labels use "registry" in an unrelated sense. Its output is a candidate list for human review — not a finding, and not a count you should report. |
| lookup_device_submissionA | Look up a CDRH device submission by its number. Handles all four device pathways: 510(k) K-numbers ("K203571"), De Novo grants ("DEN160026" — stored in the 510(k) endpoint, not a separate one), PMA P-numbers ("P230044"), and HDE H-numbers. Supplement suffixes ("P230044/S001") are stripped before lookup. |
| classify_device_product_codeB | Resolve a CDRH product code to its device class and medical specialty. |
| validate_device_applicationA | Validate a device number and derive class, specialty and category in one call. Chains lookup_device_submission -> classify_device_product_code, which is the full three-hop resolution: number -> product_code -> classification. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct resource/action: drug label search, application metadata lookup, name-to-application resolution, RWE signal screening, device submission lookup, product code classification, and full validation. The drug and device groups are clearly separated, and descriptions clarify any potential overlap (e.g., validate_device_application explicitly chains the other two device tools).
All tool names follow a verb-first, snake_case convention (search, lookup, resolve, screen, classify, validate), but the noun phrases vary in structure: some are direct objects (drug_label, device_submission), some use prepositions (drug_to_application, for_rwe_signals). This is mostly consistent and readable, with minor deviations.
Seven tools is well-scoped for covering both drug-related (labels, applications, name resolution, RWE signals) and device-related (submissions, product codes, validation) workflows. Each tool serves a clear purpose without bloat.
The core workflows are covered: drug label search, drug name-to-application resolution, application metadata retrieval, RWE signal screening, device submission lookup, product code classification, and full validation. Minor gaps exist, such as no device search by name and no adverse event data, but the primary lifecycle is well supported.