---
bezeichner: "io.github.cyanheads/openfda-mcp-server"
art: "mcp_server"
slug: "io-github-cyanheads-openfda-mcp-server"
paketkoordinate: "npm:@cyanheads/openfda-mcp-server"
status: "aktiv"
homepage: "https://github.com/cyanheads/openfda-mcp-server"
erhebungsstand: "2026-10-10T01:17:01.464Z"
namensraum: "io.github.cyanheads"
registerseite: "https://tracevero.de/mcp/io-github-cyanheads-openfda-mcp-server"
abgerufen_am: "2026-10-10"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: false
quelloffen_einsehbar: true
roh_beschreibung: "Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP."
version: "0.8.0"
roh_umgebungsvariablen: "OPENFDA_API_KEY, CANVAS_PROVIDER_TYPE, OPENFDA_DATAFRAME_DROP_ENABLED, OPENFDA_MIRROR_ENABLED, OPENFDA_MIRROR_PATH, OPENFDA_MIRROR_REFRESH_CRON, OPENFDA_MIRROR_FALLBACK_LIVE, OPENFDA_MIRROR_REFRESH_TIMEOUT_MS, OPENFDA_MIRROR_BASE_URL, MCP_LOG_LEVEL, OPENFDA_API_KEY, MCP_TRANSPORT_TYPE, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_AUTH_MODE, CANVAS_PROVIDER_TYPE, OPENFDA_DATAFRAME_DROP_ENABLED, OPENFDA_MIRROR_ENABLED, OPENFDA_MIRROR_PATH, OPENFDA_MIRROR_REFRESH_CRON, OPENFDA_MIRROR_FALLBACK_LIVE, OPENFDA_MIRROR_REFRESH_TIMEOUT_MS, OPENFDA_MIRROR_BASE_URL, MCP_LOG_LEVEL"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio, streamable-http, streamable-http"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/cyanheads/openfda-mcp-server"
roh_paketquellen: "npm, npm"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: ""
roh_remote_adressen: "https://openfda.caseyjhand.com/mcp"
roh_remote_hosts: "openfda.caseyjhand.com"
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-10-04"
roh_aktualisiert_am: "2026-10-04"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket und remote"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "@cyanheads/openfda-mcp-server"
roh_paketversionen: "0.8.0"
roh_laufzeithinweise: "npx"
roh_umgebungsformate: "string"
roh_umgebungsbeschreibungen: "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. · MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_TRANSPORT_TYPE=Selects the HTTP transport. · OPENFDA_API_KEY=Free API key from open.fda.gov — increases daily limit from 1K to 120K requests. · 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_BASE_URL=Host serving the openFDA bulk download manifest. Override only to harvest from a private mirror of the dumps. · 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_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_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_REFRESH_TIMEOUT_MS=Wall-clock budget for one scheduled refresh before it is aborted. Raise it for drug/label, the only multi-partition dataset."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"@cyanheads/openfda-mcp-server\",\"version\":\"0.8.0\",\"runtimeHint\":\"npx\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"OPENFDA_API_KEY\",\"description\":\"Free API key from open.fda.gov — increases daily limit from 1K to 120K requests.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_PROVIDER_TYPE\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_DATAFRAME_DROP_ENABLED\",\"description\":\"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).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_ENABLED\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_PATH\",\"description\":\"Directory holding one SQLite file per mirrored dataset.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_REFRESH_CRON\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_FALLBACK_LIVE\",\"description\":\"Fall back to the live API when the mirror is cold, missing the record, or failing. Disable to fail loudly instead.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS\",\"description\":\"Wall-clock budget for one scheduled refresh before it is aborted. Raise it for drug/label, the only multi-partition dataset.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_BASE_URL\",\"description\":\"Host serving the openFDA bulk download manifest. Override only to harvest from a private mirror of the dumps.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_LOG_LEVEL\",\"description\":\"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').\",\"format\":\"string\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false},{\"registryType\":\"npm\",\"identifier\":\"@cyanheads/openfda-mcp-server\",\"version\":\"0.8.0\",\"runtimeHint\":\"npx\",\"transport\":\"streamable-http\",\"environment\":[{\"name\":\"OPENFDA_API_KEY\",\"description\":\"Free API key from open.fda.gov — increases daily limit from 1K to 120K requests.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_TRANSPORT_TYPE\",\"description\":\"Selects the HTTP transport.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_HOST\",\"description\":\"The hostname for the HTTP server.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_PORT\",\"description\":\"The port to run the HTTP server on.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_ENDPOINT_PATH\",\"description\":\"The endpoint path for the MCP server.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_AUTH_MODE\",\"description\":\"Authentication mode to use: 'none', 'jwt', or 'oauth'.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_PROVIDER_TYPE\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_DATAFRAME_DROP_ENABLED\",\"description\":\"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).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_ENABLED\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_PATH\",\"description\":\"Directory holding one SQLite file per mirrored dataset.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_REFRESH_CRON\",\"description\":\"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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_FALLBACK_LIVE\",\"description\":\"Fall back to the live API when the mirror is cold, missing the record, or failing. Disable to fail loudly instead.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS\",\"description\":\"Wall-clock budget for one scheduled refresh before it is aborted. Raise it for drug/label, the only multi-partition dataset.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OPENFDA_MIRROR_BASE_URL\",\"description\":\"Host serving the openFDA bulk download manifest. Override only to harvest from a private mirror of the dumps.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_LOG_LEVEL\",\"description\":\"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').\",\"format\":\"string\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false}],\"remotes\":[{\"url\":\"https://openfda.caseyjhand.com/mcp\",\"transport\":\"streamable-http\",\"headers\":[]}]}"
---

