PropertyList — Spanish Property MLS
Server Details
First-party Spanish, Portuguese and Italian property listings with notarial-verified prices.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 13 of 13 tools scored.
Each tool has a clear, distinct purpose. Search is split into structured and free-form queries, market data is separated from valuations, and CRM tools are all unique actions (create, find, log, list leads/listings, submit enquiry). No two tools overlap meaningfully.
Most tools follow a verb_noun pattern (autocomplete_location, create_contact, find_properties_by_description, get_property, list_agencies, log_note, search_properties, submit_enquiry). Exceptions are area_market_summary, my_leads, my_listings, and verified_valuation, which deviate slightly but are still understandable.
13 tools is well-scoped for a property MLS server covering search, market analysis, valuations, CRM, and agency information. Each tool earns its place without being overwhelming.
The tool set covers the full lifecycle: location resolution, property search (structured and free-form), detailed property retrieval, market summary, verified valuations, agency listing, and a full CRM (contacts, leads, notes, listings, enquiries). No obvious gaps for the stated domain.
Available Tools
13 toolsarea_market_summaryRead-onlyIdempotentInspect
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 band. Filterable by property type and search type (for-sale / for-rent / holiday-rentals). Use this before recommending a price or commenting on whether a listing is good value.
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | Place name (city, suburb, or urbanisation). e.g. 'Marbella'. | |
| search_type | No | for-sale | |
| property_types | No | Optional comma-separated slugs: apartments, villas, penthouses, plots, townhouses. |
Output Schema
| Name | Required | Description |
|---|---|---|
| oracle | Yes | |
| location | Yes | |
| max_price | No | |
| min_price | No | |
| mean_price | No | |
| search_type | No | |
| median_price | No | |
| property_types | No | |
| total_listings | Yes | |
| by_bedroom_band | No | |
| median_price_per_sqm | No |
autocomplete_locationRead-onlyIdempotentInspect
Look up Spanish property areas (city, suburb, urbanisation) by free-text name. Returns up to 10 matches with id, name, and the parent province/city. Use this to resolve place names before calling search_properties, especially for common spellings like 'Nueva Andalucia' (vs 'Nueva Andalucía') or 'Marbella old town'.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Free-text place name. 2+ characters. | |
| provinces | No | Optional comma-separated province ids to scope the search. |
create_contactInspect
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 is returned rather than duplicated. The contact is created unassigned and flagged as needing attention so it surfaces in the CRM. Requires an agency API key.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Contact's first name (or full name). | |
| No | Email address. Optional but recommended (used for de-duplication). | ||
| phone | No | Phone number. Optional. | |
| surname | No | Contact's surname. Optional. | |
| company_name | No | Company name (for a business contact). Optional. |
find_contactsRead-onlyIdempotentInspect
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. Requires an agency API key; only ever searches the calling agency's own contacts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Name, company, email or phone fragment to search for. |
find_properties_by_descriptionRead-onlyIdempotentInspect
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 international school, flexible on budget if there's a sea view"). Uses Gemini to translate the brief into one to three parallel structured searches across PropertyList's full MLS, then merges and ranks the results. Returns up to 9 listings with match scores and an explanation of how the brief was interpreted (and what couldn't be resolved).
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | Plain-English (or Spanish) description of what the user is looking for. 10-500 chars. | |
| language | No | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| summary | No | |
| properties | Yes | |
| unresolved | No | |
| interpretation | No |
get_propertyRead-onlyIdempotentInspect
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 listing from search_properties or find_properties_by_description and wants details, photos, or agency contact info.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | en | |
| reference | Yes | PropertyList reference, e.g. 'PLE-12345'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| property | Yes |
list_agenciesRead-onlyIdempotentInspect
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, location, listing count, and a public URL the user can visit. Use this after a buyer has narrowed in on an area and wants to know which agencies dominate it.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| location | Yes | Place name (city, suburb, or urbanisation). e.g. 'Estepona'. |
log_noteInspect
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 find_contacts) and/or a property reference. The note appears on the contact/property timeline. Requires an agency API key.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | The note text to record. | |
| contact_id | No | Contact to attach the note to (from find_contacts). Optional if a property reference is given. | |
| property_reference | No | Listing reference to attach the note to. Optional if a contact_id is given. |
my_leadsRead-onlyIdempotentInspect
List recent enquiries (leads) for YOUR agency's CRM - newest first. Use when the agent asks about their own leads/enquiries (e.g. "what came in today?"). Requires an agency API key; only ever returns the calling agency's own leads.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ISO date/time - only leads created on or after this. Optional. | |
| property_reference | No | Only leads about this listing reference. Optional. |
my_listingsRead-onlyIdempotentInspect
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 still online?". Requires an agency API key; only ever returns the calling agency's own properties.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | Listing status. Defaults to 'online'. | online |
| reference | No | A specific listing reference. Optional. |
search_propertiesRead-onlyIdempotentInspect
Search PropertyList's full Spanish property MLS by structured filters. Use for queries that translate cleanly to fields: bedrooms, bathrooms, price ceiling, property type, area name. For free-form briefs use find_properties_by_description instead.
Returns a paginated list with summary text plus structured JSON. Every
property carries oracle_verified and oracle_attestation_url —
true when PropertyList Oracle holds a verified attestation for the listing's municipality and segment.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| language | No | Preferred language for property titles and description excerpts. | en |
| location | No | Free-text place name (city, suburb, or urbanisation). e.g. 'Marbella', 'Nueva Andalucia', 'Sotogrande'. Pre-resolved with autocomplete_location if you need to confirm match. | |
| page_size | No | ||
| price_max | No | Maximum price in euros (sale) or monthly euros (rent). | |
| price_min | No | Minimum price in euros (sale) or monthly euros (rent). | |
| search_type | No | Listing market. Defaults to 'for-sale'. | |
| bedrooms_max | No | ||
| bedrooms_min | No | ||
| bathrooms_min | No | ||
| property_types | No | Comma-separated slugs: apartments, villas, penthouses, plots, townhouses, commercial. |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| total | Yes | |
| page_size | Yes | |
| properties | Yes |
submit_enquiryInspect
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 agency to contact them. The listing agency receives the enquiry in their CRM and follows up directly.
Requires an API key. Provide the property reference (from search results)
plus the enquirer's contact details. Only submit with the person's clear
intent and consent - this sends their details to a real estate agency.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Enquirer's full name. | |
| Yes | Enquirer's email address. | ||
| phone | Yes | Enquirer's phone number (with country code where possible). | |
| message | No | Optional message / what they want to know or arrange (e.g. a viewing). | |
| language | No | Preferred language for the agency to reply in. | en |
| reference | Yes | PropertyList listing reference the enquiry is about, e.g. 'PLE-12345'. |
verified_valuationRead-onlyIdempotentInspect
Get a VERIFIED valuation for a Spanish property or area, sourced from the Spanish notarial register (Consejo General del Notariado) - not asking prices. Returns the verified €/m² for the municipality and segment, an indicative valuation when you give a size (build_sqm) or a listing reference, and a content-hashed attestation URL the figure can be cited from. Also returns our proprietary network achieved-sale figure where available. Use this for "what's it worth / is the asking price fair?". If no attestation covers the area yet, it says so plainly (use area_market_summary for asking-price stats instead).
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Municipality / city name, e.g. "Marbella". Ignored if a reference is given. | |
| build_sqm | No | Built size in m² to value. Optional. | |
| reference | No | Value a specific PropertyList listing by reference (uses its municipality, type and size). Optional. | |
| property_type | No | Optional segment slug: apartment, villa, penthouse, townhouse, plot. Defaults to the municipality-wide figure. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| network | No | |
| location | Yes | |
| on_chain | No | |
| verified | Yes | |
| build_sqm | No | |
| period_end | No | |
| sample_size | No | |
| content_hash | No | |
| property_type | No | |
| attestation_url | No | |
| indicative_range | No | |
| valuation_estimate | No | |
| verified_price_per_sqm | No |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!