Petnecto
Find adoptable shelter pets and how to contact the shelter. Read-only, no sign-in, 10 languages.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin get_rescue
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"pets": {
"url": "https://petnecto.com/mcp"
}
}
}Remote-Endpunkte
https://petnecto.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (9)
🟢show_pets(country, region, near, place, miles, ...)
Show adoptable pets near a place as an interactive view: photos, facts, and a button to meet one at its rescue. Use it when someone wants to look at pets to adopt. Apps without interactive views get the same list as text.
Eingabe-Schema
{
"type": "object",
"properties": {
"country": {
"description": "Which country's shelters: US, CA, TW (Taiwan), ES (Spain) or AT (Austria). Optional when near is a US ZIP or a Taiwan place",
"type": "string",
"enum": [
"US",
"CA",
"TW",
"ES",
"AT"
]
},
"region": {
"description": "Taiwan county or city, e.g. Taipei City, New Taipei City, Taoyuan City",
"type": "string",
"maxLength": 30
},
"near": {
"description": "Where the person is: a US ZIP (65738), lat,lon (25.03,121.56; rounded to ~1 km), or a Taiwan county or township in any language (信義區, Xinyi, 臺北市). Results are sorted by distance. Prefer this or place over free text",
"type": "string",
"maxLength": 60
},
"place": {
"description": "The same as near, as structured fields (do not put a street address or a whole sentence here; the server resolves it against its own place table)",
"type": "object",
"properties": {
"postal_code": {
"description": "US ZIP or Canadian postal code",
"type": "string",
"maxLength": 12
},
"latitude": {
"description": "Only with longitude, and only if the person shared their location",
"type": "number",
"minimum": -90,
"maximum": 90
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"area": {
"description": "A Taiwan county or township, in any language",
"type": "string",
"maxLength": 60
}
},
"additionalProperties": false
},
"miles": {
"description": "Radius in miles (default 50)",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"km": {
"description": "Radius in kilometres, instead of miles",
"type": "integer",
"minimum": 1,
"maximum": 800
},
"species": {
"type": "string",
"enum": [
"Dog",
"Cat",
"Rabbit",
"Bird",
"Horse",
"Small pet",
"Reptile",
"Pig",
"Barnyard"
]
},
"age": {
"type": "string",
"enum": [
"Baby",
"Young",
"Adult",
"Senior"
]
},
"size": {
"type": "string",
"enum": [
"Small",
"Medium",
"Large",
"X-Large"
]
},
"sex": {
"type": "string",
"enum": [
"Male",
"Female"
]
},
"good_with": {
"description": "Only pets the rescue says are good with these",
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"enum": [
"dogs",
"cats",
"kids"
]
}
},
"q": {
"description": "Words in the person's own language: breeds, colors, ages, sizes, sex and places become filters (\"black shiba girl Taipei\", \"黑色柴犬\", \"perro mayor\"); other words are full-text search",
"type": "string",
"maxLength": 200
},
"breed": {
"description": "A breed name in any language, or its Wikidata id (Q39315)",
"type": "string",
"maxLength": 80
},
"color": {
"type": "string",
"enum": [
"black",
"white",
"brown",
"yellow",
"grey",
"orange",
"cream",
"tabby",
"calico",
"spotted"
]
},
"sort": {
"description": "photo = best photo first",
"type": "string",
"enum": [
"relevance",
"newest",
"listed",
"distance",
"photo"
]
},
"photo": {
"description": "good: only pets whose best photo passed our checks (analysed; not blurry, dark, tiny, or without a pet in it). Pets not analysed yet are left out",
"type": "string",
"enum": [
"good"
]
},
"min_photo_px": {
"description": "Only pets whose best photo is at least this many pixels on its longest side",
"type": "integer",
"minimum": 1,
"maximum": 4000
},
"found": {
"description": "Found pets (Vienna's list, announced for their owners for 30 days) are included by default, each marked found:true and NOT adoptable yet. exclude = adoptable pets only; only = found pets only. Never call a found pet adoptable",
"type": "string",
"enum": [
"include",
"exclude",
"only"
]
},
"facets": {
"description": "Add counts by species, size, age, sex, region and good-with",
"type": "boolean"
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"lang": {
"description": "The person's language for names and text: en, es, zh-Hant, zh-Hans, ko, ja, vi, fr, ar, tl (default en)",
"type": "string",
"maxLength": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_pets(country, region, near, place, miles, ...)
Search adoptable pets at rescues and shelters (and, in some cities, found pets: marked found:true, announced for their owners first, not adoptable yet; pass found=exclude to leave them out): near a US ZIP, lat,lon or a Taiwan county or township in any language (near, with miles or km; sorted by distance); by species, age, size, sex, breed, color and whether they are good with dogs, cats or kids; or by words in any of 10 languages (q). Returns names, short facts, distance, the rescue and a link to each listing, plus what q was understood as.
Eingabe-Schema
{
"type": "object",
"properties": {
"country": {
"description": "Which country's shelters: US, CA, TW (Taiwan), ES (Spain) or AT (Austria). Optional when near is a US ZIP or a Taiwan place",
"type": "string",
"enum": [
"US",
"CA",
"TW",
"ES",
"AT"
]
},
"region": {
"description": "Taiwan county or city, e.g. Taipei City, New Taipei City, Taoyuan City",
"type": "string",
"maxLength": 30
},
"near": {
"description": "Where the person is: a US ZIP (65738), lat,lon (25.03,121.56; rounded to ~1 km), or a Taiwan county or township in any language (信義區, Xinyi, 臺北市). Results are sorted by distance. Prefer this or place over free text",
"type": "string",
"maxLength": 60
},
"place": {
"description": "The same as near, as structured fields (do not put a street address or a whole sentence here; the server resolves it against its own place table)",
"type": "object",
"properties": {
"postal_code": {
"description": "US ZIP or Canadian postal code",
"type": "string",
"maxLength": 12
},
"latitude": {
"description": "Only with longitude, and only if the person shared their location",
"type": "number",
"minimum": -90,
"maximum": 90
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"area": {
"description": "A Taiwan county or township, in any language",
"type": "string",
"maxLength": 60
}
},
"additionalProperties": false
},
"miles": {
"description": "Radius in miles (default 50)",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"km": {
"description": "Radius in kilometres, instead of miles",
"type": "integer",
"minimum": 1,
"maximum": 800
},
"species": {
"type": "string",
"enum": [
"Dog",
"Cat",
"Rabbit",
"Bird",
"Horse",
"Small pet",
"Reptile",
"Pig",
"Barnyard"
]
},
"age": {
"type": "string",
"enum": [
"Baby",
"Young",
"Adult",
"Senior"
]
},
"size": {
"type": "string",
"enum": [
"Small",
"Medium",
"Large",
"X-Large"
]
},
"sex": {
"type": "string",
"enum": [
"Male",
"Female"
]
},
"good_with": {
"description": "Only pets the rescue says are good with these",
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"enum": [
"dogs",
"cats",
"kids"
]
}
},
"q": {
"description": "Words in the person's own language: breeds, colors, ages, sizes, sex and places become filters (\"black shiba girl Taipei\", \"黑色柴犬\", \"perro mayor\"); other words are full-text search",
"type": "string",
"maxLength": 200
},
"breed": {
"description": "A breed name in any language, or its Wikidata id (Q39315)",
"type": "string",
"maxLength": 80
},
"color": {
"type": "string",
"enum": [
"black",
"white",
"brown",
"yellow",
"grey",
"orange",
"cream",
"tabby",
"calico",
"spotted"
]
},
"sort": {
"description": "photo = best photo first",
"type": "string",
"enum": [
"relevance",
"newest",
"listed",
"distance",
"photo"
]
},
"photo": {
"description": "good: only pets whose best photo passed our checks (analysed; not blurry, dark, tiny, or without a pet in it). Pets not analysed yet are left out",
"type": "string",
"enum": [
"good"
]
},
"min_photo_px": {
"description": "Only pets whose best photo is at least this many pixels on its longest side",
"type": "integer",
"minimum": 1,
"maximum": 4000
},
"found": {
"description": "Found pets (Vienna's list, announced for their owners for 30 days) are included by default, each marked found:true and NOT adoptable yet. exclude = adoptable pets only; only = found pets only. Never call a found pet adoptable",
"type": "string",
"enum": [
"include",
"exclude",
"only"
]
},
"facets": {
"description": "Add counts by species, size, age, sex, region and good-with",
"type": "boolean"
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"lang": {
"description": "The person's language for names and text: en, es, zh-Hant, zh-Hans, ko, ja, vi, fr, ar, tl (default en)",
"type": "string",
"maxLength": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢resolve_place(near)
Turn a US ZIP, lat,lon or a Taiwan county or township name (any language) into the point and radius find_pets would search around, to confirm with the person before searching. Positions are rounded to about 1 km and nothing is stored.
Eingabe-Schema
{
"type": "object",
"properties": {
"near": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "A US ZIP, lat,lon, or a Taiwan county or township name"
}
},
"required": [
"near"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢resolve_breed(text, species)
Turn a breed name in any language (貴賓犬, pit bull, perro salchicha, 시바견) into Wikidata breed ids, to pass to find_pets as breed or to compare listings across countries.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"species": {
"type": "string",
"enum": [
"Dog",
"Cat",
"Rabbit",
"Bird",
"Horse",
"Small pet",
"Reptile",
"Pig",
"Barnyard"
]
}
},
"required": [
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_pet(id, lang)
One adoptable pet by id (from find_pets): photos, temperament, good-with, adoption fee, the rescue and how to reach it.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^(?:(?:rg|tw|sample)-\\d{1,12}|us-(?:mc|kc)-[A-Za-z0-9]{1,12}|es-zgz-\\d{1,8}|at-vie-\\d{1,8})$",
"description": "The pet's id, e.g. rg-8013243, tw-470460, us-mc-A508423 or es-zgz-2922"
},
"lang": {
"description": "The person's language (default en)",
"type": "string",
"maxLength": 20
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_rescue(id)
One rescue or shelter by id (from a pet's rescue.id): where it is, its adoption page, email and phone.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^(?:rg-org-[a-z0-9]{1,12}|tw-shelter-\\d{1,6}|us-shelter-(?:mc|kc)|es-shelter-zgz|at-shelter-(?:tqt|ma60|rfz))$"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_by_description(query, near, off, include_unknown, country, ...)
Find pets to adopt from a sentence in any language (found pets, marked found:true, are not adoptable yet): “a calm small dog that is good with kids, under 10 kg, near Springfield”. Returns the pets AND what was understood (understood.chips: species, breed, age, size, good-with, place, radius...), so you can tell the person what was searched and drop a wrong one with off=[chip id]. Good-with and similar facts are only filters when a listing states them; each pet has match[] saying stated / not_stated. Weight caps are approximated by size group and energy is only a hint. If the AI parts are unavailable it still answers from the words (degraded says so). Prefer find_pets when you already have structured values.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "What the person wants, in their own words and language, e.g. “a calm small dog good with kids, under 10 kg, near 65738”"
},
"near": {
"description": "A US ZIP, lat,lon or a Taiwan place, if it is not in the query",
"type": "string",
"maxLength": 60
},
"off": {
"description": "Chip ids from a previous answer's understood.chips to leave out, e.g. [\"good_with:kids\"]",
"maxItems": 12,
"type": "array",
"items": {
"type": "string",
"maxLength": 48
}
},
"include_unknown": {
"description": "Also include pets whose listing does not say whether they are good with dogs/cats/kids (they are marked not_stated)",
"type": "boolean"
},
"country": {
"type": "string",
"enum": [
"US",
"CA",
"TW"
]
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"lang": {
"description": "The person's language: en, es, zh-Hant, zh-Hans, ko, ja, vi, fr, ar, tl (default en)",
"type": "string",
"maxLength": 20
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢similar_pets(id, limit, lang)
Pets similar to one pet id (from search results): same kind of pet and size, nearest in meaning of their listings. Use it after the person likes one pet.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^((rg|tw|sample)-\\d{1,12}|us-(mc|kc)-[A-Za-z0-9]{1,12}|[a-z]{2}-[a-z]+-[A-Za-z0-9]{1,12})$"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 24
},
"lang": {
"type": "string",
"maxLength": 20
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢about_this_service
Where the listings come from, who runs this service, what it keeps, and how a rescue changes or removes its listings.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis