Skip to main content

Get started

  1. Add the remote MCP server URL in your AI client. See Install for client-specific steps.
  2. If your client asks for authorization, complete the brightplace consent flow.
  3. Ask the client to use brightplace Connect for an apartment search.
  4. Review listing details, tour slots, and any tour request before acting on them.

Typical flow

A renter conversation usually walks through the tools in this order:
  1. search_listings — find listings matching objective criteria.
  2. get_listing — read full detail, including brightplace grades, for a result.
  3. get_neighborhood_guide / get_financial_guide — add neighborhood context and affordability detail for a listing.
  4. get_tour_availability — check open tour slots.
  5. book_tour — submit a tour request for a chosen slot.
Only book_tour performs a write. Review the renter name, email, phone, listing, and slot before allowing it.

Example workflow

A full renter conversation, with the tool each turn triggers:
  1. Search. The renter asks:
    Use brightplace Connect to search for one-bedroom apartments in Brooklyn under $4,500 that are pet friendly and near the subway.
    
    The client calls search_listings and returns a list of matches.
  2. Inspect a result. The renter asks to see one of them:
    Show me the full details for the second result.
    
    The client calls get_listing with that listing_id, including its brightplace grades.
  3. Add context. The renter wants more than the snapshot:
    What's the neighborhood like, and is the rent affordable on a $120k salary?
    
    The client calls get_neighborhood_guide and get_financial_guide for the listing.
  4. Find a tour. The renter asks:
    Are any tours available this weekend?
    
    The client calls get_tour_availability and lists open slots.
  5. Book it. The renter picks a slot:
    Book the Saturday 11am tour. My name is Jordan Lee, jordan@example.com.
    
    The client calls book_tour. Confirm the renter name, email, phone, listing, and slot before allowing this write.

Tool results

Tool responses use a consistent envelope:
{
  "ok": true,
  "data": {},
  "latency_ms": 42
}
Errors use the same envelope with an error object:
{
  "ok": false,
  "error": {
    "error_code": "VALIDATION_ERROR",
    "message": "Tool input failed validation.",
    "details": {}
  },
  "latency_ms": 2
}
See Errors & Troubleshooting for the public error set and how to handle each code.