OpenFDA
OpenFDA MCP 服务器
一个用于从 OpenFDA API 查询药物信息的模型上下文协议 (MCP) 服务器。
功能
通过品牌名称检索药品标签信息
通过通用名(活性成分)检索药物信息
获取通用药物的所有品牌版本
获取药物的不良事件(副作用)报告(按品牌或通用名)
检索特定公司生产的所有药物
获取全面的药物安全信息(警告、禁忌症、相互作用、注意事项等)
标准化并验证 NDC(国家药品代码)格式
为失败的查询提供有用的错误消息和建议
设置您的 OpenFDA API 密钥
MCP 服务器需要 OpenFDA API 密钥才能访问 OpenFDA API。 在项目根目录中创建一个
.env文件并添加以下行:OPENFDA_API_KEY=your_openfda_api_key_here注意: 切勿将您的真实 API 密钥提交到版本控制系统。 您可以从 OpenFDA API 密钥注册 处获取 API 密钥。
MCP 服务器配置示例
如果您要将此服务器集成到更大的 MCP 系统中,您的配置可能如下所示:
{ "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" ] } } }将星号替换为您实际的 API 密钥,或确保它已从您的
.env文件中加载。
Related MCP server: drugbank-mcp-server
想要在本地运行它吗?
git clone https://github.com/ythalorossy/openfda.git
cd openfda
npm install
npm run build然后启动服务器:
node bin/index.js或者直接使用 npx:
npx @ythalorossy/openfda配置
为任何必需的环境变量创建一个 .env 文件。
许可证
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