@cyanheads/openfda-mcp-server
Rank #3,088io.github.cyanheads/openfda-mcp-server
Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.
@cyanheads/openfda-mcp-server is a Model Context Protocol (MCP) server published by cyanheads. It ranks #3,088 of 121,933 servers tracked on MCP Toplist, and its repository has 4 GitHub stars. @cyanheads/openfda-mcp-server is listed across 3 registries — Official MCP, PulseMCP and Glama, with 31 tracked versions. It was first listed on Apr 3, 2026 and most recently updated on Aug 25, 2026.
Ranks ahead of 118,845 of 121,933 servers on MCP Toplist.
Use @cyanheads/openfda-mcp-server
No credentials or required configuration declared — add it to your MCP client and go.
claude mcp add --transport http openfda-mcp-server https://openfda.caseyjhand.com/mcpclaude mcp add openfda-mcp-server -e "OPENFDA_API_KEY=<your OPENFDA_API_KEY>" -e "OPENFDA_MIRROR_ENABLED=<your OPENFDA_MIRROR_ENABLED>" -e "OPENFDA_MIRROR_PATH=<your OPENFDA_MIRROR_PATH>" -e "OPENFDA_MIRROR_REFRESH_CRON=<your OPENFDA_MIRROR_REFRESH_CRON>" -e "OPENFDA_MIRROR_FALLBACK_LIVE=<your OPENFDA_MIRROR_FALLBACK_LIVE>" -e "OPENFDA_MIRROR_REFRESH_TIMEOUT_MS=<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>" -e "OPENFDA_MIRROR_BASE_URL=<your OPENFDA_MIRROR_BASE_URL>" -e "MCP_LOG_LEVEL=<your MCP_LOG_LEVEL>" -- npx -y @cyanheads/openfda-mcp-serverReplace each placeholder with your own value before saving.
claude mcp add openfda-mcp-server -e "OPENFDA_API_KEY=<your OPENFDA_API_KEY>" -e "MCP_TRANSPORT_TYPE=<your MCP_TRANSPORT_TYPE>" -e "MCP_HTTP_HOST=<your MCP_HTTP_HOST>" -e "MCP_HTTP_PORT=<your MCP_HTTP_PORT>" -e "MCP_HTTP_ENDPOINT_PATH=<your MCP_HTTP_ENDPOINT_PATH>" -e "MCP_AUTH_MODE=<your MCP_AUTH_MODE>" -e "OPENFDA_MIRROR_ENABLED=<your OPENFDA_MIRROR_ENABLED>" -e "OPENFDA_MIRROR_PATH=<your OPENFDA_MIRROR_PATH>" -e "OPENFDA_MIRROR_REFRESH_CRON=<your OPENFDA_MIRROR_REFRESH_CRON>" -e "OPENFDA_MIRROR_FALLBACK_LIVE=<your OPENFDA_MIRROR_FALLBACK_LIVE>" -e "OPENFDA_MIRROR_REFRESH_TIMEOUT_MS=<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>" -e "OPENFDA_MIRROR_BASE_URL=<your OPENFDA_MIRROR_BASE_URL>" -e "MCP_LOG_LEVEL=<your MCP_LOG_LEVEL>" -- npx -y @cyanheads/openfda-mcp-serverReplace each placeholder with your own value before saving.
[mcp_servers.openfda-mcp-server]
url = "https://openfda.caseyjhand.com/mcp"Add to ~/.codex/config.toml.
[mcp_servers.openfda-mcp-server]
command = "npx"
args = ["-y", "@cyanheads/openfda-mcp-server"]
[mcp_servers.openfda-mcp-server.env]
OPENFDA_API_KEY = "<your OPENFDA_API_KEY>"
OPENFDA_MIRROR_ENABLED = "<your OPENFDA_MIRROR_ENABLED>"
OPENFDA_MIRROR_PATH = "<your OPENFDA_MIRROR_PATH>"
OPENFDA_MIRROR_REFRESH_CRON = "<your OPENFDA_MIRROR_REFRESH_CRON>"
OPENFDA_MIRROR_FALLBACK_LIVE = "<your OPENFDA_MIRROR_FALLBACK_LIVE>"
OPENFDA_MIRROR_REFRESH_TIMEOUT_MS = "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>"
OPENFDA_MIRROR_BASE_URL = "<your OPENFDA_MIRROR_BASE_URL>"
MCP_LOG_LEVEL = "<your MCP_LOG_LEVEL>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.openfda-mcp-server]
command = "npx"
args = ["-y", "@cyanheads/openfda-mcp-server"]
[mcp_servers.openfda-mcp-server.env]
OPENFDA_API_KEY = "<your OPENFDA_API_KEY>"
MCP_TRANSPORT_TYPE = "<your MCP_TRANSPORT_TYPE>"
MCP_HTTP_HOST = "<your MCP_HTTP_HOST>"
MCP_HTTP_PORT = "<your MCP_HTTP_PORT>"
MCP_HTTP_ENDPOINT_PATH = "<your MCP_HTTP_ENDPOINT_PATH>"
MCP_AUTH_MODE = "<your MCP_AUTH_MODE>"
OPENFDA_MIRROR_ENABLED = "<your OPENFDA_MIRROR_ENABLED>"
OPENFDA_MIRROR_PATH = "<your OPENFDA_MIRROR_PATH>"
OPENFDA_MIRROR_REFRESH_CRON = "<your OPENFDA_MIRROR_REFRESH_CRON>"
OPENFDA_MIRROR_FALLBACK_LIVE = "<your OPENFDA_MIRROR_FALLBACK_LIVE>"
OPENFDA_MIRROR_REFRESH_TIMEOUT_MS = "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>"
OPENFDA_MIRROR_BASE_URL = "<your OPENFDA_MIRROR_BASE_URL>"
MCP_LOG_LEVEL = "<your MCP_LOG_LEVEL>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
https://openfda.caseyjhand.com/mcpSettings → Connectors → “Add custom connector”, then paste this URL.
{
"mcpServers": {
"openfda-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"openfda-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"MCP_TRANSPORT_TYPE": "<your MCP_TRANSPORT_TYPE>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<your MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<your MCP_AUTH_MODE>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"openfda-mcp-server": {
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project).
{
"mcpServers": {
"openfda-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"openfda-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"MCP_TRANSPORT_TYPE": "<your MCP_TRANSPORT_TYPE>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<your MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<your MCP_AUTH_MODE>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"openfda-mcp-server": {
"type": "http",
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}Save as .vscode/mcp.json in your workspace.
{
"servers": {
"openfda-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"openfda-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"MCP_TRANSPORT_TYPE": "<your MCP_TRANSPORT_TYPE>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<your MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<your MCP_AUTH_MODE>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"openfda-mcp-server": {
"serverUrl": "https://openfda.caseyjhand.com/mcp"
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
{
"mcpServers": {
"openfda-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"openfda-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"MCP_TRANSPORT_TYPE": "<your MCP_TRANSPORT_TYPE>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<your MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<your MCP_AUTH_MODE>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"openfda-mcp-server": {
"url": "https://openfda.caseyjhand.com/mcp"
}
}
}{
"mcpServers": {
"openfda-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"openfda-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/openfda-mcp-server"
],
"env": {
"OPENFDA_API_KEY": "<your OPENFDA_API_KEY>",
"MCP_TRANSPORT_TYPE": "<your MCP_TRANSPORT_TYPE>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<your MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<your MCP_AUTH_MODE>",
"OPENFDA_MIRROR_ENABLED": "<your OPENFDA_MIRROR_ENABLED>",
"OPENFDA_MIRROR_PATH": "<your OPENFDA_MIRROR_PATH>",
"OPENFDA_MIRROR_REFRESH_CRON": "<your OPENFDA_MIRROR_REFRESH_CRON>",
"OPENFDA_MIRROR_FALLBACK_LIVE": "<your OPENFDA_MIRROR_FALLBACK_LIVE>",
"OPENFDA_MIRROR_REFRESH_TIMEOUT_MS": "<your OPENFDA_MIRROR_REFRESH_TIMEOUT_MS>",
"OPENFDA_MIRROR_BASE_URL": "<your OPENFDA_MIRROR_BASE_URL>",
"MCP_LOG_LEVEL": "<your MCP_LOG_LEVEL>"
}
}
}
}Replace each placeholder with your own value before saving.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.cyanheads%2Fopenfda-mcp-server)<a href="https://mcptoplist.com/server/io.github.cyanheads%2Fopenfda-mcp-server"><img src="https://mcptoplist.com/badge/io.github.cyanheads%2Fopenfda-mcp-server.svg" alt="MCP Toplist: Top 5% of 121,933" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Listed on 3 registries
cyanheads
Other servers by cyanheads
- MCP Ts Core#72 · 184 vers
- obsidian-mcp-server#196 · 31 vers
- Pubmed MCP Server#341 · 78 vers
- Clinicaltrialsgov MCP Server#365 · 66 vers
- Git MCP Server#412 · 43 vers
- Openalex MCP Server#1,733 · 43 vers
- Secedgar MCP Server#1,803 · 52 vers
- Pubchem MCP Server#2,178 · 35 vers
- ntfy-mcp-server#2,235 · 10 vers
- @cyanheads/openstreetmap-mcp-server#2,467 · 33 vers
- cdc-health-mcp-server#2,505 · 26 vers
- toolkit-mcp-server#2,508 · 6 vers
Available versions (31)
| Version | Published |
|---|---|
| 0.7.4 | Aug 25, 2026 |
| 0.7.3 | Aug 7, 2026 |
| 0.7.2 | Aug 7, 2026 |
| 0.7.1 | Jul 27, 2026 |
| 0.7.0 | Jul 27, 2026 |
| 0.6.0 | Jul 27, 2026 |
| 0.5.0 | Jul 26, 2026 |
| 0.4.3 | Jul 26, 2026 |
| 0.4.2 | Jul 11, 2026 |
| 0.4.1 | Jul 11, 2026 |
| 0.4.0 | Jul 3, 2026 |
| 0.3.3 | Jul 3, 2026 |
| 0.3.2 | Jun 20, 2026 |
| 0.3.1 | Jun 12, 2026 |
| 0.3.0 | Jun 9, 2026 |
| 0.2.0 | Jun 9, 2026 |
| 0.1.20 | Jun 5, 2026 |
| 0.1.19 | Jun 4, 2026 |
| 0.1.18 | Jun 2, 2026 |
| 0.1.17 | May 31, 2026 |
| 0.1.16 | May 30, 2026 |
| 0.1.15 | May 29, 2026 |
| 0.1.14 | May 23, 2026 |
| 0.1.13 | May 16, 2026 |
| 0.1.12 | May 8, 2026 |
| 0.1.11 | May 8, 2026 |
| 0.1.10 | Apr 24, 2026 |
| 0.1.9 | Apr 21, 2026 |
| 0.1.8 | Apr 4, 2026 |
| 0.1.7 | Apr 4, 2026 |
| 0.1.6 | Apr 3, 2026 |
Frequently asked questions
- Who maintains @cyanheads/openfda-mcp-server?
- @cyanheads/openfda-mcp-server is maintained by cyanheads, which publishes 131 MCP servers (2112 total versions) tracked on MCP Toplist.
- Is @cyanheads/openfda-mcp-server listed on the Official MCP Registry?
- Yes — @cyanheads/openfda-mcp-server is listed on the Official MCP Registry, alongside PulseMCP and Glama.
- How many versions does @cyanheads/openfda-mcp-server have?
- MCP Toplist tracks 31 versions of @cyanheads/openfda-mcp-server, most recently published on Aug 25, 2026.
- Where can I find the source code for @cyanheads/openfda-mcp-server?
- The source code for @cyanheads/openfda-mcp-server is hosted at github.com/cyanheads/openfda-mcp-server.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.