protogrid

Search / com.petnecto/pets

Petnecto

R0· no sign-in

Paw to paw. Shelter pets, one question away: adoptable pets near you, and how to reach the rescue.

v1.0.2 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality79good
Trust83of 100
Uptime, 30 days100%
Latency p50639 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "pets": {
      "type": "http",
      "url": "https://petnecto.com/mcp"
    }
  }
}
claude mcp add --transport http pets https://petnecto.com/mcp
[mcp_servers.pets]
url = "https://petnecto.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pets": {
      "type": "remote",
      "url": "https://petnecto.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "pets": {
      "type": "http",
      "url": "https://petnecto.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pets&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcGV0bmVjdG8uY29tL21jcCJ9"
}
{
  "servers": {
    "pets": {
      "type": "http",
      "url": "https://petnecto.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "pets": {
      "httpUrl": "https://petnecto.com/mcp"
    }
  }
}
extensions:
  "pets":
    enabled: true
    name: "pets"
    type: streamable_http
    uri: "https://petnecto.com/mcp"
    timeout: 300

Quality 79 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations11 of 11 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,215 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes35 tool changes in 30 days
  • fail
    stability.rug_pull2 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

11 tools, about 3,215 tokens to load them all · tool set 6a280cea20fb · tools last changed 2026-10-18 · checked 2026-10-20 06:17 UTC

