OpenFDA
Servidor MCP de OpenFDA
Un servidor del Protocolo de Contexto de Modelo (MCP) para consultar información sobre medicamentos desde la API de OpenFDA.
Características
Obtener información de la etiqueta del medicamento por nombre de marca
Obtener información del medicamento por nombre genérico (ingrediente activo)
Obtener todas las versiones de marca de un medicamento genérico
Obtener informes de eventos adversos (efectos secundarios) de un medicamento (por nombre de marca o genérico)
Obtener todos los medicamentos fabricados por una empresa específica
Obtener información completa sobre la seguridad de los medicamentos (advertencias, contraindicaciones, interacciones, precauciones, etc.)
Normalizar y validar formatos de NDC (Código Nacional de Medicamentos)
Mensajes de error útiles y sugerencias para consultas fallidas
Configura tu clave de API de OpenFDA
El servidor MCP requiere una clave de API de OpenFDA para acceder a la API de OpenFDA. Crea un archivo
.enven la raíz de tu proyecto y añade la siguiente línea:OPENFDA_API_KEY=your_openfda_api_key_hereNota: Nunca subas tu clave de API real al control de versiones. Puedes obtener una clave de API en Registro de clave de API de OpenFDA.
Ejemplo de configuración del servidor MCP
Si estás integrando este servidor con un sistema MCP más grande, tu configuración podría verse así:
{ "mcpServers": { "openfda": { "command": "npx", "args": [ "@ythalorossy/openfda" ], "env": { "OPENFDA_API_KEY": "*****************************************" }, "timeout": 60000, "autoApprove": [ "get-drug-by-name", "get-drug-by-generic-name", "get-drug-adverse-events", "get-drugs-by-manufacturer", "get-drug-safety-info", "get-drug-by-ndc", "get-drug-by-product-ndc" ] } } }Reemplaza los asteriscos con tu clave de API real, o asegúrate de que se cargue desde tu archivo
.env.
Related MCP server: drugbank-mcp-server
¿Quieres ejecutarlo localmente?
git clone https://github.com/ythalorossy/openfda.git
cd openfda
npm install
npm run buildLuego inicia el servidor:
node bin/index.jsO úsalo directamente con npx:
npx @ythalorossy/openfdaConfiguración
Crea un archivo .env para cualquier variable de entorno necesaria.
Licencia
MIT

Available Tools
7 toolsget-drug-adverse-eventsB
Get adverse event reports for a drug. This provides safety information about reported side effects and reactions. Use brand name or generic name.
Inputs: drugName (required), limit, seriousness.
get-drug-by-generic-nameA
Get drug information by generic (active ingredient) name. Useful when you know the generic name but not the brand name. Returns all brand versions of the generic drug.
Inputs: genericName (required), limit.
get-drug-by-nameA
Get drug by name. Use this tool to get the drug information by name. The drug name should be the brand name. It returns the brand name, generic name, manufacturer name, product NDC, product type, route, substance name, indications and usage, warnings, do not use, ask doctor, ask doctor or pharmacist, stop use, pregnancy or breast feeding.
Inputs: drugName (required).
get-drug-by-ndcB
Get drug information by National Drug Code (NDC). Accepts both product NDC (XXXXX-XXXX) and package NDC (XXXXX-XXXX-XX) formats. Also accepts NDC codes without dashes.
Inputs: ndcCode (required).
get-drug-by-product-ndcA
Get drug information by product NDC only (XXXXX-XXXX format). This ignores package variations and finds all packages for a product.
Inputs: productNDC (required).
get-drug-safety-infoB
Get comprehensive safety information for a drug including warnings, contraindications, drug interactions, and precautions. Use brand name.
Inputs: drugName (required).
get-drugs-by-manufacturerA
Get all drugs manufactured by a specific company. Useful for finding alternatives or checking manufacturer portfolios.
Inputs: manufacturerName (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
The tools have overlapping purposes that could cause confusion, particularly between get-drug-by-name, get-drug-by-generic-name, and get-drug-by-ndc, which all retrieve drug information but with different input parameters. Descriptions help clarify the distinctions, but an agent might misselect when the query is ambiguous about whether to use brand name, generic name, or NDC. The safety-focused tools (get-drug-adverse-events and get-drug-safety-info) are more distinct, but overall there is moderate overlap in the information retrieval tools.
All tool names follow a consistent verb_noun pattern with hyphens, specifically 'get-drug-by-X' or 'get-drug-X', where X is a specific attribute like name, ndc, or safety-info. This predictability makes it easy for an agent to understand the naming convention and infer tool purposes. There are no deviations in style, such as mixing camelCase or snake_case, ensuring high readability and consistency throughout the set.
With 7 tools, the server is well-scoped for its domain of drug information retrieval from OpenFDA. Each tool serves a distinct purpose, such as looking up drugs by different identifiers or accessing safety data, and none appear redundant or unnecessary. This count is typical for a focused API server, providing enough functionality without being overwhelming or too sparse, making it appropriate for the server's purpose.
The tool set covers the core domain of drug information retrieval comprehensively, including lookups by brand name, generic name, NDC, manufacturer, and safety data. Minor gaps exist, such as the lack of update or delete operations, but this is reasonable since OpenFDA is a read-only public database. Agents can work around these gaps, and the surface supports common queries without dead ends, though advanced features like filtering or pagination might be missing but are not essential for basic coverage.
Maintenance
Related MCP Connectors
DrugBank MCP — wraps the DrugBank Clinical API (api.drugbank.com)
RxNorm MCP — wraps the NLM RxNav REST API (free, no auth)
MCP server exposing supplements database used by iNutriPlan.com
MCP server for US nursing facility search and ownership lookup (NursingHomeDatabase).
Related MCP Servers
- FlicenseBqualityDmaintenanceA comprehensive MCP server that provides access to U.S. FDA public datasets via the openFDA API, enabling querying of drug adverse events, labeling, recalls, approvals, shortages, NDC directory, and medical device regulatory data.1026-
- AlicenseNot gradedqualityDmaintenanceModel Context Protocol server providing access to the comprehensive DB pharmaceutical database with 17,430+ drugs, supporting search, drug details, interactions, and more.11MIT
- FlicenseNot gradedqualityCmaintenanceA Model Context Protocol (MCP) server exposing the FDA Purple Book — the database of licensed biological products (reference biologics, biosimilars, and interchangeables), with BLA numbers, applicants, approval dates, and exclusivity expiry.-
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to query U.S. FDA public datasets, including drug adverse events, labeling, recalls, approvals, shortages, NDC directory, and medical device regulatory information.10MIT