Skip to content

Realty.Bingo

by agentstructure · remote · no sign-in to list tools · v1.0.0 · published by GitHub user agentstructure

Property search, comparison, investment analysis and watchlists with change alerts

Deletes · 2Changes · 7

12 tools: 2 can delete or cancel things, 7 change things and 3 only read.

Scanned Oct 21, 2026

4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http realty https://realty.bingo/mcp

Findings

Matches of fixed checks, with the text they matched.

4 warn
  • The server marks "search_properties" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "search_properties" says "search": a word for reading.

    What this check looks for
  • The server marks "get_property_details" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_property_details" says "get": a word for reading.

    What this check looks for
  • The server marks "get_property_alerts" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "get_property_alerts" says "get": a word for reading.

    What this check looks for
  • The server marks "analyze_property_investment" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "analyze_property_investment" says "analyze": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Deletes or cancels 2Claude Code: deny
  • manage_property_watchlistlist, get, pause, resume or delete (confirm: true) the user's watchlists by name, or 'matches' to see the best-scoring current listings for one.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    list, get, pause, resume or delete (confirm: true) the user's watchlists by name, or 'matches' to see the best-scoring current listings for one. Also shows plan limits.

    Annotations the server declares

    • title: Manage watchlists
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • manage_realtybingo_accountview the account, plan, usage and every stored preference with its provenance; confirm, reject or delete a learned preference; clear personalization or delete the account (both nee…No findings

    Why it is in this group

    • The description's first verb is "view": a word for reading.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    view the account, plan, usage and every stored preference with its provenance; confirm, reject or delete a learned preference; clear personalization or delete the account (both need confirm: true and an explicit request); set or remove a signed webhook for alerts (paid plans).

    Annotations the server declares

    • title: Manage account and preferences
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
Changes things 7Claude Code: ask
  • analyze_property_investmentGross rental yield, gross annual rent, price-to-rent and price per sq ft for a sale listing, from the user's monthly_rent, an active rental listing for the same property, or a Rent…1 finding

    Why it is in this group

    • The name "analyze_property_investment" says "analyze": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "analyze_property_investment" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "analyze_property_investment" says "analyze": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Gross rental yield, gross annual rent, price-to-rent and price per sq ft for a sale listing, from the user's monthly_rent, an active rental listing for the same property, or a RentCast rent estimate (labelled). With assumptions (down payment, rate, taxes, insurance, vacancy, repairs, management, capex) also cash flow, cap rate and cash-on-cash, plus a sensitivity table. Gross yield is not a return; always relay the disclaimer.

    Annotations the server declares

    • title: Analyze an investment property
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • get_property_alertsNew alerts from monitoring: NEW_MATCHING_PROPERTY, NEW_STRONG_STYLE_MATCH, PRICE_DROP, RENT_DROP, PRICE_THRESHOLD_REACHED, RENT_THRESHOLD_REACHED, PROPERTY_BACK_ON_MARKET, LISTING_…1 finding

    Why it is in this group

    • The name "get_property_alerts" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "get_property_alerts" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "get_property_alerts" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    New alerts from monitoring: NEW_MATCHING_PROPERTY, NEW_STRONG_STYLE_MATCH, PRICE_DROP, RENT_DROP, PRICE_THRESHOLD_REACHED, RENT_THRESHOLD_REACHED, PROPERTY_BACK_ON_MARKET, LISTING_STATUS_CHANGED, SAVED_PROPERTY_UPDATED, INVESTMENT_CRITERIA_MATCHED. Filter by types (e.g. price changes only) or watchlist. Each alert has the property, source, previous and current values, detection time, freshness and why it matched. Returned alerts are marked retrieved. Relay the message wording; do not upgrade it (a price drop is not a bargain, a removed listing is not a sale).

    Annotations the server declares

    • title: Get property alerts
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • get_property_detailsEverything Realty.Bingo holds on one property (property_id) or listing (listing_id): attributes, current and other listings, listing contact as published, features with evidence, i…1 finding

    Why it is in this group

    • The name "get_property_details" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "get_property_details" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_property_details" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Everything Realty.Bingo holds on one property (property_id) or listing (listing_id): attributes, current and other listings, listing contact as published, features with evidence, identity-resolution confidence, recent changes and any stored rent/value estimates (labelled as estimates). refresh: true fetches the latest record if the stored one is over a day old.

    Annotations the server declares

    • title: Get property details
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • record_property_feedbackRecord the user's reaction to a property: like, save (also tracks it), dislike, dismiss (never shown again), hide, contacted_agent, toured, with optional reasons (price, hoa, locat…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Record the user's reaction to a property: like, save (also tracks it), dislike, dismiss (never shown again), hide, contacted_agent, toured, with optional reasons (price, hoa, location, size, condition, style, layout, lot, noise, other). Only when the user says so. Returns learned preference suggestions and clarifying questions to ask.

    Annotations the server declares

    • title: Record property feedback
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • save_property_watchlistSave the user's search criteria once as a named, persistent watchlist (same criteria as search_properties) with alert preferences (min_score, new listings, price drops with optiona…No findings

    Why it is in this group

    • The name "save_property_watchlist" says "save": a word for a change.
    Description, as the server wrote it
    Save the user's search criteria once as a named, persistent watchlist (same criteria as search_properties) with alert preferences (min_score, new listings, price drops with optional minimum percent or amount, back on market). Realty.Bingo then monitors the area on a schedule, independent of any conversation, and records new matching listings, price reductions and relistings as alerts. Saving again with the same name replaces it. Returns how the criteria were interpreted (hard vs soft vs excluded) and a preview from stored data. Preferences about the people in a neighbourhood are refused (fair housing).

    Annotations the server declares

    • title: Save a property watchlist
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • search_propertiesFind active U.S.1 finding

    Why it is in this group

    • The name "search_properties" says "search": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "search_properties" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "search_properties" says "search": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Find active U.S. homes for sale or rent in a city+state, ZIP codes, a radius around a point, or a polygon. Hard requirements (max_price, min_bedrooms, min_bathrooms, property_types, must_have) filter; soft preferences (ideal_max_price, preferred_bedrooms, nice_to_have, styles) rank; avoid and exclude_property_types exclude. Each result has a 0-100 match score with reasons and uncertainties, the features the listing states (with evidence class), source details and when it was last confirmed active. Features a listing does not mention are UNKNOWN, never assumed. Reuses data fetched in the last 12 hours; otherwise makes a live request if the daily allowance permits. Source: Realtor.com (via RapidAPI) with RentCast as fallback; each result names its source. Never present results beyond what is returned.

    Annotations the server declares

    • title: Search properties
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • track_propertyFollow one property (track), stop (untrack) or list tracked ones.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Follow one property (track), stop (untrack) or list tracked ones. Optional price_below threshold and min_drop_pct. Tracked properties produce alerts on every verified price or status change.

    Annotations the server declares

    • title: Track a property
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 3Claude Code: allow
  • compare_propertiesSide-by-side comparison of 2-5 properties (property_id) on price, price per sq ft, size, age, HOA, time observed, price changes and stated features (unknown where the listing is si…No findings

    Why it is in this group

    • The name "compare_properties" says "compare": a word for reading.
    Description, as the server wrote it
    Side-by-side comparison of 2-5 properties (property_id) on price, price per sq ft, size, age, HOA, time observed, price changes and stated features (unknown where the listing is silent); optional match scores against a saved watchlist.

    Annotations the server declares

    • title: Compare properties
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_property_historyPrice and status history for a property: what Realty.Bingo observed (with dates), detected changes, and the listing source's own reported history, kept separate and labelled.No findings

    Why it is in this group

    • The name "get_property_history" says "get": a word for reading.
    Description, as the server wrote it
    Price and status history for a property: what Realty.Bingo observed (with dates), detected changes, and the listing source's own reported history, kept separate and labelled. Includes cumulative change since first observed. Never infers an earlier price.

    Annotations the server declares

    • title: Get property history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_realtybingo_briefA personalized digest: pending alert counts and the top few, each watchlist's best current matches and data age, tracked properties and their changes this week, learned-preference …No findings

    Why it is in this group

    • The name "get_realtybingo_brief" says "get": a word for reading.
    Description, as the server wrote it
    A personalized digest: pending alert counts and the top few, each watchlist's best current matches and data age, tracked properties and their changes this week, learned-preference suggestions and questions worth asking. Does not mark alerts retrieved.

    Annotations the server declares

    • title: Realty.Bingo brief
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http realty https://realty.bingo/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__realty__get_property_history",
      "mcp__realty__compare_properties",
      "mcp__realty__get_realtybingo_brief"
    ],
    "ask": [
      "mcp__realty__search_properties",
      "mcp__realty__get_property_details",
      "mcp__realty__save_property_watchlist",
      "mcp__realty__get_property_alerts",
      "mcp__realty__track_property",
      "mcp__realty__analyze_property_investment",
      "mcp__realty__record_property_feedback"
    ],
    "deny": [
      "mcp__realty__manage_property_watchlist",
      "mcp__realty__manage_realtybingo_account"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as realty. Review it before you use it.