Server definition
- Hash
- sha256:1acaab55ebd94442202a32c8b56e2accf33100d5b6f0e0ddf6e1006ebb57ec95
- What it is
- What a remote MCP server returned when asked what it offers: 8 tools
The blob, as servednamed by its sha256
{
"instructions": "vetclinic.info — board-certified specialty + emergency veterinary directory (US). Tools: search_clinics, get_clinic, get_procedure, list_specialties, list_procedures, find_specialists_by_procedure, estimate_procedure_cost, quote_for_case. Resources: procedure-article://<slug>. Read tools are anonymous; quote_for_case requires X-Agent-Attribution when PII is supplied.",
"tools": [
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"case_factors": {
"additionalProperties": false,
"properties": {
"age_band": {
"enum": [
"puppy",
"young-adult",
"adult",
"senior"
]
},
"comorbidities": {
"items": {
"enum": [
"cardiac",
"renal",
"endocrine",
"obesity"
]
},
"type": "array"
},
"severity": {
"enum": [
"mild",
"moderate",
"severe"
]
},
"species": {
"enum": [
"dog",
"cat"
]
},
"urgency": {
"enum": [
"elective",
"urgent",
"emergency"
]
},
"weight_band": {
"enum": [
"xs",
"s",
"m",
"l",
"xl"
]
}
},
"required": [
"species",
"weight_band",
"age_band",
"severity",
"urgency"
],
"type": "object"
},
"procedure_slug": {
"type": "string"
},
"zip": {
"pattern": "^[0-9]{5}$",
"type": "string"
}
},
"required": [
"procedure_slug",
"zip",
"case_factors"
],
"type": "object"
},
"name": "estimate_procedure_cost",
"outputSchema": null
},
{
"description": "Convenience: combines get_procedure + state filter. Returns the ranked specialist finder list for a procedure in a given state.",
"inputSchema": {
"properties": {
"limit": {
"default": 12,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"procedure": {
"description": "Procedure slug.",
"type": "string"
},
"state": {
"description": "2-letter state slug.",
"type": "string"
}
},
"required": [
"procedure",
"state"
],
"type": "object"
},
"name": "find_specialists_by_procedure",
"outputSchema": null
},
{
"description": "Fetch a single clinic's full record by slug: credentials, inline reviews, procedures performed, contact action, canonical URL.",
"inputSchema": {
"properties": {
"city": {
"description": "City slug.",
"type": "string"
},
"slug": {
"description": "Clinic slug. Clinic slugs are unique per city, not globally — pair with city + state for disambiguation.",
"type": "string"
},
"state": {
"description": "State slug.",
"type": "string"
}
},
"required": [
"slug",
"city",
"state"
],
"type": "object"
},
"name": "get_clinic",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"slug": {
"description": "Procedure slug (e.g. \"tplo\", \"hemilaminectomy\", \"lymphoma-chop\").",
"type": "string"
},
"state": {
"description": "Optional 2-letter state slug to pre-filter the finder.",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_procedure",
"outputSchema": null
},
{
"description": "Published procedure catalog. Returns slug, display_name, also_known_as, specialty_slug for every procedure with a live article.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_procedures",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_specialties",
"outputSchema": null
},
{
"description": "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\".",
"inputSchema": {
"properties": {
"case_factors": {
"description": "Same shape as estimate_procedure_cost.case_factors.",
"type": "object"
},
"case_notes": {
"description": "Optional. Free-text notes from the owner for the receiving clinic.",
"type": "string"
},
"owner_email": {
"description": "Optional. When present, triggers the lead-capture write path and requires X-Agent-Attribution.",
"format": "email",
"type": "string"
},
"owner_name": {
"description": "Optional. Required if owner_email is present.",
"type": "string"
},
"owner_phone": {
"description": "Optional.",
"type": "string"
},
"procedure_slug": {
"type": "string"
},
"zip": {
"pattern": "^[0-9]{5}$",
"type": "string"
}
},
"required": [
"procedure_slug",
"zip",
"case_factors"
],
"type": "object"
},
"name": "quote_for_case",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"city": {
"description": "City slug (e.g. \"denver\", \"austin\", \"new-york\"). Display names (\"Denver\", \"New York\") are accepted and normalised.",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"specialty": {
"description": "Specialty slug (e.g. \"orthopedic-surgery\", \"oncology\", \"emergency-critical-care\", \"generalist\"). Closed set; use list_specialties.",
"type": "string"
},
"state": {
"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.",
"type": "string"
}
},
"required": [
"city",
"specialty"
],
"type": "object"
},
"name": "search_clinics",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:1acaab55ebd94442202a32c8b56e2accf33100d5b6f0e0ddf6e1006ebb57ec95 | sha256sum