Tool changes

  • search_by_descriptionchangeddescription
    before

    Find pets from wishes in the person's own words, in any language (“a calm small dog good with kids near Seattle”). Use it for wishes listings rarely state, like calm or good with kids: each pet's match says, per wish, stated or not_stated, and pets that do not say are left out and counted in not_stated unless include_unknown=true. The answer's understood.chips say what was searched; drop a wrong one with off=[chip id]; a chip noted approx or hint is not a fact about any pet. Found pets (found:true) are not adoptable. Prefer find_pets for structured values.

    after · 95% of words in common

    Find pets from wishes in the person's own words, in any language (“a calm small dog good with kids near Seattle”). Use it for wishes listings rarely state, like calm or good with kids: each pet's match says, per wish, stated, inferred (read from its text, with a %) or not_stated, and pets that do not say are left out and counted in not_stated unless include_unknown=true. The answer's understood.chips say what was searched; drop a wrong one with off=[chip id]; a chip noted approx or hint is not a fact about any pet. Found pets (found:true) are not adoptable. Prefer find_pets for structured values.

  • get_petchangeddescription, input schemameaning changed
    before

    One pet by id (from find_pets): photos, what its listing says (temperament and good-with only where stated), adoption fee, the rescue and how to reach it.

    after · 39% of words in common

    One pet by Petnecto ID, shelter pet ID, or PetHarbor listing URL: photos, stated facts, adoption fee, the shelter and how to reach it. Lists choices when an ID is shared.

  • find_shelters_nearadded

    Shelters and rescues near a US ZIP, 'town, ST' or lat,lon that are not on Petnecto yet, nearest first: address, phone, website, their own adoptable-pets page, hours, directions, source and licence. Use it when find_pets finds nothing near the person.

  • search_by_descriptionchangeddescription
    before

    Find pets from wishes in the person's own words, in any language (“a calm small dog good with kids near Seattle”). Use it for wishes listings rarely state, like calm or good with kids: each pet's match[] says stated or not_stated, and pets that do not say are left out and counted in not_stated unless include_unknown=true. The answer's understood.chips say what was searched; drop a wrong one with off=[chip id]. Found pets (found:true) are not adoptable. Prefer find_pets for structured values.

    after · 89% of words in common

    Find pets from wishes in the person's own words, in any language (“a calm small dog good with kids near Seattle”). Use it for wishes listings rarely state, like calm or good with kids: each pet's match says, per wish, stated or not_stated, and pets that do not say are left out and counted in not_stated unless include_unknown=true. The answer's understood.chips say what was searched; drop a wrong one with off=[chip id]; a chip noted approx or hint is not a fact about any pet. Found pets (found:true) are not adoptable. Prefer find_pets for structured values.

  • search_by_descriptionchangeddescriptionmeaning changed
    before

    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 Seattle”. 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 is only matched where a listing states it: pets that do not say are left out and counted in not_stated (include_unknown=true adds them, marked not_stated), and when no listing in scope states it at all they are shown instead, with a note. A size no listing in scope states (King County, Vienna) is not used as a filter, with a note. Each pet has match[] saying stated / not_stated for what was asked. 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). total counts the matches and reachable how many of them page= (1-100) can reach; capped:true means more pets matched than one search ranks, so add a word or a filter. words_unmatched lists words no listing contains: the pets then match the other filters only (none when there were none). Prefer find_pets when you already have structured values.

    after · 35% of words in common

    Find pets from wishes in the person's own words, in any language (“a calm small dog good with kids near Seattle”). Use it for wishes listings rarely state, like calm or good with kids: each pet's match[] says stated or not_stated, and pets that do not say are left out and counted in not_stated unless include_unknown=true. The answer's understood.chips say what was searched; drop a wrong one with off=[chip id]. Found pets (found:true) are not adoptable. Prefer find_pets for structured values.

  • find_petschangeddescription, input schema
    before

    Search pets to adopt at shelters in Taiwan (every public shelter), two US counties (King County WA, Montgomery County MD; no photos there, each links to the shelter's listing), Zaragoza, and Vienna (found pets only: marked found:true, announced for their owners first, not adoptable yet; found=exclude leaves them out). Nowhere else yet. Search near a place (98101, 20850, 臺北市, Xinyi, Zaragoza, Wien, or lat,lon; with miles or km; nearest first), by species, age, size, sex, breed and color, or by words in any of 10 languages (q). No place and no country = everything we list. Returns names, short facts, distance, the rescue and a link to each listing, plus what q was understood as; an empty answer says what we do list.

    after · 73% of words in common

    Search pets to adopt in the places we list (Taiwan, King County WA, Montgomery County MD, Zaragoza, and Vienna, found pets only: marked found:true, not adoptable yet; found=exclude leaves them out). Nowhere else yet. Search near a place (nearest first), by species, age, size, sex, breed and color, or by words in any of 10 languages (q). No place and no country = everything we list. Returns names, short facts, distance, the rescue and a link to each listing, plus what q was understood as; an empty answer says what we do list.

  • show_petschangeddescription, input schema
    before

    Show pets to adopt 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 in a place we list (Taiwan, King County WA, Montgomery County MD, Zaragoza, Vienna: see the server instructions). Apps without interactive views get the same list as text.

    after · 83% of words in common

    Show pets to adopt 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 in a place we list (see the server instructions). Apps without interactive views get the same list as text.

  • about_this_servicechangedannotations
  • similar_petschangedannotations
  • search_by_descriptionchangedannotations

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-4d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://petnecto.com/mcp streamable-httpnoneyes100%639 ms2026-07-282026-10-20

Tools (11)

about_this_serviceread-onlyWhere we list pets (places and counts), where the listings come from, who runs this service, what it keeps, and how a rescue changes or removes its listings.
find_petsread-onlySearch pets to adopt in the places we list (Taiwan, King County WA, Montgomery County MD, Zaragoza, and Vienna, found pets only: marked found:true, not adoptable yet; found=exclude leaves them out). Nowhere else yet. Search near a place (nearest first), by species, age, size, sex, breed and color, or by words in any of 10 languages (q). No place and no country = everything we list. Returns names, short facts, distance, the rescue and a link to each listing, plus what q was understood as; an empty answer says what we do list.
find_shelters_nearread-onlyShelters and rescues near a US ZIP, 'town, ST' or lat,lon that are not on Petnecto yet, nearest first: address, phone, website, their own adoptable-pets page, hours, directions, source and licence. Use it when find_pets finds nothing near the person.
get_petread-onlyOne pet by Petnecto ID, shelter pet ID, or PetHarbor listing URL: photos, stated facts, adoption fee, the shelter and how to reach it. Lists choices when an ID is shared.
get_rescueread-onlyOne rescue or shelter by id (from a pet's rescue.id): where it is, its adoption page, email and phone.
list_filtersread-onlyThe countries and places we hold listings for, and per country how many live pets state each species, age, size, sex, colour and good-with value. Taiwan states no Baby or Senior ages, Vienna no sizes, and few listings anywhere say good-with: check here before suggesting a filter.
resolve_breedread-onlyTurn 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.
resolve_placeread-onlyTurn a US ZIP, lat,lon, a Taiwan county or township name (any language), Zaragoza or Wien into the point find_pets would search around, to confirm with the person before searching. It finds places we list no pets near too: find_pets then says so. Positions are rounded to about 1 km and nothing is stored.
search_by_descriptionread-onlyFind pets from wishes in the person's own words, in any language (“a calm small dog good with kids near Seattle”). Use it for wishes listings rarely state, like calm or good with kids: each pet's match says, per wish, stated, inferred (read from its text, with a %) or not_stated, and pets that do not say are left out and counted in not_stated unless include_unknown=true. The answer's understood.chips say what was searched; drop a wrong one with off=[chip id]; a chip noted approx or hint is not a fact about any pet. Found pets (found:true) are not adoptable. Prefer find_pets for structured values.
show_petsread-onlyShow pets to adopt 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 in a place we list (see the server instructions). Apps without interactive views get the same list as text.
similar_petsread-onlyPets 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.petnecto/pets",
  "icons": [
    {
      "src": "https://petnecto.com/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://petnecto.com/icon-192.png",
      "sizes": [
        "192x192"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://petnecto.com/favicon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    }
  ],
  "title": "Petnecto",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://petnecto.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.2",
  "websiteUrl": "https://petnecto.com/",
  "description": "Paw to paw. Shelter pets, one question away: adoptable pets near you, and how to reach the rescue."
}