Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.
Openfda-mcp-server is an MCP integration. Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.
The registry lists a streamable-http connection at https://openfda.caseyjhand.com/mcp.
The published npm package is @cyanheads/openfda-mcp-server, version 0.8.1. Its declared MCP transport is stdio.
The package declares 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')..
The published npm package is @cyanheads/openfda-mcp-server, version 0.8.1. Its declared MCP transport is streamable-http.
The package declares OPENFDA_API_KEY: Free API key from open.fda.gov — increases daily limit from 1K to 120K requests.; 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'.; 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')..
Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.
View the publisher’s registry entry · Project repository. This profile uses version 0.8.1 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.
Browse related developer tools MCP servers for tools that cover the same kind of work.
| Variable | Description | Required |
|---|---|---|
| OPENFDA_API_KEY | Free API key from open.fda.gov — increases daily limit from 1K to 120K requests. | Check documentation |
| 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. | Check documentation |
| 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). | Check documentation |
| 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. | Check documentation |
| OPENFDA_MIRROR_PATH | Directory holding one SQLite file per mirrored dataset. | Check documentation |
| 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. | Check documentation |
| 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. | Check documentation |
| 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. | Check documentation |
| OPENFDA_MIRROR_BASE_URL | Host serving the openFDA bulk download manifest. Override only to harvest from a private mirror of the dumps. | Check documentation |
| MCP_LOG_LEVEL | Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). | Check documentation |
Read, search and edit files inside allowed directories with the Model Context Protocol reference Filesystem server.
Retrieve version-aware library documentation and code examples with Context7 MCP, using resolve-library-id and query-docs.
Use Microsoft’s Playwright MCP server to navigate pages, inspect accessibility snapshots, fill forms and capture browser screenshots.
Connect GitHub MCP to repositories, issues and pull requests with GitHub’s hosted service or a locally run server.
Use the Supabase MCP server to inspect database schemas, query project data and retrieve docs through a project-scoped connection.
Search Linear issues and projects, inspect work context and manage updates through Linear’s hosted MCP server with OAuth.