Openfda MCP Server
by cyanheadsio.github.cyanheads/openfda-mcp-serverv0.8.0
Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.
context tax
queued
security
queued
cold start
queued
freshness
Active6d ago
Install Openfda MCP server
Install in Claude Code
claude mcp add openfda-cyanheads -- npx -y @cyanheads/openfda-mcp-serverInstall in Cursor
{
"mcpServers": {
"openfda-cyanheads": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
]
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"openfda-cyanheads": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
]
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"openfda-cyanheads": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
]
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"openfda-cyanheads": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| OPENFDA_API_KEY | — | — | Free API key from open.fda.gov — increases daily limit from 1K to 120K requests. |
| CANVAS_PROVIDER_TYPE | — | — | Set to 'duckdb' to enable DataCanvas staging: stage=true or a canvas_id on an openfda_search_* tool or openfda_lookup_ndc stages the matched records as a SQL table, and the openfda_dataframe_* tools are listed. The DuckDB binding ships with the server. |
| OPENFDA_DATAFRAME_DROP_ENABLED | — | — | Enable openfda_dataframe_drop, which deletes a table staged on a DataCanvas. Off by default; applies only when DataCanvas is enabled (CANVAS_PROVIDER_TYPE=duckdb). |
| OPENFDA_MIRROR_ENABLED | — | — | Serve exact-key lookups for drug/label, drug/ndc, drug/enforcement, and drug/drugsfda from a local bulk mirror instead of the API. Off by default; the initial harvest runs out-of-band via the mirror:init script. |
| OPENFDA_MIRROR_PATH | — | — | Directory holding one SQLite file per mirrored dataset. |
| OPENFDA_MIRROR_REFRESH_CRON | — | — | Cron expression for the in-process mirror refresh. HTTP transport only; stdio operators run mirror:refresh from the host. Requires the optional node-cron peer dependency. |
| OPENFDA_MIRROR_FALLBACK_LIVE | — | — | Fall back to the live API when the mirror is cold, missing the record, or failing. Disable to fail loudly instead. |
| OPENFDA_MIRROR_REFRESH_TIMEOUT_MS | — | — | Wall-clock budget for one scheduled refresh before it is aborted. Raise it for drug/label, the only multi-partition dataset. |
| OPENFDA_MIRROR_BASE_URL | — | — | Host serving the openFDA bulk download manifest. Override only to harvest from a private mirror of the dumps. |
| MCP_LOG_LEVEL | — | — | Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). |
| MCP_TRANSPORT_TYPE | — | — | Selects the HTTP transport. |
| MCP_HTTP_HOST | — | — | The hostname for the HTTP server. |
| MCP_HTTP_PORT | — | — | The port to run the HTTP server on. |
| MCP_HTTP_ENDPOINT_PATH | — | — | The endpoint path for the MCP server. |
| MCP_AUTH_MODE | — | — | Authentication mode to use: 'none', 'jwt', or 'oauth'. |
Remote endpoints
- streamable-http
https://openfda.caseyjhand.com/mcp
Freshness
Active — last maintenance signal 6d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-04 · 6d ago · GitHub
Latest release
2026-10-04 · 6d ago · GitHub · v0.8.0
Package published
no data · npm/PyPI
Registry entry updated
2026-10-04 · 6d ago · official registry · v0.8.0
FAQ
›How do I install the Openfda MCP server in Claude Code?
Run: claude mcp add openfda-cyanheads -- npx -y @cyanheads/openfda-mcp-server. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Openfda require an API key?
No required environment variables are declared in its published metadata.
›Can I use Openfda as a remote (hosted) MCP server?
Yes — it offers both a hosted endpoint and a local stdio package.
›Is Openfda in the official MCP registry?
Yes, as io.github.cyanheads/openfda-mcp-server.