Query FDA device data from Claude or ChatGPT
DeviceSignal runs a Model Context Protocol server, so an AI assistant can look up FDA product codes, clearances, recalls, adverse-event baselines and predicate chains directly — and every answer it gets back carries the openFDA record ids behind it, so the assistant can cite rather than assert.
Last updated
What it can do
Seven read-only tools. Every one returns the source endpoint and the record ids behind its figures, and every one states absence explicitly — "no recall on record" and "we have not looked" read identically once a model has paraphrased them, so the tools distinguish the two.
| Tool | Answers |
|---|---|
| search_product_codes | Which FDA product code covers this kind of device? |
| get_product_code_summary | What is happening in this code right now, across six datasets? |
| check_predicate_risk | Has anything in this device's predicate chain been recalled? |
| get_recall_blast_radius | If this device were recalled, which later devices cite it? |
| get_adverse_event_baseline | Is adverse-event reporting unusual for this code? |
| find_company | Which product codes does this manufacturer file in? |
| find_quiet_product_codes | Where is nothing happening — which categories have stopped moving? |
| get_data_freshness | How current is this data? |
Connecting from Claude Desktop
Add this to your MCP configuration. The server is read-only: every tool is a SELECT, and the database role it uses cannot write.
- Open Settings → Developer → Edit Config.
- Add a "devicesignal" entry under mcpServers pointing at the server command.
- Restart Claude Desktop. The tools appear under the connect menu.
Two things to hold on to when it answers
A verdict of no_chain_known on a predicate check means we hold no ancestry for that device — FDA publishes the chain only inside 510(k) summary PDFs — not that the chain is clean. And insufficient_history on a baseline means there is no expected range to compare against, not that reporting was zero. Both distinctions survive in the tool output; ask your assistant to keep them.