{
 "voice": "One card of the book.",
 "agent": {
  "slug": "propertylist-spanish-property-mls",
  "name": "PropertyList: Spanish Property MLS",
  "specialty": "realestate",
  "description": "First-party Spanish and Portuguese property listings with notary-verified prices.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-27T23:10:16.091Z",
  "card": "/agent/propertylist-spanish-property-mls",
  "url": "https://allagents.app/agent/propertylist-spanish-property-mls",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.propertylist.es/mcp",
   "site": "https://propertylist.es/mcp"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://propertylist.es/mcp",
   "hire": null
  },
  "bubble": "closed",
  "score": 54,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-28",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "search_properties",
     "description": "Search PropertyList's full Spanish property MLS by structured filters. Use for queries that translate cleanly to fields: bedrooms, bathrooms, price ceiling…"
    },
    {
     "name": "find_properties_by_description",
     "description": "Match Spanish properties from a free-form description of what the user wants. Best for vague, conditional, or lifestyle-heavy briefs (\"3-bed near a good…"
    },
    {
     "name": "autocomplete_location",
     "description": "Look up property areas (city, suburb, urbanisation, or a group of areas such as a region or a coast) by free-text name. Returns up to 10 matches with id…"
    },
    {
     "name": "get_property",
     "description": "Fetch the full record for one PropertyList listing by its reference code (the human-readable id like 'PLE-12345'). Use this once the user has settled on a…"
    },
    {
     "name": "area_market_summary",
     "description": "Return aggregate market context for a Spanish area: number of active listings, median price, mean price, median €/m², and the count broken down by bedroom…"
    },
    {
     "name": "list_agencies",
     "description": "Find PropertyList agencies (estate agents) in a given Spanish area, ranked by how many active listings they carry there. Returns up to 10 agencies with name…"
    },
    {
     "name": "verified_valuation",
     "description": "Get a valuation for a property or area in Spain, Portugal or Cyprus from recorded market data, not asking prices. Returns the €/m² (`price_per_sqm`) for the…"
    },
    {
     "name": "submit_enquiry",
     "description": "Submit an enquiry (lead) about a specific listing on behalf of a prospective buyer or tenant. Use this once the user has chosen a property and wants the…"
    },
    {
     "name": "find_similar_properties",
     "description": "Listings similar to one property: same market (sale or rent), same town, same kind of home, a similar number of bedrooms and a price within about 25%. Closest…"
    },
    {
     "name": "find_price_reductions",
     "description": "Live listings whose asking price has been reduced recently, biggest reduction first. Each listing carries the price before the cut, the price now, the…"
    },
    {
     "name": "search_guides",
     "description": "Search PropertyList's guides on buying, selling and renting in Spain: taxes such as ITP, IBI and non-resident income tax, the NIE, the buying process, laws…"
    },
    {
     "name": "get_guide",
     "description": "Read one PropertyList guide. Answer from its text and link its url. If last_reviewed is set, say the page was checked on that date; if it is null, say the…"
    },
    {
     "name": "my_leads",
     "description": "List recent enquiries (leads) for YOUR agency's CRM - newest first. Use when the agent asks what has just come in (e.g. \"what came in today?\"). This is the…"
    },
    {
     "name": "my_pipeline",
     "description": "List the cards on YOUR agency's CRM pipeline boards (Kanban), with each board's own stage names and card counts. Boards: lead, buyer, seller, tenant, nurture…"
    },
    {
     "name": "find_contacts",
     "description": "Search YOUR agency's CRM contacts by name, company, email or phone. Use to look a person up before logging a note or to check if they're already in the CRM…"
    },
    {
     "name": "my_listings",
     "description": "List YOUR agency's own property listings (newest first), optionally filtered by status or a specific reference. Use for \"show my listings\" / \"is reference X…"
    },
    {
     "name": "create_contact",
     "description": "Add a new contact to YOUR agency's CRM. Use when the agent wants to save a person (buyer, owner, enquirer). If a contact with the same email already exists it…"
    },
    {
     "name": "create_listing",
     "description": "Start a new property listing in YOUR agency's CRM from a description. Use when the agent is describing a property they have taken on and wants it in the…"
    },
    {
     "name": "log_note",
     "description": "Log a note against a contact or a listing in YOUR agency's CRM (e.g. record a call outcome or a viewing). Provide the note text plus a contact_id (from…"
    },
    {
     "name": "get_contact",
     "description": "The full picture of one client in YOUR agency's CRM: contact details, where they sit on the pipeline boards, the agents they belong to, their saved searches…"
    },
    {
     "name": "match_buyer_to_inventory",
     "description": "The listings that fit one client's search in YOUR agency's CRM: your own listings first, then shared MLS listings your agency can sell, newest first. Each…"
    },
    {
     "name": "match_inventory_to_buyers",
     "description": "The clients in YOUR agency's CRM whose saved search fits one listing: who to call about it. Works for your own listings and for shared MLS listings your…"
    },
    {
     "name": "listing_health",
     "description": "Checks YOUR agency's own listings for what is holding them back, and lists the ones with problems, most problems first: - stale: online for 90 days or more…"
    },
    {
     "name": "move_pipeline_stage",
     "description": "Stage a move of a client's card to another step on a pipeline board they are already on (buyer, seller, lead or tenant), as dragging the card on the CRM board…"
    },
    {
     "name": "qualify_lead",
     "description": "Stage qualifying a client, as the CRM's Qualified popup does: tags them as a buyer, seller or tenant, puts them on that pipeline board and takes them off the…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.propertylist.es/mcp",
   "answers": true,
   "checked": "2026-10-28T05:56:02.686Z",
   "http": 200,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-28T06:52:10.308Z",
     "since": "2026-10-28T06:52:10.308Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-28T06:52:10.308Z",
    "since": "2026-10-28T06:52:10.308Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 200,
   "checked": "2026-10-28T05:56:02.686Z"
  }
 }
}