Skip to main content
Glama
chrischall

zillow-mcp

by chrischall

Get my saved (favorited) Zillow homes

zillow_get_saved_homes
Read-onlyIdempotent

Retrieve all saved Zillow homes across collections, including address, price, Zestimate, status, and save date. Requires a signed-in Zillow account.

Instructions

The signed-in user's saved (favorited) homes on zillow.com, flattened across all of the user's collections. Returns address, price, Zestimate, status, and when each home was saved. An optional session_id (from zillow_register_session) is checked against the session registry — an unknown id errors — but it is a label only: the request always goes through whichever browser tab the extension is signed into. Requires the user to be signed in. Read-only; safe to call repeatedly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
session_idNoOptional registered session id (from `zillow_register_session`). Defaults to the active session.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.11.1

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/openWorld, and the description adds genuinely non-obvious behavior: an unknown session_id errors, and the id is a label only because the request goes through whichever tab the extension is signed into. That is exactly the kind of surprising routing detail annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and return contents, then the session_id caveat, then auth and safety notes. Every sentence carries information — notably the return-field list, which is needed because no output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating returned fields, and it also documents the auth requirement and the session-id edge case. An agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: session_id is validated against a registry and errors if unknown, yet does not control routing and defaults to the active session. That is substantive semantic detail, not a restatement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource (the signed-in user's saved/favorited homes) and adds scope precision ('flattened across all of the user's collections'), which cleanly separates it from zillow_get_saved_searches and the other zillow_get_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the precondition ('Requires the user to be signed in') and the safety profile ('Read-only; safe to call repeatedly'), giving clear context for when the tool applies. It never explicitly routes the agent away from an alternative such as zillow_get_saved_searches, so it stops short of the 5-level when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.