# io.github.cyanheads/openfda-mcp-server

## Gemessene Werte

| Merkmal | Wert | Quelle | Erhoben am | Vertrauensgrad | Rohangabe |
| --- | --- | --- | --- | --- | --- |
| Pflicht-Geheimnisse deklariert | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Ausführungsort | lokal | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_transportarten: stdio, streamable-http, streamable-http |
| Pfadargument vorhanden | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: |
| Repository-Adresse geführt | true | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_repository_url: https://github.com/cyanheads/openfda-mcp-server |
| Beschreibung (Rohangabe) | Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP. | MCP-Register | 2026-08-26T16:45:01.514Z | selbstauskunft |  |
| Deklarierte Version | 0.8.0 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Umgebungsvariablen (Rohangabe) | OPENFDA_API_KEY, CANVAS_PROVIDER_TYPE, OPENFDA_DATAFRAME_DROP_ENABLED, OPENFDA_MIRROR_ENABLED, OPENFDA_MIRROR_PATH, OPENFDA_MIRROR_REFRESH_CRON, OPENFDA_MIRROR_FALLBACK_LIVE, OPENFDA_MIRROR_REFRESH_TIMEOUT_MS, OPENFDA_MIRROR_BASE_URL, MCP_LOG_LEVEL, OPENFDA_API_KEY, MCP_TRANSPORT_TYPE, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_AUTH_MODE, CANVAS_PROVIDER_TYPE, OPENFDA_DATAFRAME_DROP_ENABLED, OPENFDA_MIRROR_ENABLED, OPENFDA_MIRROR_PATH, OPENFDA_MIRROR_REFRESH_CRON, OPENFDA_MIRROR_FALLBACK_LIVE, OPENFDA_MIRROR_REFRESH_TIMEOUT_MS, OPENFDA_MIRROR_BASE_URL, MCP_LOG_LEVEL | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Geheime Pflichtvariablen (Rohangabe) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Transportarten (Rohangabe) | stdio, streamable-http, streamable-http | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Pfadargumente (Rohangabe) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Repository (Rohangabe) | https://github.com/cyanheads/openfda-mcp-server | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Paketquellen (Rohangabe) | npm, npm | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Geheime Pflichtkopfzeilen (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Pfad-Umgebungsvariablen (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote-Adressen (Rohangabe) | https://openfda.caseyjhand.com/mcp | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote-Hosts (Rohangabe) | openfda.caseyjhand.com | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Statusmeldung des Registers (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Im Register eingetragen am (Rohangabe) | 2026-10-04 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Im Register geändert am (Rohangabe) | 2026-10-04 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Schemafassung des Rohsatzes (Rohangabe) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Bereitstellungsform (Rohangabe) | paket und remote | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository-Plattform (Rohangabe) | github | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository-Unterordner (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Paketbezeichner (Rohangabe) | @cyanheads/openfda-mcp-server | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Paketversionen (Rohangabe) | 0.8.0 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Laufzeithinweise (Rohangabe) | npx | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Formate der Umgebungsvariablen (Rohangabe) | string | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Beschreibungen der Umgebungsvariablen (Rohangabe) | 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. · MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_TRANSPORT_TYPE=Selects the HTTP transport. · OPENFDA_API_KEY=Free API key from open.fda.gov — increases daily limit from 1K to 120K requests. · 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_BASE_URL=Host serving the openFDA bulk download manifest. Override only to harvest from a private mirror of the dumps. · 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_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_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_REFRESH_TIMEOUT_MS=Wall-clock budget for one scheduled refresh before it is aborted. Raise it for drug/label, the only multi-partition dataset. | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Symbolformate (Rohangabe) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Verbindungswege (Quellstruktur) | {"packages":[{"registryType":"npm","identifier":"@cyanheads/openfda-mcp-server","version":"0.8.0","runtimeHint":"npx","transport":"stdio","environment":[{"name":"OPENFDA_API_KEY","description":"Free API key from open.fda.gov — increases daily limit from 1K to 120K requests.","format":"string","required":false,"secret":false},{"name":"CANVAS_PROVIDER_TYPE","description":"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.","format":"string","required":false,"secret":false},{"name":"OPENFDA_DATAFRAME_DROP_ENABLED","description":"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).","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_ENABLED","description":"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.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_PATH","description":"Directory holding one SQLite file per mirrored dataset.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_REFRESH_CRON","description":"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.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_FALLBACK_LIVE","description":"Fall back to the live API when the mirror is cold, missing the record, or failing. Disable to fail loudly instead.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS","description":"Wall-clock budget for one scheduled refresh before it is aborted. Raise it for drug/label, the only multi-partition dataset.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_BASE_URL","description":"Host serving the openFDA bulk download manifest. Override only to harvest from a private mirror of the dumps.","format":"string","required":false,"secret":false},{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"npm","identifier":"@cyanheads/openfda-mcp-server","version":"0.8.0","runtimeHint":"npx","transport":"streamable-http","environment":[{"name":"OPENFDA_API_KEY","description":"Free API key from open.fda.gov — increases daily limit from 1K to 120K requests.","format":"string","required":false,"secret":false},{"name":"MCP_TRANSPORT_TYPE","description":"Selects the HTTP transport.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_HOST","description":"The hostname for the HTTP server.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_PORT","description":"The port to run the HTTP server on.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_ENDPOINT_PATH","description":"The endpoint path for the MCP server.","format":"string","required":false,"secret":false},{"name":"MCP_AUTH_MODE","description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","required":false,"secret":false},{"name":"CANVAS_PROVIDER_TYPE","description":"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.","format":"string","required":false,"secret":false},{"name":"OPENFDA_DATAFRAME_DROP_ENABLED","description":"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).","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_ENABLED","description":"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.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_PATH","description":"Directory holding one SQLite file per mirrored dataset.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_REFRESH_CRON","description":"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.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_FALLBACK_LIVE","description":"Fall back to the live API when the mirror is cold, missing the record, or failing. Disable to fail loudly instead.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS","description":"Wall-clock budget for one scheduled refresh before it is aborted. Raise it for drug/label, the only multi-partition dataset.","format":"string","required":false,"secret":false},{"name":"OPENFDA_MIRROR_BASE_URL","description":"Host serving the openFDA bulk download manifest. Override only to harvest from a private mirror of the dumps.","format":"string","required":false,"secret":false},{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[{"url":"https://openfda.caseyjhand.com/mcp","transport":"streamable-http","headers":[]}]} | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |

## Verweise

- Namensraum: [[namensraum/io-github-cyanheads|io.github.cyanheads]]

---

- Registerseite: <https://tracevero.de/mcp/io-github-cyanheads-openfda-mcp-server>
- Abgerufen am: 2026-10-10
