accueil / serveurs / Recherche & Web / io.github.agentstructure/realty
io.github.agentstructure/realty
serveur MCP (Model Context Protocol) · Realty.Bingo 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.agentstructure/realty est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.agentstructure/realty » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 12 outils
- analyze_property_investment≈ 513 tokens
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.
Paramètres, retour & exemple (5)
Paramètreslisting_id· string · optionnelassumptions· object · optionnelproperty_id· string · optionnelmonthly_rent· number · optionnel
The user's own rent assumption; used instead of an estimate.use_rent_estimate· boolean · optionnel
Use a RentCast rent estimate when no monthly_rent is given (may use a live refresh).
Exemple d'appel{"name": "analyze_property_investment", "arguments": {"listing_id": "texte", "assumptions": {}, "property_id": "texte", "monthly_rent": 1, "use_rent_estimate": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - compare_properties≈ 216 tokens
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.
Paramètres, retour & exemple (2)
Paramètreswatchlist· string · optionnel
Score each against this saved search.property_ids· array · requis
Exemple d'appel{"name": "compare_properties", "arguments": {"property_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_property_alerts≈ 419 tokens
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).
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionneltypes· array · optionnel
Filter, e.g. ['PRICE_DROP','RENT_DROP'] for price changes or ['NEW_MATCHING_PROPERTY','NEW_STRONG_STYLE_MATCH'] for new matches.watchlist· string · optionnelinclude_already_retrieved· boolean · optionnel
Exemple d'appel{"name": "get_property_alerts", "arguments": {"limit": 1, "types": [], "watchlist": "texte", "include_already_retrieved": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_property_details≈ 262 tokens
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.
Paramètres, retour & exemple (3)
Paramètresrefresh· boolean · optionnel
Fetch the latest listing record from its source if the stored one is over 24 hours old (uses a live refresh).listing_id· string · optionnelproperty_id· string · optionnel
Exemple d'appel{"name": "get_property_details", "arguments": {"refresh": true, "listing_id": "texte", "property_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_property_history≈ 190 tokens
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.
Paramètres, retour & exemple (2)
Paramètreslisting_id· string · optionnelproperty_id· string · optionnel
Exemple d'appel{"name": "get_property_history", "arguments": {"listing_id": "texte", "property_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_realtybingo_brief≈ 155 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_realtybingo_brief", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - manage_property_watchlist≈ 188 tokens
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.
Paramètres, retour & exemple (3)
Paramètresname· string · optionnelaction· string · requis · list | get | pause | resume | delete | matchesconfirm· boolean · optionnel
Exemple d'appel{"name": "manage_property_watchlist", "arguments": {"action": "list"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - manage_realtybingo_account≈ 254 tokens
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).
Paramètres, retour & exemple (4)
Paramètreskey· string · optionnelaction· string · requis · view | confirm_preference | reject_preference | delete_preference | clear_personalization | set_webhook | remove_webhook | delete_accountconfirm· boolean · optionnelwebhook_url· string · optionnel
Exemple d'appel{"name": "manage_realtybingo_account", "arguments": {"action": "view"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - record_property_feedback≈ 294 tokens
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.
Paramètres, retour & exemple (4)
Paramètresreasons· array · optionnelfeedback· string · requis · like | save | dislike | dismiss | hide | contacted_agent | touredlisting_id· string · optionnelproperty_id· string · optionnel
Exemple d'appel{"name": "record_property_feedback", "arguments": {"feedback": "like"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - save_property_watchlist≈ 1640 tokens
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).
Paramètres, retour & exemple (5)
Paramètresname· string · requiscriteria· object · requispriority· string · optionnel · normal | highmonitoring· string · optionnel · active | pausedalert_prefs· object · optionnel
Exemple d'appel{"name": "save_property_watchlist", "arguments": {"name": "texte", "criteria": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_properties≈ 1620 tokens
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.
Paramètres, retour & exemple (28)
Paramètressort· string · optionnel · match | price_low | price_high | newestavoid· array · optionnel
Features that exclude a listing when the listing states them, e.g. fixer-upper, pool.limit· integer · optionnelnotes· string · optionnel
The user's own words, kept for reference; terms in it that match the feature list become soft preferences.offset· integer · optionnelstyles· array · optionnel
Architectural styles, e.g. Craftsman, Victorian, mid-century modern.location· object · requismax_price· number · optionnel
Hard ceiling: listings above it are excluded.min_price· number · optionnelmust_have· array · optionnel
Mandatory features, e.g. garage, fireplace. Unmentioned = unverified, not excluded (unless strict_unknowns).investment· object · optionnelmax_hoa_fee· number · optionnellisting_type· string · requis · sale | rentalmax_distance· object · optionnel
Straight-line distance from a place the user names (e.g. work). Not driving time.min_bedrooms· integer · optionnelmin_lot_area· integer · optionnelnice_to_have· array · optionnel
Soft features that improve ranking.min_bathrooms· number · optionnelmin_year_built· integer · optionnelproperty_types· array · optionnelideal_max_price· number · optionnel
Soft target: listings above it rank lower but stay in.min_living_area· integer · optionnelstrict_unknowns· boolean · optionnel
Exclude listings that do not state a must_have feature (default false: keep and flag).allow_live_request· boolean · optionnel
false = stored data only (no provider request).bedrooms_exception· object · optionnel
e.g. 'three bedrooms, but two is fine with an office': min_bedrooms 3 plus {min_bedrooms: 2, requires: ['home office']}preferred_bedrooms· integer · optionnelinclude_non_matching· boolean · optionnel
true = also return listings that fail a hard requirement, with the reason.exclude_property_types· array · optionnel
Exemple d'appel{"name": "search_properties", "arguments": {"location": {}, "listing_type": "sale"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - track_property≈ 281 tokens
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.
Paramètres, retour & exemple (6)
Paramètresnote· string · optionnelaction· string · requis · track | untrack | listlisting_id· string · optionnelprice_below· number · optionnel
Alert when the asking price (or rent) drops below this.property_id· string · optionnelmin_drop_pct· number · optionnel
Only alert on reductions at least this large (percent).
Exemple d'appel{"name": "track_property", "arguments": {"action": "track"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».