{"name":"io.github.jonatanvazquez/propfacil","slug":"jonatanvazquez-propfacil","title":"PropFácil","description":"Search authorized real estate in Mexico and manage favorites and publishing with OAuth.","url":"https://mcp.market/server/jonatanvazquez-propfacil","rating":null,"grade":"B","score":77,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-08-21T20:31:01.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T06:10:29.871Z","last_ok_at":"2026-11-04T06:10:29.871Z","latency_ms":540},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/jonatanvazquez/propfacil-mcp","website":"https://www.propfacil.com/docs","version":"1.3.9","remotes":[{"type":"streamable-http","url":"https://www.propfacil.com/api/mcp"}],"packages":[],"tools":[{"name":"delete_property_list","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"listId":{"type":"string","minLength":1,"maxLength":100,"description":"Identifier of a favorite list owned by the authenticated user."}},"required":["listId"],"additionalProperties":false}},{"name":"get_property","description":"Use this when the user wants the details of one authorized PropFácil listing and has supplied a listingKey or ID from search_properties.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100,"description":"A listingKey or listing ID returned by search_properties."}},"required":["id"],"additionalProperties":false}},{"name":"get_property_contact","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100,"description":"A listingKey or listing ID returned by search_properties or get_property."}},"required":["id"],"additionalProperties":false}},{"name":"get_property_list","description":"Use this when an authenticated user wants to inspect one of their PropFácil favorite lists and its saved properties.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listId":{"type":"string","minLength":1,"maxLength":100,"description":"Identifier of a favorite list owned by the authenticated user."}},"required":["listId"],"additionalProperties":false}},{"name":"list_property_lists","description":"Use this when an authenticated user wants to see their PropFácil favorite lists. This returns only lists owned by the linked user.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"my_listings","description":"Use this when an authenticated user asks to review the property listings they published on PropFácil.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"publish_property","description":"Use this when an authenticated user explicitly asks to publish a property on PropFácil. This creates a private draft that goes public only after the user reviews and activates it on PropFácil at the returned confirmUrl. Safe to retry with the same idempotencyKey.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"idempotencyKey":{"type":"string","minLength":8,"maxLength":100,"pattern":"^[A-Za-z0-9._:-]+$","description":"Stable unique key for this publish request; reuse it when retrying."},"transactionType":{"type":"string","enum":["ForSale","ForLease"],"description":"Whether the property is offered for sale or lease."},"price":{"type":"number","exclusiveMinimum":0,"maximum":500000000,"description":"Positive advertised price in the selected currency."},"currency":{"type":"string","enum":["MXN","USD"],"default":"MXN","description":"Currency used for the advertised price."},"title":{"type":"string","minLength":8,"maxLength":160,"description":"Public listing title shown to prospective buyers or tenants."},"description":{"type":"string","minLength":20,"maxLength":5000,"description":"Public, accurate description of the property."},"city":{"type":"string","minLength":2,"maxLength":120,"description":"Mexican city or municipality where the property is located."},"state":{"type":"string","maxLength":120,"description":"Mexican state where the property is located, when known."},"bedrooms":{"type":"integer","minimum":0,"maximum":100,"description":"Number of bedrooms; use zero only when the property has none."},"bathrooms":{"type":"number","minimum":0,"maximum":100,"description":"Number of bathrooms, including fractional half-bath values when applicable."},"areaSqm":{"type":"number","exclusiveMinimum":0,"maximum":10000000,"description":"Property area in square meters."},"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"WGS84 latitude for the property location."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"WGS84 longitude for the property location."},"isCommercial":{"type":"boolean","default":false,"description":"True for commercial real estate; false for residential real estate."}},"required":["idempotencyKey","transactionType","price","title","description","city"],"additionalProperties":false}},{"name":"remove_property_from_list","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"listId":{"type":"string","minLength":1,"maxLength":100,"description":"Identifier of a favorite list owned by the authenticated user."},"propertyId":{"type":"string","minLength":1,"maxLength":100,"description":"A listingKey for the saved property to remove."}},"required":["listId","propertyId"],"additionalProperties":false}},{"name":"rename_property_list","description":"Use this when an authenticated user asks to rename one of their PropFácil favorite lists.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listId":{"type":"string","minLength":1,"maxLength":100,"description":"Identifier of a favorite list owned by the authenticated user."},"name":{"type":"string","minLength":1,"maxLength":80,"description":"New name for the favorite list."}},"required":["listId","name"],"additionalProperties":false}},{"name":"render_property_results","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyIds":{"type":"array","minItems":1,"maxItems":12,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":100},"description":"Up to 12 listingKey values returned by search_properties."},"title":{"type":"string","minLength":1,"maxLength":100,"description":"Short user-facing heading for the rendered property selection."}},"required":["propertyIds"],"additionalProperties":false}},{"name":"restore_property_results","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"save_property_to_list","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"propertyId":{"type":"string","minLength":1,"maxLength":100,"description":"A listingKey returned by search_properties."},"listId":{"type":"string","minLength":1,"maxLength":100,"description":"Identifier of a favorite list owned by the authenticated user."},"listName":{"type":"string","minLength":1,"maxLength":80,"default":"Favoritos","description":"Name for a new favorite list; defaults to Favoritos."},"note":{"type":"string","maxLength":500,"description":"Optional private note stored with the saved property."}},"required":["propertyId"],"additionalProperties":false}},{"name":"search_properties","description":"Use this when the user wants to find authorized PropFácil property listings in Mexico by city, transaction type, price, bedrooms, or geographic radius.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"city":{"type":"string","minLength":1,"maxLength":120,"description":"Mexican city or municipality name explicitly requested by the user."},"transactionType":{"type":"string","enum":["ForSale","ForLease"],"description":"Listing operation: ForSale to buy or ForLease to rent."},"minPrice":{"type":"number","minimum":0,"description":"Minimum listing price in the listing currency."},"maxPrice":{"type":"number","minimum":0,"description":"Maximum listing price in the listing currency."},"minBedrooms":{"type":"integer","minimum":0,"maximum":100,"description":"Minimum number of bedrooms."},"near":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?,-?\\d+(?:\\.\\d+)?$","description":"Map center as lat,lng. Use only a location explicitly supplied by the user."},"radius":{"type":"number","minimum":100,"maximum":100000,"description":"Search radius in meters."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20,"description":"Maximum number of results to return."}},"additionalProperties":false,"dependentRequired":{"near":["radius"],"radius":["near"]}}}],"scan":{"score":77,"grade":"B","scanned_at":"2026-11-01T13:29:17.559Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-01T13:29:17.523Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 681ms"]},"poisoning":{"score":15,"max":15,"notes":["13 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 3 write-action tools with no auth"]},"maintenance":{"score":12,"max":15,"notes":["last push 72 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://www.propfacil.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":681,"serverInfo":{"name":"propfacil","version":"1.3.9"}}],"packages":[],"repo":{"found":true,"owner":"jonatanvazquez","repo":"propfacil-mcp","archived":false,"pushedAt":"2026-08-21T20:31:01Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/21322773?v=4","ownerCreatedAt":"2016-08-29T23:15:10Z","license":"MIT"},"icon":{"url":"https://www.propfacil.com/brand/propfacil-icon-512.png","source":"registry","width":512,"height":512},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-08-21T20:31:01.000Z","score":18}}}},"grade_history":[],"reviews":[]}