About openFDA MCP by usefulapi
openFDA MCP by usefulapi is a hosted MCP server for searching public openFDA datasets. It gives health researchers and other users tools to search drug, device and food records, including adverse events, recalls and regulatory data.
Key features
- 01Search drug events, labels and recalls
- 02Find drug codes and shortages
- 03Search device events and clearances
- 04Search food events and recalls
- 05Query or aggregate openFDA datasets
Use cases
- 01Research adverse-event reports
- 02Check recalls and drug shortages
- 03Explore device clearances and classifications
- 04Count or query openFDA records
MCP support
Exposes read-only search, count and generic query tools for openFDA datasets to MCP clients. The hosted server uses the provided endpoint; openFDA credentials are not required.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://openfda.usefulapi.io/mcpclaude mcp add --transport http io-usefulapi-openfda https://openfda.usefulapi.io/mcp{"mcpServers":{"io-usefulapi-openfda":{"type":"http","url":"https://openfda.usefulapi.io/mcp"}}}Open in Cursor{"servers":{"io-usefulapi-openfda":{"type":"http","url":"https://openfda.usefulapi.io/mcp"}}}Open in VS Code{"mcpServers":{"io-usefulapi-openfda":{"type":"http","url":"https://openfda.usefulapi.io/mcp"}}}{"mcpServers":{"io-usefulapi-openfda":{"serverUrl":"https://openfda.usefulapi.io/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
14| Parameter | Type | Required | Description |
|---|---|---|---|
| skip | integer | No | Number of records to skip, for pagination (0–25000; skip+limit reaches up to ~26000 records). |
| sort | string | No | Sort order, as `field:asc` or `field:desc`, e.g. 'receivedate:desc'. |
| limit | integer | No | Max number of records to return (1–1000). Omit for the API default of 1. |
| search | string | No | Lucene-style query over this dataset's fields: 'field:term', AND with '+AND+', OR with a space, exact phrase via a '.exact' field suffix with quotes, ranges as '[low+TO+high]' (dates like '[20040101+TO+20081231]'). Example: patient.drug.medicinalproduct:"aspirin" |
Details
From the project READMEopenFDA MCP by usefulapi
Search openFDA drug, device, food and adverse-event datasets. Hosted, no local install.
Live endpoint: https://openfda.usefulapi.io/mcp · Homepage: https://usefulapi.io
Connect
- Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste
https://openfda.usefulapi.io/mcp. - Claude Code:
claude mcp add --transport http openfda https://openfda.usefulapi.io/mcp, then run/mcpto log in. - VS Code: Add to VS Code.
- Cursor and other clients: add the URL as a remote MCP server:
{
"mcpServers": {
"openfda": {
"url": "https://openfda.usefulapi.io/mcp"
}
}
}
Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your email address and a 6-digit code.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/openfda/
This server needs no credential — openFDA is a public data source. On first
connect you log in with your email: we send a 6-digit code from [email protected]. The address
is used only to send the code; we keep a one-way hash of it as your account id, so your free calls
and your plan stay yours.
Tools
| Tool | Type | What it does |
|---|---|---|
openfda_search_drug_events | read | Search drug adverse-event reports (FAERS) |
openfda_search_drug_labels | read | Search drug product labels (SPL) |
openfda_search_drug_ndc | read | Search the National Drug Code directory |
openfda_search_drug_recalls | read | Search drug recall enforcement reports |
openfda_search_drugsfda | read | Search Drugs@FDA approved products |
openfda_search_drug_shortages | read | Search drug shortages |
openfda_search_device_events | read | Search device adverse-event reports (MAUDE) |
openfda_search_device_510k | read | Search 510(k) premarket clearances |
openfda_search_device_recalls | read | Search device recalls |
openfda_search_device_classification | read | Search device classification |
openfda_search_food_events | read | Search food/supplement/cosmetic adverse events (CAERS) |
openfda_search_food_recalls | read | Search food recall enforcement reports |
openfda_count | read | Count/aggregate over an openFDA dataset |
openfda_query | read | Query any openFDA endpoint (generic) |
openfda_usage_status | meta | Usage status (free-tier meter) |
openfda_request_feature | meta | Request a missing feature |
openfda_upgrade | meta | Upgrade to Pro (unlimited*) |
openfda_cancel_subscription | meta | Cancel the Pro subscription |
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
Pricing
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Pro | $9/mo or $90/yr (2 months free) | Unlimited* |
*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].
Pro covers this server only. Subscribe with openfda_upgrade (it returns a Stripe Checkout link). Cancel any time with openfda_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running openfda_upgrade before then undoes the cancel. Or write to [email protected].
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.