← WebMCP Directory

Tool tree

rentradars.vercel.app

Travel & EventsTools verified
Website
Search 200 San Francisco rentals with a live AI agent. 7 WebMCP tools let your agent search, rank, compare, shortlist and book — while you browse. Built for the WebMCP Challenge.
Explore capabilities
    search_listingsAction

    Search RentRadar's 200 San Francisco rental listings. Use whenever the user wants to find apartments, homes, or rentals. Filters by price, bedrooms (0 = studio), neighborhood, transit score, and amenities. Results update the user's browsing grid and map in real time so they can see what the agent found.

    View tool JSON
    {
      "name": "search_listings",
      "kind": "act",
      "impl": "imperative",
      "description": "Search RentRadar's 200 San Francisco rental listings. Use whenever the user wants to find apartments, homes, or rentals. Filters by price, bedrooms (0 = studio), neighborhood, transit score, and amenities. Results update the user's browsing grid and map in real time so they can see what the agent found.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxPrice": {
            "type": "number",
            "description": "Maximum monthly rent in USD"
          },
          "minPrice": {
            "type": "number",
            "description": "Minimum monthly rent in USD"
          },
          "beds": {
            "type": "integer",
            "description": "Number of bedrooms (0 = studio)"
          },
          "neighborhoods": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SF neighborhood names, e.g. [\"Mission District\",\"SoMa\"]"
          },
          "minTransitScore": {
            "type": "number",
            "description": "Minimum transit score (0-100)"
          },
          "requiredAmenity": {
            "type": "string",
            "description": "A required amenity, e.g. \"Parking spot\", \"Pet friendly\", \"In-unit laundry\""
          },
          "keywords": {
            "type": "string",
            "description": "Free text to match in title/address"
          },
          "sort": {
            "type": "string",
            "enum": [
              "price_asc",
              "price_desc",
              "commute",
              "newest"
            ],
            "description": "Sort order for results"
          }
        }
      }
    }
    rank_by_commuteAction

    Rank the currently visible listings (or the user's shortlist) by public-transit commute time to a landmark. Use when the user mentions their workplace, school, or a place they need to commute to. Results reorder the user's grid live and show commute badges on each card.

    View tool JSON
    {
      "name": "rank_by_commute",
      "kind": "act",
      "impl": "imperative",
      "description": "Rank the currently visible listings (or the user's shortlist) by public-transit commute time to a landmark. Use when the user mentions their workplace, school, or a place they need to commute to. Results reorder the user's grid live and show commute badges on each card.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "enum": [
              "fidi",
              "mission",
              "goldengatepark",
              "ucsf"
            ],
            "description": "Where to commute to: \"fidi\" = Financial District (work), \"mission\" = Mission District (nightlife), \"goldengatepark\" = Golden Gate Park (outdoors), \"ucsf\" = UCSF Medical Center"
          },
          "scope": {
            "type": "string",
            "enum": [
              "visible",
              "shortlist"
            ],
            "description": "Rank visible results (default) or the user shortlist"
          }
        },
        "required": [
          "destination"
        ]
      }
    }
    compare_listingsAction

    Compare 2-4 rental listings side by side — price, size, beds/baths, commute, walk/transit scores and amenities. The comparison appears as a banner above the user’s grid. Use when the user asks to compare options or decide between listings.

    View tool JSON
    {
      "name": "compare_listings",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare 2-4 rental listings side by side — price, size, beds/baths, commute, walk/transit scores and amenities. The comparison appears as a banner above the user’s grid. Use when the user asks to compare options or decide between listings.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "listingIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "2-4 listing IDs (get them from search_listings results)"
          }
        },
        "required": [
          "listingIds"
        ]
      }
    }
    find_similarAnswer

    Find listings similar to one the user liked — matching neighborhood, price band, size, type and amenities. Optionally auto-saves the top matches to the user's shortlist. Use after the user hearts a listing or says 'find me more like this'. This demonstrates the agent learning the user's taste.

    View tool JSON
    {
      "name": "find_similar",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find listings similar to one the user liked — matching neighborhood, price band, size, type and amenities. Optionally auto-saves the top matches to the user's shortlist. Use after the user hearts a listing or says 'find me more like this'. This demonstrates the agent learning the user's taste.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "listingId": {
            "type": "string",
            "description": "The listing the user liked"
          },
          "count": {
            "type": "number",
            "description": "How many similar listings to find (default 12)"
          },
          "autoShortlistTop": {
            "type": "number",
            "description": "Auto-save top N matches to shortlist (default 3, 0 to disable)"
          }
        },
        "required": [
          "listingId"
        ]
      }
    }
    shortlist_listingAction

    Add or remove a listing from the user's shortlist (the heart/save feature). The user's Saved panel updates instantly so they see the agent's action live. Use when the user asks to save, shortlist, heart, or organize listings.

    View tool JSON
    {
      "name": "shortlist_listing",
      "kind": "act",
      "impl": "imperative",
      "description": "Add or remove a listing from the user's shortlist (the heart/save feature). The user's Saved panel updates instantly so they see the agent's action live. Use when the user asks to save, shortlist, heart, or organize listings.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "listingId": {
            "type": "string",
            "description": "Listing to shortlist"
          },
          "action": {
            "type": "string",
            "enum": [
              "add",
              "remove"
            ],
            "description": "Default: add"
          }
        },
        "required": [
          "listingId"
        ]
      }
    }
    schedule_viewingSensitive Action

    Book a property viewing (tour) appointment. The booking appears instantly in the user's Viewings panel. Use when the user wants to visit, tour, or schedule a viewing for a listing. Available slots: 10:00, 11:30, 13:30, 15:00, 17:30 — any day within the next 7 days.

    View tool JSON
    {
      "name": "schedule_viewing",
      "kind": "transact",
      "impl": "imperative",
      "description": "Book a property viewing (tour) appointment. The booking appears instantly in the user's Viewings panel. Use when the user wants to visit, tour, or schedule a viewing for a listing. Available slots: 10:00, 11:30, 13:30, 15:00, 17:30 — any day within the next 7 days.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "listingId": {
            "type": "string",
            "description": "Listing to tour"
          },
          "date": {
            "type": "string",
            "description": "Day name like \"Saturday\"/\"tomorrow\" or YYYY-MM-DD. Default: next Saturday"
          },
          "timeSlot": {
            "type": "string",
            "enum": [
              "10:00",
              "11:30",
              "13:30",
              "15:00",
              "17:30"
            ],
            "description": "Time slot. Default: 11:30"
          }
        },
        "required": [
          "listingId"
        ]
      }
    }
    draft_landlord_messageAction

    Draft an inquiry message to a listing's landlord. The draft appears in the listing detail panel for the user to review and send. Use when the user wants to contact a landlord or ask about a property.

    View tool JSON
    {
      "name": "draft_landlord_message",
      "kind": "act",
      "impl": "imperative",
      "description": "Draft an inquiry message to a listing's landlord. The draft appears in the listing detail panel for the user to review and send. Use when the user wants to contact a landlord or ask about a property.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "listingId": {
            "type": "string",
            "description": "Listing to inquire about"
          },
          "tone": {
            "type": "string",
            "enum": [
              "friendly",
              "professional",
              "enthusiastic"
            ],
            "description": "Message tone. Default: friendly"
          },
          "moveInDate": {
            "type": "string",
            "description": "When the user wants to move in, e.g. \"October 1\""
          }
        },
        "required": [
          "listingId"
        ]
      }
    }