For AI agents
Base publishes its rental records for software agents as well as people. Everything is free to read, needs no sign-in and uses the same numbers as these pages.
The confirmation rule
Agents can read everything and prepare requests, but a person confirms every request.
Tour requests, questions and application starts create a pending request and return a confirm_url. Nothing is sent to leasing until the person opens that page and confirms. In this prototype nothing is sent at all.
Never quote a value marked held or not_stated. Say "operator confirming" or "not stated" instead.
MCP server
Endpoint: https://listings.base.homes/mcp (Streamable HTTP, stateless, no auth). Protocol 2026-07-28 with a fallback for 2025-11-25 clients.
Server card: https://listings.base.homes/mcp/server-card (MCP Server Cards extension), listed in /.well-known/ai-catalog.json. Registry entry: /mcp/server.json.
Claude Code:
claude mcp add --transport http base-rentals https://listings.base.homes/mcp
Other assistants that can add a remote MCP server by URL should also work, for example Claude (custom connectors), ChatGPT developer mode, Gemini custom MCP servers, Perplexity connectors and, reportedly, Meta's Muse. Support and setup steps vary by product and plan; we have not certified any of them.
Read tools: search_units, get_property, get_unit, quote_move_in_cost, check_eligibility, get_location_facts, get_operator_performance, get_tour_availability, get_application_link, verify_listing. Request tools (need confirmation): request_tour, ask_question, start_application.
JSON API
- /openapi.json OpenAPI 3.1; operation ids match the MCP tool names.
GET /api/listingsevery community and listed home.GET /api/unitssearch with listing facts only: city, beds, total monthly, pets, vouchers, measured travel time. Any other filter returns 400.GET or POST /api/quoteitemized monthly and move-in cost for a home or floor plan.POST /api/eligibilitypre-check against stated requirements. POST only, never logged.GET /api/verifycheck a listing's rent, phone, website or special against the record.POST /api/actions/tour-requestsquestionsapplication-startscreate pending requests (202 with confirm_url).
A2A agent card
Agent card: /.well-known/agent-card.json. A minimal A2A 1.0 JSON-RPC endpoint runs at https://listings.base.homes/a2a (method SendMessage; send header A2A-Version: 1.0). It answers with the same read results as the MCP tools and never sends anything on anyone's behalf.
Request format: send a data part {"skill": "<tool name>", "arguments": {...}} using the MCP tool names and arguments above. Plain text is not interpreted. A2A 0.3 clients can call message/send without the header, and GetTask or tasks/get returns a finished read task. Results built from personal inputs (eligibility pre-checks, requests, and quotes with pets or applicants) come back only in the SendMessage response; the stored task keeps just its state. ListTasks is not supported.
Personal-agent protocols built on A2A, such as the PACT work announced in October 2026, expect a business to publish an agent card with scoped permissions; ours grants read access and confirm-gated requests only.
WebMCP in the browser
In browsers that support WebMCP, pages register tools with document.modelContext.registerTool: the home and search pages offer search_units; community, floor plan and home pages offer quote_move_in_cost, check_eligibility and request_tour. Read tools call the same API. request_tour fills the on-page form and returns a confirm_url; the person still confirms.
Reading pages directly
- Every page is plain server-rendered HTML; JavaScript is optional.
- Each record page starts with an answer block
id="answer"of short, self-contained sentences you can quote. - Markdown twin: append
.mdor sendAccept: text/markdown. - /llms.txt and /llms-full.txt summarize the site.
- Cite the page URL and its as-of date. Quote held or not-stated values as "operator confirming" or "not stated".
For people
Text +1 (855) 684-1676 for anything an agent could not answer.