Query FDA data on drugs, food, devices, and recalls via openFDA. STDIO or Streamable HTTP.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
openfda_count
Aggregate and tally unique values for any field across any openFDA endpoint
-
openfda_describe_fields
Return searchable field paths for an openFDA endpoint, grouped by category
-
openfda_drug_profile
One drug name → consolidated FDA profile: identity, label, adverse events, recalls, approval, shortage
-
openfda_get_drug_label
Look up FDA drug labeling (package inserts / SPL documents)
-
openfda_lookup_ndc
Look up drugs in the NDC (National Drug Code) Directory
-
openfda_search_adverse_events
Search adverse event reports across drugs, food, and devices
-
openfda_search_animal_events
Search adverse event reports for veterinary drugs and devices
-
openfda_search_device_clearances
Search FDA device premarket notifications — 510(k) clearances and PMA approvals
-
openfda_search_drug_approvals
Search the Drugs@FDA database for NDA/ANDA application approvals
-
openfda_search_drug_shortages
Search FDA drug shortage records — status, availability, therapeutic category, manufacturer
-
openfda_search_recalls
Search enforcement reports and recall actions across drugs, food, and devices
-
openfda_search_tobacco_reports
Search problem reports for tobacco products, e-cigarettes, and vaping devices
analyzed commit 1f96e75 · analyzer v17 · 2d ago
skills & prompt files 34
- agent-rulescyanheads-openfda-mcp-server-1f96e75/AGENTS.md
- agent-rulescyanheads-openfda-mcp-server-1f96e75/CLAUDE.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/add-app-tool/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/add-prompt/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/add-resource/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/add-service/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/add-test/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/add-tool/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-auth/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-canvas/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-config/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-context/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-errors/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-linter/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-mirror/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-services/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-telemetry/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-testing/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-utils/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/api-workers/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/code-simplifier/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/design-mcp-server/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/field-test/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/git-wrapup/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/maintenance/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/orchestrations/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/polish-docs-meta/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/release-and-publish/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/report-issue-framework/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/report-issue-local/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/security-pass/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/setup/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/techniques/SKILL.md
- skillcyanheads-openfda-mcp-server-1f96e75/skills/tool-defs-analysis/SKILL.md
filesystem 14
- fs cyanheads-openfda-mcp-server-1f96e75/scripts/build-changelog.ts :32
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/build.ts :17
import { readFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/check-docs-sync.ts :22
import { existsSync, readFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/check-skill-versions.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/check-skills-sync.ts :37
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/clean-mcpb.ts :25
import { existsSync, statSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/clean.ts :15
import { readdir, rm } from 'node:fs/promises'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/devcheck.ts :3
import { existsSync, readFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/lint-mcp.ts :19
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/lint-packaging.ts :43
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/list-skills.ts :21
import { existsSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/release-github.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/split-changelog.ts :24
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs cyanheads-openfda-mcp-server-1f96e75/scripts/tree.ts :24
import type { Dirent } from 'node:fs';
shell / exec 7
- shell cyanheads-openfda-mcp-server-1f96e75/scripts/build.ts :16
import { execFile } from 'node:child_process'; - shell cyanheads-openfda-mcp-server-1f96e75/scripts/check-framework-antipatterns.ts :38
import { spawnSync } from 'node:child_process'; - shell cyanheads-openfda-mcp-server-1f96e75/scripts/check-skill-versions.ts :32
import { spawnSync } from 'node:child_process'; - shell cyanheads-openfda-mcp-server-1f96e75/scripts/clean-mcpb.ts :24
import { execFileSync } from 'node:child_process'; - shell cyanheads-openfda-mcp-server-1f96e75/scripts/devcheck.ts :2
import { type ChildProcess, spawn, spawnSync } from 'node:child_process'; - shell cyanheads-openfda-mcp-server-1f96e75/scripts/lint-packaging.ts :42
import { execFileSync } from 'node:child_process'; - shell cyanheads-openfda-mcp-server-1f96e75/scripts/release-github.ts :32
import { spawnSync } from 'node:child_process';
network 1
- net cyanheads-openfda-mcp-server-1f96e75/src/services/openfda/openfda-service.ts :47
const response = await fetch(url.toString(), {
declared dependencies 13
- @cyanheads/mcp-ts-core@^0.10.6
- @duckdb/node-api@^1.5.3-r.3
- pino-pretty@^13.1.3
- zod@^4.4.3
- @biomejs/biome@^2.4.16
- @opentelemetry/api@^1.9.1
- @types/node@^25.9.3
- @vitest/coverage-istanbul@^4.1.8
- depcheck@^1.4.7
- ignore@^7.0.5
- tsc-alias@^1.8.17
- typescript@^6.0.3
- vitest@^4.1.8