Veterical Vet Clinic
REMOTE · MCP.VETERICAL.COM · SCANNED OCT 1
See your vet clinic's free slots, vets, service prices, payments and how busy each day is.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security92
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability79
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2904 tokens (~207/item across 14 items; 10 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
- Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
How do I install the Veterical Vet Clinic MCP server?
Veterical Vet Clinic is a hosted endpoint at https://mcp.veterical.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.veterical.com
claude mcp add --transport http com-veterical-veterical 'https://mcp.veterical.com/mcp'
{
"mcpServers": {
"com-veterical-veterical": {
"url": "https://mcp.veterical.com/mcp"
}
}
} {
"servers": {
"com-veterical-veterical": {
"type": "http",
"url": "https://mcp.veterical.com/mcp"
}
}
} [mcp_servers.com-veterical-veterical] url = "https://mcp.veterical.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-veterical-veterical": {
"type": "remote",
"url": "https://mcp.veterical.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-veterical-veterical --url 'https://mcp.veterical.com/mcp' --transport streamable-http
mcp_servers:
com-veterical-veterical:
url: "https://mcp.veterical.com/mcp" {
"McpServers": {
"com-veterical-veterical": {
"Transport": "http",
"Url": "https://mcp.veterical.com/mcp"
}
}
} assistant mcp add com-veterical-veterical -t streamable-http -u 'https://mcp.veterical.com/mcp'
{
"mcpServers": {
"com-veterical-veterical": {
"type": "http",
"url": "https://mcp.veterical.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 1 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Sept 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_clinic” rewrote its description, which is the text the model reads security
- Tool “get_clinic_availability” rewrote its description, which is the text the model reads security
- Tool “get_clinic_schedule_summary” rewrote its description, which is the text the model reads security
- Tool “list_calendar_events” rewrote its description, which is the text the model reads security
- Tool “list_clinic_providers” rewrote its description, which is the text the model reads security
- Tool “list_clinics” rewrote its description, which is the text the model reads security
- Tool “list_payments” rewrote its description, which is the text the model reads security
- Tool “list_procedures” rewrote its description, which is the text the model reads security
- Tool “list_subscriptions” rewrote its description, which is the text the model reads security
- Tool “show_clinic_overview” rewrote its description, which is the text the model reads security
- Schema quality: 176 → 212 ▼ functional
- Tool coverage: 80% → 100% ▲ functional
- Server version: 0.1.1 → 0.1.2 functional
- “get_clinic” reworded the description of “clinicId” cosmetic
- “get_clinic_availability” reworded the description of “clinicId” cosmetic
- “get_clinic_schedule_summary” reworded the description of “clinicId” cosmetic
- “get_clinic_schedule_summary” reworded the description of “endTime” cosmetic
- “get_clinic_schedule_summary” reworded the description of “startTime” cosmetic
- “list_calendar_events” reworded the description of “clinicId” cosmetic
- “list_calendar_events” reworded the description of “cursor” cosmetic
- “list_calendar_events” reworded the description of “endTime” cosmetic
- “list_calendar_events” reworded the description of “limit” cosmetic
- “list_calendar_events” reworded the description of “startTime” cosmetic
- “list_clinic_providers” reworded the description of “clinicId” cosmetic
- “list_clinics” reworded the description of “cursor” cosmetic
- “list_clinics” reworded the description of “limit” cosmetic
- “list_payments” reworded the description of “clinicId” cosmetic
- “list_payments” reworded the description of “cursor” cosmetic
- “list_payments” reworded the description of “endTime” cosmetic
- “list_payments” reworded the description of “limit” cosmetic
- “list_payments” reworded the description of “startTime” cosmetic
- “list_procedures” reworded the description of “clinicId” cosmetic
- “list_procedures” reworded the description of “cursor” cosmetic
- “list_procedures” reworded the description of “limit” cosmetic
- “list_subscriptions” reworded the description of “clinicId” cosmetic
- “list_subscriptions” reworded the description of “cursor” cosmetic
- “list_subscriptions” reworded the description of “limit” cosmetic
- “show_clinic_overview” reworded the description of “clinicId” cosmetic
- Tool “get_clinic” changed its title: Get clinic → Get vet clinic details cosmetic
- Tool “get_clinic_availability” changed its title: Get clinic bookable availability → Find free appointment slots cosmetic
- Tool “get_clinic_schedule_summary” changed its title: Get clinic schedule summary → Count appointments per day cosmetic
- Tool “list_calendar_events” changed its title: List calendar closures and overrides → List closures, holidays and blocked time cosmetic
- Tool “list_clinic_providers” changed its title: List clinic providers → List bookable vets and staff cosmetic
- Tool “list_clinics” changed its title: List clinics → List your vet clinics cosmetic
- Tool “list_payments” changed its title: Summarize payment totals → Summarize payments received cosmetic
- Tool “list_procedures” changed its title: List numeric procedure catalog metadata → Review treatment catalog prices cosmetic
- Tool “list_subscriptions” changed its title: List subscription entitlements → Check Veterical plan and limits cosmetic
- Tool “show_clinic_overview” changed its title: Show Veterical clinic overview → Show vet clinic overview cosmetic
- 26 Sept 26 0
- Stability: unverified → 0.03 ▲ functional
- 25 Sept 26 79
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 1 Oct 2026 · Probed https://mcp.veterical.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=veterical.com | CN=Amazon RSA 2048 M04,O=Amazon,C=US | 30 Jul 2026 | 12 Feb 2027 | RSA 2048 | SHA256-RSA | 70857f0c6ea955e3df2bd47e2d37cef |
| SANs: veterical.com, *.migration.veterical.com, *.veterical.com | ||||||
| CN=Amazon RSA 2048 M04,O=Amazon,C=US (CA) | CN=Amazon Root CA 1,O=Amazon,C=US | 23 Aug 2022 | 23 Aug 2030 | RSA 2048 | SHA256-RSA | 773124f2a952e3ed18a58bdb85d1bc0ce5f27 |
| CN=Amazon Root CA 1,O=Amazon,C=US (CA) | CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US | 25 May 2015 | 31 Dec 2037 | RSA 2048 | SHA256-RSA | 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.veterical.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| veterical.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="veterical", resource_metadata="https://mcp.veterical.com/.well-known/oauth-protected-resource", scope="veterical:read", error="invalid_token", error_description="missing Bearer token"
Bearer realm="veterical", resource_metadata="https://mcp.veterical.com/.well-known/oauth-protected-resource", scope="veterical:read", error="invalid_token", error_description="missing Bearer token" Protected resource metadata
| Document | https://mcp.veterical.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.veterical.com |
| Authorisation server | https://api.authrice.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.veterical.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.veterical.com/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_clinic Get vet clinic details ~79
Use this when someone asks about one vet clinic's basic settings, such as its currency, language or timezone. Returns the clinic's name, currency, default language, timezone and last edit time; an id outside the organization returns not-found. Not for free appointment slots.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | yes | Clinic id: 24 lowercase hexadecimal characters |
| Name | Type | Req | Description |
|---|---|---|---|
| clinic | – | yes | Administrative clinic metadata only; opening hours, staff, animal, owner and appointment data are not included. Null when not found. |
| status | string | yes | – |
No examples provided.
get_clinic_availability Find free appointment slots ~100
Use this when someone asks when their vet clinic has free appointment slots or openings. Returns the open online-booking slots per day for one clinic: how many, plus the first start and last end time. Covers the next days that have openings, up to 14 days and 100 slots (no pet, owner or medical data). Not for booking an appointment.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | yes | Clinic id: 24 lowercase hexadecimal characters |
| Name | Type | Req | Description |
|---|---|---|---|
| days | array | yes | One row per day that has open online-booking slots, in date order. Unassigned capacity only; appointments, animals, owners, staff and clinical data are never included. |
| slotCount | integer | yes | – |
| slotCountIsLowerBound | boolean | yes | True when more open slots exist beyond the 14-day, 100-slot cap |
| status | string | yes | – |
No examples provided.
get_clinic_schedule_summary Count appointments per day ~154
Use this when someone asks how busy their vet clinic is or how many appointments fall on each day. Returns appointment counts per UTC day for one clinic, canceled ones included, for the next 7 days by default and at most 31 days; counting stops at 100. Not for seeing individual appointments, pets or owners.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | yes | Clinic id: 24 lowercase hexadecimal characters |
| endTime | – | – | End of the range as an ISO 8601 date-time, after startTime and at most 31 days later; defaults to 7 days after the start |
| startTime | string | – | Start of the range as an ISO 8601 date-time; defaults to now |
| Name | Type | Req | Description |
|---|---|---|---|
| appointmentCount | integer | yes | – |
| appointmentCountIsLowerBound | boolean | yes | True when more than 100 appointments fall in the range |
| days | array | yes | One row per UTC day that has appointments, canceled ones included. Aggregate counts only: appointment identifiers and times, animals, owners, diagnoses, treatments, reminders and notes are never retu… |
| range | object | yes | – |
No examples provided.
list_calendar_events List closures, holidays and blocked time ~178
Use this when someone asks when their vet clinic is closed or has time blocked for holidays, vacations, sick days, meetings or courses. Returns each block or extra opening with start, end, all-day flag, scope (clinic, staff or room) and type, without titles, notes or names. Not for appointments.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | – | Only this clinic (24 lowercase hexadecimal characters); every clinic when absent |
| cursor | string | – | The nextCursor of the previous page with the same filters; absent for the first page |
| endTime | – | – | Only blocks ending before this ISO 8601 date-time |
| limit | integer | – | Blocks per page, from 1 to 100; defaults to 20 |
| startTime | string | – | Only blocks starting at or after this ISO 8601 date-time |
| Name | Type | Req | Description |
|---|---|---|---|
| calendarEvents | array | yes | Non-appointment calendar blocks, earliest first. Event identifiers, clinic or staff references, titles, notes, owner or animal linkage and clinical fields are never returned. |
| nextCursor | – | yes | Cursor for the next page; null on the last page |
No examples provided.
list_clinic_providers List bookable vets and staff ~74
Use this when someone asks which vets, nurses or assistants can be booked at their clinic. Returns up to 100 staff display names for one clinic (no contact details, roles or pet data). Not for staff days off or vacations.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | yes | Clinic id: 24 lowercase hexadecimal characters |
| Name | Type | Req | Description |
|---|---|---|---|
| providerCount | integer | yes | – |
| providerCountIsLowerBound | boolean | yes | – |
| providers | array | yes | Display names of staff with a doctor, nurse or assistant role. Staff identifiers, contact details, roles, colors, avatars and all animal or clinical data are excluded. |
| status | string | yes | – |
No examples provided.
list_clinics List your vet clinics ~109
Use this when someone asks which vet clinics they manage in Veterical, or a clinic's id is needed. Returns each clinic's id, name, currency, default language and timezone, 20 per page by default. Not for finding a pet, owner or appointment.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | The nextCursor of the previous page of this listing; absent for the first page |
| limit | integer | – | Clinics per page, from 1 to 100; defaults to 20 |
| Name | Type | Req | Description |
|---|---|---|---|
| clinics | array | yes | Clinics in the signed-in organization, administrative metadata only. Animal, owner, appointment and clinical records are never returned. |
| nextCursor | – | yes | Cursor for the next page; null on the last page |
No examples provided.
list_payments Summarize payments received ~186
Use this when someone asks how much their vet clinic has taken in, or how many payments succeeded, failed or were canceled. Returns totals and counts by currency and status for one page of payments, newest first (20 by default), with a cursor for the rest (no client, pet or card data). Not for refunds or charging a client.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | – | Only this clinic (24 lowercase hexadecimal characters); every clinic when absent |
| cursor | string | – | The nextCursor of the previous page with the same filters; absent for the first page |
| endTime | – | – | Only payments dated before this ISO 8601 date-time |
| limit | integer | – | Payments to summarize in this page, from 1 to 100; defaults to 20 |
| startTime | string | – | Only payments dated at or after this ISO 8601 date-time |
| Name | Type | Req | Description |
|---|---|---|---|
| moreRecordsAvailable | boolean | yes | True when older payments exist beyond this page |
| nextCursor | – | yes | Cursor for the next page; null on the last page |
| recordsSummarized | integer | yes | How many payment records this page summarized |
| totals | array | yes | One row per currency and status within this page only. Transaction identifiers and dates, animal or owner linkage, line items, discounts, payment methods, card or bank data and processor identifiers… |
No examples provided.
list_procedures Review treatment catalog prices ~132
Use this when someone asks about the prices set in their vet clinic's treatment and service catalog, such as the lowest, highest or most recently changed price. Returns price, duration where recorded and last edit time per catalog row, without treatment names. Not for the price of a specific named treatment.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | yes | Clinic id: 24 lowercase hexadecimal characters |
| cursor | string | – | The nextCursor of the previous page with the same filters; absent for the first page |
| limit | integer | – | Catalog rows per page, from 1 to 100; defaults to 50 |
| Name | Type | Req | Description |
|---|---|---|---|
| nextCursor | – | yes | Cursor for the next page; null on the last page |
| procedures | array | yes | Numeric catalog rows, most recently edited first. Names, descriptions, identifiers, patient-linked treatments, diagnoses, notes, reminders and every other free-text or clinical field are excluded. |
No examples provided.
list_subscriptions Check Veterical plan and limits ~139
Use this when someone asks which Veterical plan their clinic is on, whether it is active, or how many users, seats, patients, appointments or reminders it allows. Returns plan name, status, billing frequency and plan caps per subscription; caps are limits, not usage. Not for invoices or amounts billed.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | – | Only this clinic (24 lowercase hexadecimal characters); every clinic when absent |
| cursor | string | – | The nextCursor of the previous page with the same filters; absent for the first page |
| limit | integer | – | Subscriptions per page, from 1 to 100; defaults to 20 |
| Name | Type | Req | Description |
|---|---|---|---|
| nextCursor | – | yes | Cursor for the next page; null on the last page |
| subscriptions | array | yes | Plan entitlements, newest first. Subscription or customer ids, billed amounts, payment methods, invoices and every processor field are excluded. |
No examples provided.
show_clinic_overview Show vet clinic overview ~95
Use this when someone wants a quick overview or dashboard of one vet clinic. Returns an overview card with the clinic's details, appointment counts for the next 7 days, how many staff can be booked, open online-booking slots and up to 12 catalog prices (no pet, owner or medical data). Not for a single appointment.
| Name | Type | Req | Description |
|---|---|---|---|
| clinicId | string | yes | Clinic id: 24 lowercase hexadecimal characters |
| Name | Type | Req | Description |
|---|---|---|---|
| appointmentCount | integer | yes | – |
| appointmentCountIsLowerBound | boolean | yes | – |
| availabilityDays | array | yes | – |
| availableDayCount | integer | yes | – |
| availableSlotCount | integer | yes | – |
| availableSlotCountIsLowerBound | boolean | yes | – |
| clinic | – | yes | Administrative clinic metadata; null when the clinic was not found. The overview never includes individual appointments, animal or owner records, diagnoses, treatments, reminders, notes, transaction… |
| procedureCount | integer | yes | – |
| procedureCountIsLowerBound | boolean | yes | – |
| procedures | array | yes | – |
| providerCount | integer | yes | – |
| providerCountIsLowerBound | boolean | yes | – |
| scheduleDays | array | yes | – |
| scheduleRange | object | yes | – |
No examples provided.
What is the Veterical Vet Clinic MCP server?
Veterical Vet Clinic is an MCP server listed in the public MCP registry as com.veterical/veterical. See your vet clinic's free slots, vets, service prices, payments and how busy each day is. This page covers its hosted endpoint (https://mcp.veterical.com/mcp).
Is the Veterical Vet Clinic MCP server safe to use?
Veterical Vet Clinic scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Veterical Vet Clinic MCP server expose?
Veterical Vet Clinic exposes 10 tools: list_clinics, get_clinic, get_clinic_availability, list_clinic_providers, get_clinic_schedule_summary, and 5 more. Their descriptions and schemas cost roughly 1,246 tokens of context every time the server is loaded.
Does the Veterical Vet Clinic MCP server require authentication?
Yes. Veterical Vet Clinic asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Veterical Vet Clinic MCP server still maintained?
Veterical Vet Clinic is still listed as active in the MCP registry. We last reached this channel on 1 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.