veterinary-fda
Provides location-based pet services lookup using OpenStreetMap, including nearby vets, emergency vets, dog parks, pet stores, and shelters.
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., "@veterinary-fdaWhat side effects have been reported for Bravecto in dogs?"
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.
Veterinary FDA — Animal Drug Adverse Events, Pet Product Recalls, Pet Services
Side-effect reports, product recalls, and nearby pet services for the animal/veterinary side of the world — dogs, cats, horses, cattle. Two sources: openFDA's Center for Veterinary Medicine adverse-event database (985,705 Dog / 148,091 Cat reports as of 2026-09-04, keyless) and OpenStreetMap (vets, dog parks, pet stores, shelters). No pack in the MCP ecosystem serves the animal adverse-event data before this one — openfda never touches it.
Part of Pipeworx — an MCP gateway connecting AI agents to 1509+ live data sources.
Why this matters for AI agents
"Is this side effect from my dog's flea medication normal?" and "has this dog food been recalled?" are questions people actually ask, and until now nothing answered them from primary-source FDA data.
Common flows:
Side effects for a drug. "What side effects have been reported for Bravecto in dogs?" →
vet_adverse_events({drug: "Bravecto", species: "Dog"})→ individual reports with reactions, outcome, dose.Aggregate safety picture. "How common are seizures with fluralaner in dogs?" →
vet_adverse_event_summary({active_ingredient: "fluralaner", species: "Dog"})→ counts by reaction, outcome, year.Recalls. "Has Blue Buffalo dog food been recalled?" →
vet_product_recalls({product: "Blue Buffalo"}).Nearby services. "Emergency vet near Austin TX" →
pet_services_near({place: "Austin TX", kind: "emergency_vet"}).
Related MCP server: @cyanheads/openfda-mcp-server
Auth
Public, keyless. api.fda.gov runs on api-umbrella (the same api.data.gov stack as openfda), so the gateway injects PLATFORM_DATAGOV_KEY (workers/gateway/src/index.ts, MCP_PACKS entry for veterinary-fda) to raise the anonymous 40 req/min · 1,000/day cap to 120,000/day — the same platform key already backing 15 other federal packs (openfda, fac, nasa, govinfo, regulations-gov, etc.). Bring your own key with _apiKey to draw on your own quota instead. A rejected/revoked platform key falls back to anonymous rather than failing the call.
Nominatim (geocoding) and Overpass (pet_services_near) are separately keyless, public OSM infrastructure.
Tools
Tool | What it answers |
| Individual animal adverse-event reports for a drug/species |
| Counts by reaction, outcome, and year for a drug/species pair |
| FDA Enforcement Report recalls for a pet food or veterinary drug product |
| Nearby vets, emergency vets, dog parks, pet stores, shelters (OpenStreetMap) |
Data traps (measured 2026-09-04, load-bearing for how these tools are built)
drug.brand_nameis near-useless. In the adverse-event endpoint it almost always holds the registrant's internal short code (e.g."MSK"for Merck Animal Health), not the marketed product name. Searchingdrug.brand_namefor "Bravecto", "Frontline", "Heartgard", or "Simparica" returns zero matches for all four. The actual product name is recorded insidedrug.active_ingredients.nameinstead (mixed in with real chemical ingredient names — messy upstream data).vet_adverse_events/vet_adverse_event_summarytrybrand_namefirst, then fall back toactive_ingredients.nameautomatically and reportresolved_fromso the caller knows which field actually matched.count=<field>.exactis per-field, not universal.count=reaction.veddra_term_name.exactandcount=outcome.medical_status.exactboth work;count=animal.species.exactandcount=original_receive_date.exactboth return"Nothing to count".vet_adverse_event_summary's by-year table works around the date-field limitation by requestingcount=original_receive_date(which buckets per exact DAY, not year) and aggregating client-side.Bare multi-word terms are an OR, not an AND, and openFDA does not rank by relevance.
search=product_description:dog+food(no quotes) matches ~29,000 records — mostly hot dogs and corn dogs, because "dog" OR "food" hits practically the whole food-recall corpus, returned in whatever order openFDA feels like. Only the phrase-quoted form,search=product_description:"dog food", returns the real 2 pet-food matches (Freshpet).vet_product_recallsalways phrase-quotes multi-word product terms for this reason, and never falls back to a loose OR match — for a recall/safety answer, a false-positive (a "Blue Bell" ice-cream recall surfacing for a "Blue Buffalo" query) is worse than an honest zero, so unlike this pack's own adverse-event fallback and unlikeopenfda's free-text fallback, there is no loose-match tier here.Pet-food recall coverage in openFDA is genuinely incomplete, not a search-syntax problem. There is no dedicated animal/pet-food recall endpoint —
vet_product_recallsreusesfood/enforcement.jsonanddrug/enforcement.json, the same feedsopenfdauses for human food/drugs. Several well-known, FDA-confirmed pet-food recalls are absent from this dataset entirely, verified by exhausting every plausible product/firm-name spelling (including the exact names from FDA's own press releases) rather than by a single failed query: Blue Buffalo's 2010/2017/2022 recalls and the 2021 Sportmix aflatoxin recall (~70 dog deaths, a formal FDA Class I recall) all return zero records under any search. FDA's own recall-history page (fda.gov/animal-veterinary/safety-health/recalls-withdrawals) is not the same backing data as openFDA's Enforcement Reports API, and openFDA does not mirror it.vet_product_recallsreturnstotal: 0plus an explicit note in that case — treat a zero as "no Enforcement Report record found," never as "never recalled."emergency=yesis under-tagged in OpenStreetMap. Many real emergency vet clinics simply aren't tagged that way.pet_services_near({kind: "emergency_vet"})falls back to all nearby veterinary clinics (with a note) rather than returning a false "none found" when the emergency-tagged search comes up empty.
Example questions this pack should answer
"What side effects have been reported for Bravecto in dogs?"
"How many adverse events for fluralaner in cats, and what happened to them?"
"Has Blue Buffalo dog food been recalled?"
"Emergency vet near Austin TX"
"Dog parks near Portland OR"
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"veterinary-fda": {
"url": "https://gateway.pipeworx.io/veterinary-fda/mcp"
}
}
}What this endpoint actually serves
tools/list at https://gateway.pipeworx.io/veterinary-fda/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}Both URLs reach the same gateway and the same 1509+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
Using with ask_pipeworx
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Veterinary Fda data" })The gateway picks the right tool and fills the arguments automatically.
More
License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Source-verified pet food regulations, recalls, nutrient standards and species care data.
Search FDA safety data: drug adverse events, recalls, and device events.
Search, preview, install community Codex pet packs, and discover the pet request flow.
OpenFDA MCP — wraps the openFDA API (free, no auth required)
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query and analyze FDA adverse events, drug labels, medical device clearances, and other public health datasets through natural language commands.13-
- AlicenseNot gradedqualityAmaintenanceQuery FDA data on drugs, food, devices, and recalls via openFDA. Provides 12 tools for searching adverse events, drug labels, recalls, and more.3914Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables querying FDA drug approvals, device clearances (510(k)), recalls, and adverse events via the openFDA API, providing tools for clinical and pharmaceutical research.1-
- AlicenseAqualityDmaintenanceEnables LLMs to search FDA drug labels and adverse event data via the OpenFDA API, supporting natural language queries for drug safety information.2MIT
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/pipeworx-io/mcp-veterinary-fda'
If you have feedback or need assistance with the MCP directory API, please join our Discord server