# Unlisted Property Search

> Search and explore residential properties that aren't for sale (yet)

- name: com.unlistedhomes/unlisted
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 96/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.unlistedhomes%2Funlisted
- tools: https://api.protogrid.dev/v1/servers/com.unlistedhomes%2Funlisted/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "unlisted": {
      "type": "http",
      "url": "https://api.unlistedhomes.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-48d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 96/100 (strong)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,286 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 2,286 tokens to load them all
- tool set hash: b7ee280254a5cbc5a4b4511b78eca9fb
- badge: [![protogrid quality](https://protogrid.dev/badge/com.unlistedhomes/unlisted.svg)](https://protogrid.dev/servers/com.unlistedhomes/unlisted)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://api.unlistedhomes.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (3)

- `autocomplete_tool`: Autocomplete a search term to find geographic areas (cities, counties, neighborhoods, school districts, states, etc.) and properties by address. Use this to look up boundary IDs for the boundary_id parameter in PropertySearch, OR Use this to look up property IDs for the id parameter in property details tool. If a search does not yield the expected results attempt to simplify and/or shorten the query, removing potentially problematic or unneeded words/symbols. When telling the user what you're doing, say "area" not "boundary", and "home" or "property profile" not "listing". Don't mention internal IDs or parameter names.
- `property_details_tool`: Fetch full details for a single Unlisted property by its ID. When telling the user what you're doing, say "area" not "boundary", and "home" or "property profile" not "listing". Don't mention internal IDs or parameter names.
- `property_search_tool`: Search for properties on Unlisted that meet certain criteria. boundary_id should always be used unless doing a nation-wide search, and is obtained by using the autocomplete_tool. Returns up to 100 matches; use max_results only when the user asks for a specific count. When telling the user what you're doing, say "area" not "boundary", and "home" or "property profile" not "listing". Don't mention internal IDs or parameter names.
