Search authorized real estate in Mexico and manage favorites and publishing with OAuth.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when an authenticated user explicitly asks to permanently delete one of their PropFácil favorite lists and its saved entries. Do not use it for removing a single property.
Identifier of a favorite list owned by the authenticated user.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Use this when an authenticated user explicitly asks to permanently delete one of their PropFácil favorite lists and its saved entries. Do not use it for removing a single property.
| Argument | Type | Description |
|---|---|---|
| listId* | string | Identifier of a favorite list owned by the authenticated user. |
{
"type": "object",
"required": [
"listId"
],
"properties": {
"listId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Identifier of a favorite list owned by the authenticated user."
}
},
"additionalProperties": false
}Use this when the user wants the details of one authorized PropFácil listing and has supplied a listingKey or ID from search_properties.
| Argument | Type | Description |
|---|---|---|
| id* | string | A listingKey or listing ID returned by search_properties. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "A listingKey or listing ID returned by search_properties."
}
},
"additionalProperties": false
}Use this when the user explicitly asks to contact the advertiser or open the authorized original listing for a property previously returned by PropFácil.
| Argument | Type | Description |
|---|---|---|
| id* | string | A listingKey or listing ID returned by search_properties or get_property. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "A listingKey or listing ID returned by search_properties or get_property."
}
},
"additionalProperties": false
}Use this when an authenticated user wants to inspect one of their PropFácil favorite lists and its saved properties.
| Argument | Type | Description |
|---|---|---|
| listId* | string | Identifier of a favorite list owned by the authenticated user. |
{
"type": "object",
"required": [
"listId"
],
"properties": {
"listId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Identifier of a favorite list owned by the authenticated user."
}
},
"additionalProperties": false
}Use this when an authenticated user wants to see their PropFácil favorite lists. This returns only lists owned by the linked user.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Use this when an authenticated user asks to review the property listings they published on PropFácil.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Use this when an authenticated user explicitly asks to publish a property publicly on PropFácil. This creates a public listing and is safe to retry with the same idempotencyKey.
| Argument | Type | Description |
|---|---|---|
| city* | string | Mexican city or municipality where the property is located. |
| price* | number | Positive advertised price in the selected currency. |
| state | string | Mexican state where the property is located, when known. |
| title* | string | Public listing title shown to prospective buyers or tenants. |
| areaSqm | number | Property area in square meters. |
| bedrooms | integer | Number of bedrooms; use zero only when the property has none. |
| currency | string | Currency used for the advertised price. |
| latitude | number | WGS84 latitude for the property location. |
| bathrooms | number | Number of bathrooms, including fractional half-bath values when applicable. |
Use this when an authenticated user asks to remove a saved property from one of their PropFácil lists. The list remains available if it becomes empty.
| Argument | Type | Description |
|---|---|---|
| listId* | string | Identifier of a favorite list owned by the authenticated user. |
| propertyId* | string | A listingKey for the saved property to remove. |
{
"type": "object",
"required": [
"listId",
"propertyId"
],
"properties": {
"listId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Identifier of a favorite list owned by the authenticated user."
},
"propertyId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "A listingKey for the saved property to remove."
}
},
"additionalProperties": false
}Use this when an authenticated user asks to rename one of their PropFácil favorite lists.
| Argument | Type | Description |
|---|---|---|
| name* | string | New name for the favorite list. |
| listId* | string | Identifier of a favorite list owned by the authenticated user. |
{
"type": "object",
"required": [
"listId",
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "New name for the favorite list."
},
"listId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Identifier of a favorite list owned by the authenticated user."
}
},
"additionalProperties": false
}Use this when, after search_properties, the user would benefit from interactive property cards, comparison, details, or a map. Pass only listing IDs already returned by a data tool.
| Argument | Type | Description |
|---|---|---|
| title | string | Short user-facing heading for the rendered property selection. |
| propertyIds* | array | Up to 12 listingKey values returned by search_properties. |
{
"type": "object",
"required": [
"propertyIds"
],
"properties": {
"title": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Short user-facing heading for the rendered property selection."
},
"propertyIds": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 12,
"minItems": 1,
"description": "Up to 12 listingKey values returned by search_properties.",
"uniqueItems": true
}
},
"additionalProperties": false
}Use this when the PropFácil app needs to restore the latest public property selection for the current MCP session after its widget is recreated.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Use this when an authenticated user asks to save a property to a favorite list. If no list is supplied, use the idempotent default list named Favoritos.
| Argument | Type | Description |
|---|---|---|
| note | string | Optional private note stored with the saved property. |
| listId | string | Identifier of a favorite list owned by the authenticated user. |
| listName | string | Name for a new favorite list; defaults to Favoritos. |
| propertyId* | string | A listingKey returned by search_properties. |
{
"type": "object",
"required": [
"propertyId"
],
"properties": {
"note": {
"type": "string",
"maxLength": 500,
"description": "Optional private note stored with the saved property."
},
"listId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Identifier of a favorite list owned by the authenticated user."
},
"listName": {
"type": "string",
"default": "Favoritos",
"maxLength": 80,
"minLength": 1,
"description": "Name for a new favorite list; defaults to Favoritos."
},
"propertyId": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "A listingKey returned by search_properties."
}
},
"additionalProperties": false
}Use this when the user wants to find authorized PropFácil property listings in Mexico by city, transaction type, price, bedrooms, or geographic radius.
| Argument | Type | Description |
|---|---|---|
| city | string | Mexican city or municipality name explicitly requested by the user. |
| near | string | Map center as lat,lng. Use only a location explicitly supplied by the user. |
| limit | integer | Maximum number of results to return. |
| radius | number | Search radius in meters. |
| maxPrice | number | Maximum listing price in the listing currency. |
| minPrice | number | Minimum listing price in the listing currency. |
| minBedrooms | integer | Minimum number of bedrooms. |
| transactionType | string | Listing operation: ForSale to buy or ForLease to rent. |
{
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Mexican city or municipality name explicitly requested by the user."
},
"near": {
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d+)?,-?\\d+(?:\\.\\d+)?$",
"description": "Map center as lat,lng. Use only a location explicitly supplied by the user."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of results to return."
},
"radius": {
"type": "number",
"maximum": 100000,
"minimum": 100,
"description": "Search radius in meters."
},
"maxPrice": {
"type": "number",
"minimum": 0,
"description": "Maximum listing price in the listing currency."
},
"minPrice": {
"type": "number",
"minimum": 0,
"description": "Minimum listing price in the listing currency."
},
"minBedrooms": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Minimum number of bedrooms."
},
"transactionType": {
"enum": [
"ForSale",
"ForLease"
],
"type": "string",
"description": "Listing operation: ForSale to buy or ForLease to rent."
}
},
"dependentRequired": {
"near": [
"radius"
],
"radius": [
"near"
]
},
"additionalProperties": false
}| longitude | number | WGS84 longitude for the property location. |
| description* | string | Public, accurate description of the property. |
| isCommercial | boolean | True for commercial real estate; false for residential real estate. |
| idempotencyKey* | string | Stable unique key for this publish request; reuse it when retrying. |
| transactionType* | string | Whether the property is offered for sale or lease. |
{
"type": "object",
"required": [
"idempotencyKey",
"transactionType",
"price",
"title",
"description",
"city"
],
"properties": {
"city": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Mexican city or municipality where the property is located."
},
"price": {
"type": "number",
"maximum": 500000000,
"description": "Positive advertised price in the selected currency.",
"exclusiveMinimum": 0
},
"state": {
"type": "string",
"maxLength": 120,
"description": "Mexican state where the property is located, when known."
},
"title": {
"type": "string",
"maxLength": 160,
"minLength": 8,
"description": "Public listing title shown to prospective buyers or tenants."
},
"areaSqm": {
"type": "number",
"maximum": 10000000,
"description": "Property area in square meters.",
"exclusiveMinimum": 0
},
"bedrooms": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Number of bedrooms; use zero only when the property has none."
},
"currency": {
"enum": [
"MXN",
"USD"
],
"type": "string",
"default": "MXN",
"description": "Currency used for the advertised price."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "WGS84 latitude for the property location."
},
"bathrooms": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Number of bathrooms, including fractional half-bath values when applicable."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "WGS84 longitude for the property location."
},
"description": {
"type": "string",
"maxLength": 5000,
"minLength": 20,
"description": "Public, accurate description of the property."
},
"isCommercial": {
"type": "boolean",
"default": false,
"description": "True for commercial real estate; false for residential real estate."
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]+$",
"maxLength": 100,
"minLength": 8,
"description": "Stable unique key for this publish request; reuse it when retrying."
},
"transactionType": {
"enum": [
"ForSale",
"ForLease"
],
"type": "string",
"description": "Whether the property is offered for sale or lease."
}
},
"additionalProperties": false
}