VetClinic.info — Veterinary Specialty Directory
Find US veterinary specialists. Search clinics, read procedure articles, estimate costs.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"directory": {
"url": "https://vetclinic.info/mcp"
}
}
}Remote-Endpunkte
https://vetclinic.info/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (8)
🟢search_clinics(city, specialty, state, limit)
Find 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 error carries a `data.candidates` array (state, state_name, clinic_count) to re-call with.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City slug (e.g. \"denver\", \"austin\", \"new-york\"). Display names (\"Denver\", \"New York\") are accepted and normalised."
},
"specialty": {
"type": "string",
"description": "Specialty slug (e.g. \"orthopedic-surgery\", \"oncology\", \"emergency-critical-care\", \"generalist\"). Closed set; use list_specialties."
},
"state": {
"type": "string",
"description": "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 error response tells you when that happens."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
},
"required": [
"city",
"specialty"
]
}🟢get_clinic(slug, city, state)
Fetch a single clinic's full record by slug: credentials, inline reviews, procedures performed, contact action, canonical URL.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Clinic slug. Clinic slugs are unique per city, not globally — pair with city + state for disambiguation."
},
"city": {
"type": "string",
"description": "City slug."
},
"state": {
"type": "string",
"description": "State slug."
}
},
"required": [
"slug",
"city",
"state"
]
}🟢get_procedure(slug, state)
Fetch 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.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Procedure slug (e.g. \"tplo\", \"hemilaminectomy\", \"lymphoma-chop\")."
},
"state": {
"type": "string",
"description": "Optional 2-letter state slug to pre-filter the finder."
}
},
"required": [
"slug"
]
}🟡list_specialties
Closed-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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_procedures
Published procedure catalog. Returns slug, display_name, also_known_as, specialty_slug for every procedure with a live article.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢find_specialists_by_procedure(procedure, state, limit)
Convenience: combines get_procedure + state filter. Returns the ranked specialist finder list for a procedure in a given state.
Eingabe-Schema
{
"type": "object",
"properties": {
"procedure": {
"type": "string",
"description": "Procedure slug."
},
"state": {
"type": "string",
"description": "2-letter state slug."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 12
}
},
"required": [
"procedure",
"state"
]
}⚪estimate_procedure_cost(procedure_slug, zip, case_factors)
Anonymous cost estimate. Returns $low–$high range computed from regional + case factors. Deterministic on identical inputs. PII fields are rejected — use quote_for_case for the PII path.
Eingabe-Schema
{
"type": "object",
"properties": {
"procedure_slug": {
"type": "string"
},
"zip": {
"type": "string",
"pattern": "^[0-9]{5}$"
},
"case_factors": {
"type": "object",
"properties": {
"species": {
"enum": [
"dog",
"cat"
]
},
"weight_band": {
"enum": [
"xs",
"s",
"m",
"l",
"xl"
]
},
"age_band": {
"enum": [
"puppy",
"young-adult",
"adult",
"senior"
]
},
"severity": {
"enum": [
"mild",
"moderate",
"severe"
]
},
"urgency": {
"enum": [
"elective",
"urgent",
"emergency"
]
},
"comorbidities": {
"type": "array",
"items": {
"enum": [
"cardiac",
"renal",
"endocrine",
"obesity"
]
}
}
},
"required": [
"species",
"weight_band",
"age_band",
"severity",
"urgency"
],
"additionalProperties": false
}
},
"required": [
"procedure_slug",
"zip",
"case_factors"
],
"additionalProperties": false
}⚪quote_for_case(procedure_slug, zip, case_factors, owner_name, owner_email, ...)
Composite tool. Always computes an estimate. When owner_email is also present, additionally submits a confirmation-gated lead and dispatches a confirmation email to the owner (requires X-Agent-Attribution header). When PII is absent, behaves identically to estimate_procedure_cost and returns status="estimate_only".
Eingabe-Schema
{
"type": "object",
"properties": {
"procedure_slug": {
"type": "string"
},
"zip": {
"type": "string",
"pattern": "^[0-9]{5}$"
},
"case_factors": {
"type": "object",
"description": "Same shape as estimate_procedure_cost.case_factors."
},
"owner_name": {
"type": "string",
"description": "Optional. Required if owner_email is present."
},
"owner_email": {
"type": "string",
"format": "email",
"description": "Optional. When present, triggers the lead-capture write path and requires X-Agent-Attribution."
},
"owner_phone": {
"type": "string",
"description": "Optional."
},
"case_notes": {
"type": "string",
"description": "Optional. Free-text notes from the owner for the receiving clinic."
}
},
"required": [
"procedure_slug",
"zip",
"case_factors"
]
}Community
Nachweis