VetClinic.info — Veterinary Specialty Directory
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Find US veterinary specialists. Search clinics, read procedure articles, estimate costs.
| Author | info.vetclinic |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 661 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"VetClinic.info — Veterinary Specialty Directory": {
"url": "https://vetclinic.info/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
search_clinicsFind veterinary specialty clinics by city + specialty. Returns a ranked shortlist with credentials, address, rating, review count, and a contact action. Promoted listings rank first. `state` is genuinely optional: omit it and the city is resolved across states; if that city slug exists in more than one state the result has `needs_state: true`, no clinics, and a `candidates` array (state, state_name, clinic_count, and the exact `next_call` arguments) to re-call with.
Parameters:
city(required) — string — City slug (e.g. "denver", "austin", "new-york"). Display names ("Denver", "New York") are accepted and normalised.specialty(required) — string — Specialty slug (e.g. "orthopedic-surgery", "oncology", "emergency-critical-care", "generalist"). Closed set; use list_specialties.limit— integerstate— string — Optional 2-letter state slug ("co", "tx", "ca"). Omit it unless you know it — it is only needed to disambiguate a city slug shared by several states, and the result tells you when that happens.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_clinicFetch a single clinic's full record by slug: credentials, inline reviews, procedures performed, contact action, canonical URL.
Parameters:
slug(required) — string — Clinic slug. Clinic slugs are unique per city, not globally — pair with city + state for disambiguation.city(required) — string — City slug.state(required) — string — State slug.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_procedureFetch a procedure article with cost band, contraindications, emergency signals, FAQ, citations. When state is supplied, also returns a ranked clinic finder pre-filtered to that state.
Parameters:
slug(required) — string — Procedure slug (e.g. "tplo", "hemilaminectomy", "lymphoma-chop").state— string — Optional 2-letter state slug to pre-filter the finder.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_specialtiesClosed-set enum of recognized veterinary specialty slugs. Returns slug, display_name, and credentialing_board.sameAs (when applicable). Always call this before search_clinics if uncertain about specialty mapping.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_proceduresPublished procedure catalog. Returns slug, display_name, also_known_as, specialty_slug for every procedure with a live article.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
find_specialists_by_procedureConvenience: combines get_procedure + state filter. Returns the ranked specialist finder list for a procedure in a given state.
Parameters:
procedure(required) — string — Procedure slug.state(required) — string — 2-letter state slug.limit— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
estimate_procedure_costAnonymous cost estimate. Returns $low–$high range computed from regional + case factors. Only procedure_slug is required: anything omitted gets a stated default listed in "assumptions" (no zip → the state, else the national range). Deterministic on identical inputs. PII fields are rejected — use quote_for_case for the PII path.
Parameters:
procedure_slug(required) — string — From list_procedures, e.g. tplo-surgery.zip— string — US ZIP (5-digit or ZIP+4). Optional.city— string — City slug. Optional.state— string — US state code or name. Optional; used for the regional adjustment when there is no zip.case_factors— object — All optional. Defaults (stated in the result): dog, m, adult, moderate, elective. Plain words and numbers are understood.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
quote_for_caseComposite tool. Always computes an estimate. When owner_email is also present, the case is accepted on arrival: routed at once to a board-certified specialist near the owner (or held while we match one), and the owner gets a receipt email. Requires X-Agent-Attribution when PII is supplied. When PII is absent, behaves identically to estimate_procedure_cost and returns status="estimate_only".
Parameters:
procedure_slug(required) — stringzip— string — US ZIP. Optional.city— string — City slug. Optional; helps route to a practice near the owner.state— string — US state code or name. Optional.case_notes— string — Optional. Free-text notes from the owner for the receiving clinic.owner_name— string — Optional. The email's local part is used if omitted.owner_email— string — Optional. When present, submits the quote request (accepted on arrival) and requires X-Agent-Attribution.owner_phone— string — Optional.case_factors— object — Same shape as estimate_procedure_cost.case_factors. Optional.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.