VetClinic.info — Veterinary Specialty Directory

Find US veterinary specialists. Search clinics, read procedure articles, estimate costs.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
78%
Calidad de los nombres
95%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,211Tokens (definiciones de herramientas)
~1.1 KBTamaño de respuesta típico
Impacto moderado en la atención (0.95% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "directory": {
      "url": "https://vetclinic.info/mcp"
    }
  }
}

Puntos de conexión remotos

https://vetclinic.info/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (8)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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".

Esquema de entrada

{
  "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"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada8 herramientas
verificadoversión no registrada8 herramientas
verificadoversión no registrada8 herramientas