Veterical Vet Clinic
See your vet clinic's free slots, vets, service prices, payments and how busy each day is.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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": {
"veterical": {
"url": "https://mcp.veterical.com/mcp"
}
}
}Puntos de conexión remotos
https://mcp.veterical.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟢list_clinics(limit, cursor)
List bounded, cursor-paginated administrative metadata for clinics in the authenticated Veterical organization. Animal, owner, appointment, and clinical records are never returned.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"cursor": {
"type": "string",
"maxLength": 4096,
"description": "Opaque cursor from a prior result"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"clinics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"maxLength": 200
},
"currency": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
{
"type": "null"
}
]
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"timezone": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
},
"lastEditTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"currency",
"defaultLocale",
"timezone",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 100
},
"nextCursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
]
}
},
"required": [
"clinics",
"nextCursor"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_clinic(clinicId)
Get safe administrative metadata for one clinic in the authenticated Veterical organization. Cross-organization ids fail closed as not found.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Clinic id (24-character lowercase hex)"
}
},
"required": [
"clinicId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"clinic": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"maxLength": 200
},
"currency": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
{
"type": "null"
}
]
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"timezone": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
},
"lastEditTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"currency",
"defaultLocale",
"timezone",
"lastEditTime"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"clinic"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_clinic_availability(clinicId)
Summarize the fixed tomorrow-through-fourteen-days booking window for one tenant-owned Veterical clinic. Returns only bounded unassigned capacity by day—never animal, owner, staff, appointment, or clinical data.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Clinic id (24-character lowercase hex)"
}
},
"required": [
"clinicId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"slotCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"slotCountIsLowerBound": {
"type": "boolean"
},
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"slotCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"firstStartTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"lastEndTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
}
},
"required": [
"day",
"slotCount",
"firstStartTime",
"lastEndTime"
],
"additionalProperties": false
},
"maxItems": 14
}
},
"required": [
"status",
"slotCount",
"slotCountIsLowerBound",
"days"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_clinic_providers(clinicId)
List at most 100 display names for bookable providers at one tenant-owned Veterical clinic. Staff identifiers, contact details, roles, colors, avatars, and all animal or clinical data are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Clinic id (24-character lowercase hex)"
}
},
"required": [
"clinicId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"providerCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"providerCountIsLowerBound": {
"type": "boolean"
},
"providers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"type": "string",
"maxLength": 200
}
},
"required": [
"displayName"
],
"additionalProperties": false
},
"maxItems": 100
}
},
"required": [
"status",
"providerCount",
"providerCountIsLowerBound",
"providers"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_clinic_schedule_summary(clinicId, startTime, endTime)
Count scheduled records by UTC day for one tenant-owned Veterical clinic over at most 31 days. Returns aggregate administrative counts only—never appointment identifiers or times, animal or owner information, diagnoses, treatments, reminders, notes, or other clinical data.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Clinic id (24-character lowercase hex)"
},
"startTime": {
"type": "string",
"maxLength": 64,
"description": "Range start as ISO 8601; defaults to now"
},
"endTime": {
"$ref": "#/properties/startTime",
"description": "Range end as ISO 8601; defaults to seven days later"
}
},
"required": [
"clinicId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"range": {
"type": "object",
"properties": {
"startTime": {
"type": "string",
"maxLength": 32
},
"endTime": {
"type": "string",
"maxLength": 32
}
},
"required": [
"startTime",
"endTime"
],
"additionalProperties": false
},
"appointmentCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"appointmentCountIsLowerBound": {
"type": "boolean"
},
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"appointmentCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"required": [
"day",
"appointmentCount"
],
"additionalProperties": false
},
"maxItems": 100
}
},
"required": [
"range",
"appointmentCount",
"appointmentCountIsLowerBound",
"days"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_calendar_events(clinicId, startTime, endTime, limit, cursor)
List bounded, tenant-scoped non-appointment calendar blocks such as closures, courses, meetings, and days off. Event identifiers, clinic or staff references, titles, notes, owner or animal linkage, and clinical fields are never returned.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Filter by owned clinic id"
},
"startTime": {
"type": "string",
"maxLength": 64,
"description": "Only blocks starting at or after this ISO 8601 time"
},
"endTime": {
"$ref": "#/properties/startTime",
"description": "Only blocks ending before this ISO 8601 time"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"cursor": {
"type": "string",
"maxLength": 4096,
"description": "Opaque cursor from a prior result"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"calendarEvents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"startTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"endTime": {
"$ref": "#/properties/calendarEvents/items/properties/startTime"
},
"allDay": {
"type": "boolean"
},
"scope": {
"anyOf": [
{
"type": "string",
"enum": [
"CLINIC",
"PROVIDER",
"SEAT"
]
},
{
"type": "null"
}
]
},
"effect": {
"anyOf": [
{
"type": "string",
"enum": [
"BLOCK",
"OPEN"
]
},
{
"type": "null"
}
]
},
"type": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
}
},
"required": [
"startTime",
"endTime",
"allDay",
"scope",
"effect",
"type"
],
"additionalProperties": false
},
"maxItems": 100
},
"nextCursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
]
}
},
"required": [
"calendarEvents",
"nextCursor"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_procedures(clinicId, limit, cursor)
List bounded numeric catalog configuration for one tenant-owned Veterical clinic: price, duration, and edit time only. Names, descriptions, identifiers, patient-linked treatments, diagnoses, notes, reminders, and every other free-text or clinical field are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Owned clinic id to inspect"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"cursor": {
"type": "string",
"maxLength": 4096,
"description": "Opaque cursor from a prior result"
}
},
"required": [
"clinicId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"procedures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": [
"number",
"null"
]
},
"duration": {
"type": [
"number",
"null"
]
},
"lastEditTime": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
}
},
"required": [
"price",
"duration",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 100
},
"nextCursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
]
}
},
"required": [
"procedures",
"nextCursor"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_payments(clinicId, startTime, endTime, limit, cursor)
Aggregate amount and count by currency and operational status for one bounded page of tenant-scoped Veterical payment records. Returns no transaction IDs or dates, animal or owner linkage, line items, discounts, processor identifiers, card or bank data, and cannot move funds or execute a payment.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Filter by owned clinic id"
},
"startTime": {
"type": "string",
"maxLength": 64,
"description": "Only records dated at or after this ISO 8601 time"
},
"endTime": {
"$ref": "#/properties/startTime",
"description": "Only records dated before this ISO 8601 time"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"cursor": {
"type": "string",
"maxLength": 4096,
"description": "Opaque cursor from a prior result"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"recordsSummarized": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"moreRecordsAvailable": {
"type": "boolean"
},
"totals": {
"type": "array",
"items": {
"type": "object",
"properties": {
"currency": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
{
"type": "null"
}
]
},
"status": {
"anyOf": [
{
"type": "string",
"enum": [
"CANCELED",
"FAILED",
"SUCCEEDED"
]
},
{
"type": "null"
}
]
},
"paymentCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"totalAmount": {
"type": "number"
}
},
"required": [
"currency",
"status",
"paymentCount",
"totalAmount"
],
"additionalProperties": false
},
"maxItems": 100
},
"nextCursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
]
}
},
"required": [
"recordsSummarized",
"moreRecordsAvailable",
"totals",
"nextCursor"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_subscriptions(clinicId, limit, cursor)
List bounded Veterical plan status and configuration limits for the authenticated organization. Patient and appointment values are plan caps, never record counts. Subscription or customer IDs, billed amounts, payment methods, invoices, and every processor field are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Filter by owned clinic id"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"cursor": {
"type": "string",
"maxLength": 4096,
"description": "Opaque cursor from a prior result"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"subscriptions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"clinicId": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"status": {
"anyOf": [
{
"type": "string",
"enum": [
"ACTIVE",
"CANCELED",
"INCOMPLETE",
"PAST_DUE"
]
},
{
"type": "null"
}
]
},
"plan": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"billingFrequency": {
"anyOf": [
{
"type": "string",
"enum": [
"MONTHLY",
"ONCE",
"YEARLY"
]
},
{
"type": "null"
}
]
},
"limits": {
"type": "object",
"properties": {
"appointments": {
"type": [
"number",
"null"
]
},
"patients": {
"type": [
"number",
"null"
]
},
"reminders": {
"type": [
"number",
"null"
]
},
"seats": {
"type": [
"number",
"null"
]
},
"users": {
"type": [
"number",
"null"
]
}
},
"required": [
"appointments",
"patients",
"reminders",
"seats",
"users"
],
"additionalProperties": false
}
},
"required": [
"clinicId",
"status",
"plan",
"billingFrequency",
"limits"
],
"additionalProperties": false
},
"maxItems": 100
},
"nextCursor": {
"anyOf": [
{
"type": "string",
"maxLength": 4096
},
{
"type": "null"
}
]
}
},
"required": [
"subscriptions",
"nextCursor"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢show_clinic_overview(clinicId)
Render a bounded administrative overview for one tenant-owned Veterical clinic: safe clinic metadata, aggregate seven-day schedule counts, provider and unassigned availability counts, and numeric catalog previews. It never returns individual appointments, animal or owner records, diagnoses, treatments, reminders, notes, transaction details, or other clinical or personal data.
Esquema de entrada
{
"type": "object",
"properties": {
"clinicId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "Veterical clinic id to render"
}
},
"required": [
"clinicId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"clinic": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"type": "string",
"maxLength": 200
},
"currency": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
{
"type": "null"
}
]
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 35
},
{
"type": "null"
}
]
},
"timezone": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"currency",
"defaultLocale",
"timezone"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"scheduleRange": {
"type": "object",
"properties": {
"startTime": {
"type": "string",
"maxLength": 32
},
"endTime": {
"type": "string",
"maxLength": 32
}
},
"required": [
"startTime",
"endTime"
],
"additionalProperties": false
},
"appointmentCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"appointmentCountIsLowerBound": {
"type": "boolean"
},
"scheduleDays": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"required": [
"day",
"count"
],
"additionalProperties": false
}
},
"procedureCount": {
"type": "integer",
"minimum": 0,
"maximum": 12
},
"procedureCountIsLowerBound": {
"type": "boolean"
},
"procedures": {
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"duration": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"price",
"duration"
],
"additionalProperties": false
}
},
"providerCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"providerCountIsLowerBound": {
"type": "boolean"
},
"availableDayCount": {
"type": "integer",
"minimum": 0,
"maximum": 14
},
"availableSlotCount": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"availableSlotCountIsLowerBound": {
"type": "boolean"
},
"availabilityDays": {
"maxItems": 14,
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"required": [
"day",
"count"
],
"additionalProperties": false
}
}
},
"required": [
"clinic",
"scheduleRange",
"appointmentCount",
"appointmentCountIsLowerBound",
"scheduleDays",
"procedureCount",
"procedureCountIsLowerBound",
"procedures",
"providerCount",
"providerCountIsLowerBound",
"availableDayCount",
"availableSlotCount",
"availableSlotCountIsLowerBound",
"availabilityDays"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Comunidad
Evidencia