OpenFDA MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenFDA MCP ServerWhat adverse events are reported for Ozempic?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenFDA MCP Server
A Python Model Context Protocol (MCP) server that gives AI assistants access to the U.S. Food and Drug Administration's public datasets through the openFDA API. Query drug adverse events, product labeling, recalls, approvals, shortages, NDC directory data, and medical device regulatory information — all from your AI assistant.
Features
10 search tools covering drugs and medical devices
Async HTTP client built on httpx for fast, concurrent requests
Pagination and counting — skip/limit and field-level frequency counts out of the box
Optional API key — works without one (1k req/hr); set
FDA_API_KEYfor 120k req/hrClean JSON responses with metadata summaries for the LLM
Related MCP server: atlas_mcp
Tools
Drug tools
Tool | Description |
| Search FDA Adverse Event Reporting System (FAERS) data |
| Search drug product labeling (SPL) information |
| Query the National Drug Code (NDC) directory |
| Find drug recall enforcement reports |
| Search the Drugs@FDA database for approved products |
| Query current drug shortage reports |
Device tools
Tool | Description |
| Search FDA 510(k) premarket clearance data |
| Search FDA medical device classifications |
| Search medical device adverse event (MDR) reports |
| Search medical device recall enforcement reports |
Installation
Prerequisites
pixi (recommended) or Python 3.11+
With pixi
git clone https://github.com/YOUR_USERNAME/openfda-mcp-server.git
cd openfda-mcp-server
pixi installWith pip
pip install -e .Configuration
All tools work without an API key, but you'll be limited to 1,000 requests per hour. For higher limits:
Get a free API key at open.fda.gov/apis/authentication
Copy the example env file and add your key:
cp .env.example .env
# edit .env and paste your keyThe server loads .env automatically on startup via python-dotenv. Alternatively, set the environment variable directly:
export FDA_API_KEY="your-key-here"Usage
Running the server
pixi run serve
# or
openfda-mcp-serverThe server communicates over stdio, designed for use with MCP-compatible AI assistants.
MCP client configuration
Claude Desktop / Claude Code
{
"mcpServers": {
"openfda": {
"command": "pixi",
"args": ["run", "serve"],
"cwd": "/path/to/openfda-mcp-server",
"env": {
"FDA_API_KEY": "your-key"
}
}
}
}Example queries
Once connected, your AI assistant can answer questions like:
"What adverse events have been reported for Ozempic?"
"Show me Class I drug recalls from the past year"
"Look up the NDC codes for metformin"
"What 510(k) clearances has Medtronic received for cardiac devices?"
"Are there any current drug shortages for antibiotics?"
openFDA search syntax
All tools accept a search parameter using openFDA query syntax:
# Exact match
patient.drug.openfda.brand_name:"aspirin"
# Date range
receivedate:[20240101+TO+20241231]
# AND / OR
openfda.brand_name:"lipitor"+AND+serious:1
# Count a field (returns frequency data instead of records)
count=patient.reaction.reactionmeddrapt.exactDevelopment
pixi run test # run tests
pixi run lint # lint with ruff
pixi run fmt # format with ruff
pixi run typecheck # type check with pyrightProject structure
openfda-mcp-server/
├── pixi.toml # environment and task config
├── pyproject.toml # package metadata
└── src/openfda_mcp_server/
├── client.py # async httpx client for openFDA API
├── server.py # FastMCP server entry point
└── tools.py # MCP tool definitions and handlersLicense
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/colbyw5/openfda-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server