Skip to main content
Glama
NoBanks

ezyVet MCP Server

by NoBanks
README.md
markdown
# ezyVet MCP Server

An MCP (Model Context Protocol) server for ezyVet veterinary practice management API v1.

## Overview

This MCP server provides AI agents with 8 tools to read and manage animals, contacts, appointments, consults, invoices, and products across an ezyVet veterinary practice deployment.

## Features

- **8 MCP Tools** for veterinary practice management
- **OAuth 2.0 Client Credentials** authentication with auto token renewal
- **Async HTTP** via httpx for efficient API calls
- **Pydantic v2** schemas for type-safe inputs/outputs
- **Write-gated** appointment creation (requires env flag)

## Tools

| Tool | Endpoint | Description |
|------|----------|-------------|
| `list_animals` | GET /animal | List animals with pagination |
| `get_animal` | GET /animal/{id} | Get single animal by ID |
| `list_contacts` | GET /contact | List contacts (pet owners/clients) |
| `list_appointments` | GET /appointment | List appointments with date filtering |
| `create_appointment` | POST /appointment | Create new appointment (write-gated) |
| `list_consults` | GET /consult | List clinical consult records |
| `list_invoices` | GET /invoice | List invoices |
| `list_products` | GET /product | List products |

## Installation

TDQS

C2.8/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct entity (appointments, animals, consults, contacts, invoices, products) with clear read/write boundaries, so no ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_appointment, list_animals), making the set predictable.

Tool Count5/5

With 8 tools covering core entities in a veterinary practice system, the count is well-scoped and neither sparse nor excessive.

Completeness2/5

The tool set is read-heavy and lacks update/delete operations for most entities, and only appointments have a create function, leaving significant lifecycle gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues