TheDogs.app
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Match dog breeds to your life, compare them, plan a test drive and estimate U.S. vet costs.
| Author | app.thedogs |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 509 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"TheDogs.app": {
"url": "https://mcp.thedogs.app/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
estimate_dog_insurance_costread-onlyUse this when the user asks what a specific dog breed will cost at the vet, whether pet insurance is worth it for their dog, or how deductible or reimbursement choices change their risk. It runs TheDogs.app's cost simulation for that breed, age and ZIP code. Simulates thousands of possible lifetimes for a U.S. dog of the given breed and age (breed health-registry data + U.S. vet cost ranges adjusted to ZIP code) and returns expected vet costs, the chance of a year with bills above the owner's emergency savings, the plan structure that keeps that risk under 5%, and a modeled monthly premium (benchmark, not a quote). Use when a user asks whether pet insurance is worth it for their dog, how much vet care or insurance costs for a breed, or how deductible and reimbursement levels change their risk. Present results as a statistical estimate, not as advice: do not tell the user to buy insurance or that 'the model suggests/recommends' a policy; say what the numbers show and leave the decision to the user. Always give the user the reportUrl link (full report with price-by-age chart and all 27 plan structures) and mention that it is an estimate, not a quote. In apps that display widgets, a visual card with these results is shown to the user; there, keep your text reply short and do not repeat every number or list from the card. Do not use for symptoms, emergencies or treatment questions (refer the user to a veterinarian) or for training and behavior how-tos. Do not use for cost questions outside the U.S.
Parameters:
breed(required) — string — Dog breed name or slug, e.g. 'French Bulldog', 'frenchie', 'golden-retriever'age_years(required) — number — Dog's age in years (0.5 for puppies under 1)zip— string — Optional 5-digit U.S. ZIP code; adjusts for local vet pricesemergency_savings_usd— number — How much the owner could pay for a surprise vet bill today; rounded to 500/1000/2000/5000/10000. Default 2000.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_breedsread-onlyUse this when the user asks which breeds TheDogs.app covers or a breed name can't be matched. Lists dog breeds supported by the TheDogs.app pet insurance cost estimator, optionally filtered by a search term.
Parameters:
query— string — Optional filter, e.g. 'terrier'
Hints: read-only yes · destructive no · idempotent yes · open-world no
match_dog_breedsread-onlyUse this when the user wants a personal recommendation of which dog breed suits their home, schedule, activity level, experience or family. It scores all 121 breeds with TheDogs.app's matching engine. Runs the TheDogs.app breed-matching quiz on 121 breeds and returns the top 3 matches as cards with a sarcastic tagline, why the breed works, Dr. Waggs' reality check and a link to the breed page. Use when someone asks which dog breed suits them. The five key answers (living situation, activity, experience, kids, time alone) must come from the user: if any is unknown, ask for it first and never guess or assume a value. The rest default to neutral. Always share the links. In apps that display widgets, a visual card with these results is shown to the user; there, keep your text reply short and do not repeat every number or list from the card. Do not use for symptoms, emergencies or treatment questions (refer the user to a veterinarian) or for training and behavior how-tos. If several of the five key answers are missing, ask for all of them in one short message, and reuse any answers the user already gave earlier in the conversation.
Parameters:
living_situation(required) — string — Home typeactivity_level(required) — string — Owner's activity levelexperience(required) — string — Dog experiencekids(required) — string — Small children at homealone_time(required) — string — How long the dog is alone on a typical daybarking— string — Barking toleranceshedding— string — Shedding tolerance (hate_it = hypoallergenic only)friendliness— string — How the dog should treat strangershealth_costs— string — Budget for vet billstrainability— string — Preferred trainability
Hints: read-only yes · destructive no · idempotent yes · open-world no
assess_breed_fitread-onlyUse this when the user asks whether a specific breed is right for them or what would make it work. It computes a personal fit score and rank for that breed. Reality-checks ONE named breed against the person's lifestyle with the TheDogs.app quiz scoring: overall fit %, its rank among 121 breeds for the same answers, a per-area breakdown (home, activity, experience, kids, shedding, barking, time alone, vet budget, strangers, trainability), the biggest mismatch, and which single change in the person's situation would raise the fit most. Use when someone asks 'is a <breed> right for me?', 'should I get a <breed>?' or 'what would make a <breed> work?'. The five key answers (home, activity, experience, kids, time alone) must come from the user: if any is unknown, ask for it first and never guess or assume a value. The rest default to neutral. Use match_dog_breeds instead when no breed is named. In apps that display widgets, a visual card with these results is shown to the user; there, keep your text reply short and do not repeat every number or list from the card. Do not use for symptoms, emergencies or treatment questions (refer the user to a veterinarian) or for training and behavior how-tos. If several of the five key answers are missing, ask for all of them in one short message, and reuse any answers the user already gave earlier in the conversation.
Parameters:
breed(required) — string — Breed name or slug, e.g. 'Husky', 'border collie'living_situation(required) — string — Home typeactivity_level(required) — string — Owner's activity levelexperience(required) — string — Dog experiencekids(required) — string — Small children at homealone_time(required) — string — How long the dog is alone on a typical daybarking— string — Barking toleranceshedding— string — Shedding tolerancefriendliness— string — How the dog should treat strangershealth_costs— string — Budget for vet billstrainability— string — Preferred trainability
Hints: read-only yes · destructive no · idempotent yes · open-world no
find_similar_breedsread-onlyUse this when the user loves a breed that may not fit them, or asks for a similar but easier breed. Finds breeds that share the look and personality of a breed the user is drawn to (e.g. 'I love Huskies but…', 'something like a German Shepherd but smaller/easier', 'dogs similar to a Golden'). Uses TheDogs.app look & personality tags plus AKC group. If the five key lifestyle answers are given, it only returns easier-to-find breeds that fit the user at least 10 points better than the loved breed, with their fit %; without answers it returns the closest look-and-vibe twins. Use match_dog_breeds when no breed is named, assess_breed_fit to check one breed. In apps that display widgets, a visual card with these results is shown to the user; there, keep your text reply short and do not repeat every number or list from the card. Do not use for symptoms, emergencies or treatment questions (refer the user to a veterinarian) or for training and behavior how-tos.
Parameters:
breed(required) — string — The breed the user loveskids— string — Small children at homealone_time— string — How long the dog is alone on a typical dayexperience— string — Dog experienceactivity_level— string — Owner's activity levelliving_situation— string — Home type
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_arrival_checklistread-onlyUse this when the user is getting a dog soon and asks what to buy or prepare. Builds TheDogs.app's arrival checklist for a breed: what to have before the dog comes home, on day one and in the first week, sized for the breed (crate, harness), with breed-specific items (e.g. ramp for back-problem breeds, cooling mat for flat-faced breeds) and a 'don't buy yet' list. Optional lifestyle answers personalize it (apartment, alone all day, first dog). Use when the user is getting a dog soon, passed a test drive, or asks what to buy/prepare. The list is editorial, not sponsored; it contains no prices or shopping links. In apps that display widgets, a visual card is shown to the user; there, keep your text reply short and do not repeat every item from the card. Do not use for symptoms, emergencies or treatment questions (refer the user to a veterinarian) or for training and behavior how-tos.
Parameters:
breed(required) — string — The breed the user is gettingkids— string — Small children at homealone_time— string — How long the dog is alone on a typical dayexperience— string — Dog experienceactivity_level— string — Owner's activity levelliving_situation— string — Home type
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_test_drive_planread-onlyUse this when the user is unsure whether they are ready for a specific breed or wants to try life with it before adopting. Builds a short, practical try-before-you-adopt plan (3, 7 or 14 days) for ONE named breed, matched to the person's lifestyle: 3–8 concrete trials (daily exercise at the breed's level, workday/alone-time plan, coat care, noise, floor space, kids supervision, training commitment, and a dog-account budget using TheDogs.app vet-cost estimates), each with daily time ranges and a pass criterion. The trial that tests the person's biggest mismatch is marked decisive and comes first. Use when someone asks how to know if they're ready for a breed, wants to 'try before buying', or is unsure about a specific breed. The five key answers (home, activity, experience, kids, time alone) must come from the user: ask for any that are missing, never guess. Returns a plan_id: nothing is stored, so tell the user to save the summary. In apps that display widgets, a visual card with these results is shown to the user; there, keep your text reply short and do not repeat every number or list from the card. Do not use for symptoms, emergencies or treatment questions (refer the user to a veterinarian) or for training and behavior how-tos. If several of the five key answers are missing, ask for all of them in one short message, and reuse any answers the user already gave earlier in the conversation.
Parameters:
breed(required) — string — Breed name or slugliving_situation(required) — string — Home typeactivity_level(required) — string — Owner's activity levelexperience(required) — string — Dog experiencekids(required) — string — Small children at homealone_time(required) — string — How long the dog would be alone on a typical daydays— number — Trial length in days (default 7)barking— string — Barking toleranceshedding— string — Shedding tolerancefriendliness— string — How the dog should treat strangershealth_costs— string — Budget for vet billstrainability— string — Preferred trainability
Hints: read-only yes · destructive no · idempotent yes · open-world no
review_test_driveread-onlyUse this when the user reports back on a TheDogs.app test drive plan (by plan ID or by describing how the trials went). Reviews a finished TheDogs.app test drive: takes the plan_id and, for each trial, whether it worked, was a struggle, or was skipped. Returns three blocks (Worked / Needs a solution / Not yet known), a fix for each struggle, an overall readout that weighs the decisive trial most, and better-matching, easier-to-find breeds when it didn't go well. Use when the user reports back on a test drive. Trial keys come from the plan (exercise, alone, coat, noise, space, kids, training, budget); map the user's words to them and leave out trials they didn't mention. Nothing is stored. In apps that display widgets, a visual card with these results is shown to the user; there, keep your text reply short and do not repeat every number or list from the card.
Parameters:
plan_id(required) — string — The plan ID from create_test_drive_plan, e.g. td1.border-collie.7.0010110101results(required) — array — Outcome per trial
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_breed_profileread-onlyUse this when the user asks for a general overview of ONE named breed (what it's like, pros and cons, health watch). For a personal fit check use assess_breed_fit; to weigh 2–3 breeds use compare_dog_breeds; for vet costs use estimate_dog_insurance_cost. Returns TheDogs.app's (sarcastic but factual) profile of a dog breed: tagline, short description, strengths, Dr. Waggs' reality check, health watch list, key stats and breed-specific gear picks (product types chosen for the breed's health risks), with links to the full breed page and its vet-cost estimate. Health items are general breed tendencies, not a diagnosis. In apps that display widgets, a visual card with these results is shown to the user; there, keep your text reply short and do not repeat every number or list from the card.
Parameters:
breed(required) — string — Breed name or slug, e.g. 'Corgi', 'german shepherd'
Hints: read-only yes · destructive no · idempotent yes · open-world no
compare_dog_breedsread-onlyUse this when the user compares two or three breeds or asks 'X or Y'. Compares 2–3 dog breeds on size, energy, shedding, barking, trainability, kid-friendliness and life expectancy, plus estimated vet costs (expected lifetime cost and modeled monthly insurance premium (benchmark, not a quote) at age 1, U.S. average prices). Use for 'X vs Y' questions. Estimates are statistical, not quotes or recommendations of a policy. In apps that display widgets, a visual card with these results is shown to the user; there, keep your text reply short and do not repeat every number or list from the card. Do not use for symptoms, emergencies or treatment questions (refer the user to a veterinarian) or for training and behavior how-tos. Do not use for cost questions outside the U.S.
Parameters:
breeds(required) — array — 2–3 breed names
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.