{"apiVersion":"v1","directorySlug":"housingfax-mcp-baa70a7e6c","title":"HOUSINGFAX","description":"Buying property in Spain? One property report, 22 checks on official sources: building, aluminosis, risks, price. PDF in minutes, free, no sign-up.","pageUrl":"https://www.mcpbundles.com/skills/housingfax-mcp-baa70a7e6c","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://housingfax.com/mcp","hostedMcpUrl":null,"toolCount":8,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.housingfax/housingfax-mcp-baa70a7e6c","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_products","description":"Returns the HOUSINGFAX report for a home in Spain (productMode free): a single product, the full report with web view and PDF, free of charge, with the building condition assessment when the building has an IEE/ITE record. Also returns the report limits and the consent text (with its SHA-256) that the person must accept before create_free_report. Use it when someone asks what HOUSINGFAX offers or before ordering. Always tell the person: it is a preliminary, automated report built from public rec","inputSchema":{"type":"object","properties":{"language":{"enum":["es","en","de","nl","fr"],"type":"string","default":"es"}},"additionalProperties":false},"title":"Get the HOUSINGFAX report and its consent text","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_products","displayName":"Get the HOUSINGFAX report and its consent text"},{"name":"list_checks","description":"Lists the 22 numbered checks of the report (title, question it answers and whether its source is integrated yet) and the meaning of the ✓ / ⚠ / ○ marks. Use it to explain what the report looks at. Checks marked pending_integration show as ○ no data, never as a negative result. Always tell the person: it is a preliminary, automated report built from public records, not a technical inspection, valuation, certificate, safety assessment or legal advice; probabilities are given as words (very low to","inputSchema":{"type":"object","properties":{"language":{"enum":["es","en","de","nl","fr"],"type":"string","default":"es"}},"additionalProperties":false},"title":"List the checks of the HOUSINGFAX report","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_checks","displayName":"List the checks of the HOUSINGFAX report"},{"name":"check_coverage","description":"Says whether HOUSINGFAX can produce a report for a province (name or two-digit INE code) and, optionally, finds the municipality in the official street directory. Status covered, not_yet_covered (Navarra: foral adapter pending) or unrecognized; not_yet_covered never means no risk. In the Basque Country (Araba, Bizkaia, Gipuzkoa) the report covers the whole building, not a single flat. municipalityLookup unavailable means the directory did not answer: unknown, not missing. Call it before search_a","inputSchema":{"type":"object","properties":{"language":{"enum":["es","en","de","nl","fr"],"type":"string","default":"es"},"province":{"type":"string","maxLength":80,"minLength":1},"municipality":{"type":"string","maxLength":80,"minLength":2}},"additionalProperties":false},"title":"Check whether a Spanish province or municipality is covered","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_coverage","displayName":"Check whether a Spanish province or municipality is covered"},{"name":"search_address","description":"Two steps to build an address. kind=municipality with provinceCode and q returns municipalities and their codes. kind=street with provinceCode, municipalityDgcCode, municipalityIneCode (from the first step) and q returns streets with streetTypeCode and streetCode (and localityId in the Basque Country). Pass the chosen street, the house number and the codes to resolve_building. Only for places check_coverage reports as covered. Do not store or publish the address.","inputSchema":{"type":"object","required":["kind","provinceCode","q"],"properties":{"q":{"type":"string","maxLength":80,"minLength":1},"kind":{"enum":["municipality","street"],"type":"string"},"language":{"enum":["es","en","de","nl","fr"],"type":"string","default":"es"},"provinceCode":{"type":"string","pattern":"^\\d{2}$"},"streetTypeCode":{"type":"string","pattern":"^[A-Z0-9]{1,4}$"},"municipalityDgcCode":{"type":"string","pattern":"^\\d{1,3}$"},"municipalityIneCode":{"type":"string","pattern":"^\\d{3}$"}},"additionalProperties":false},"title":"Search a municipality or street in the official directory","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_address","displayName":"Search a municipality or street in the official directory"},{"name":"resolve_building","description":"Identifies the building from an address found with search_address (object address) or from a cadastral reference (14 characters = building or plot; 18 or 20 = a single flat). Give either cadastralReference or address, not both. status resolved returns a resolutionToken (valid 15 minutes) for create_free_report, the building's public cadastral data and whether an IEE/ITE record exists (ieeAvailability; unverified means the registry did not answer, not that there is none), which decides whether th","inputSchema":{"type":"object","properties":{"scope":{"type":"string","const":"building"},"address":{"type":"object","required":["provinceCode","municipalityDgcCode","municipalityIneCode","streetTypeCode","streetCode","number"],"properties":{"door":{"type":"string","pattern":"^[\\p{L}\\p{N}/ .-]+$","maxLength":16,"minLength":1},"block":{"type":"string","pattern":"^[\\p{L}\\p{N}/ .-]+$","maxLength":16,"minLength":1},"floor":{"type":"string","pattern":"^[\\p{L}\\p{N}/ .-]+$","maxLength":16,"minLength":1},"stair":{"type":"string","pattern":"^[\\p{L}\\p{N}/ .-]+$","maxLength":16,"minLength":1},"number":{"type":"string","pattern":"^[\\p{L}\\p{N}/ -]+$","maxLength":16,"minLength":1},"localityId":{"type":"string","pattern":"^[0-9]{14}$"},"streetCode":{"type":"string","pattern":"^[A-Z0-9]{1,15}$"},"provinceCode":{"type":"string","pattern":"^\\d{2}$"},"streetTypeCode":{"type":"string","pattern":"^[A-Z0-9]{1,4}$"},"municipalityDgcCode":{"type":"string","pattern":"^\\d{1,3}$"},"municipalityIneCode":{"type":"string","pattern":"^\\d{3}$"}},"additionalProperties":false},"language":{"enum":["es","en","de","nl","fr"],"type":"string","default":"es"},"cadastralReference":{"type":"string","pattern":"^[A-Z0-9]{14}([A-Z0-9]{4}|[A-Z0-9]{6})?$"}},"additionalProperties":false},"title":"Identify the building or flat to report on","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"resolve_building","displayName":"Identify the building or flat to report on"},{"name":"create_free_report","description":"Queues the report for the building resolved with resolve_building and returns a private link (previewUrl) and a statusToken for get_report_status. Every report is free: it is the full report with PDF, with the building condition assessment when the building has an IEE/ITE record, generated in minutes. CONSENT: before calling, show the person the consent text returned by get_products (consent.text, same language) with its terms and privacy links, and set consent=true only if the person has explic","inputSchema":{"type":"object","required":["resolutionToken","consent","consentStatementSha256"],"properties":{"email":{"type":"string","pattern":"^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$","maxLength":254,"minLength":6},"consent":{"type":"boolean","const":true},"language":{"enum":["es","en","de","nl","fr"],"type":"string","default":"es"},"resolutionToken":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$"},"consentStatementSha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"additionalProperties":false},"title":"Create the HOUSINGFAX report (private link)","logicalName":"create_free_report","displayName":"Create the HOUSINGFAX report (private link)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_report_status","description":"Returns the status of a report created with create_free_report: queued, in_progress, ready, failed or expired, with the private link when ready. Wait pollAfterSeconds between calls. withLimitations=true means some source did not answer and its check shows ○ no data with the reason (unknown, not negative). Give the link only to the person.","inputSchema":{"type":"object","required":["jobId","statusToken"],"properties":{"jobId":{"type":"string","pattern":"^scr_[A-Za-z0-9_-]{22}$"},"language":{"enum":["es","en","de","nl","fr"],"type":"string","default":"es"},"statusToken":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}\\.[A-Za-z0-9_-]{43}$"}},"additionalProperties":false},"title":"Get the status of a HOUSINGFAX report","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_report_status","displayName":"Get the status of a HOUSINGFAX report"},{"name":"purchase_report","description":"Not available: every report is free; use create_free_report. This tool stays in the contract for compatibility and answers NOT_FOR_SALE without creating anything.","inputSchema":{"type":"object","required":["tier","email","consent","consentStatementSha256","termsVersion","acceptTerms","waiveWithdrawalRight"],"properties":{"tier":{"enum":["simple","complete"],"type":"string"},"email":{"type":"string","pattern":"^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$","maxLength":254,"minLength":6},"consent":{"type":"boolean","const":true},"language":{"enum":["es","en","de","nl","fr"],"type":"string","default":"es"},"freeReport":{"type":"object","required":["jobId","statusToken"],"properties":{"jobId":{"type":"string","pattern":"^scr_[A-Za-z0-9_-]{22}$"},"statusToken":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}\\.[A-Za-z0-9_-]{43}$"}},"additionalProperties":false},"acceptTerms":{"type":"boolean","const":true},"termsVersion":{"type":"string","maxLength":16,"minLength":1},"resolutionToken":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$"},"waiveWithdrawalRight":{"type":"boolean","const":true},"consentStatementSha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"additionalProperties":false},"title":"Not available: every HOUSINGFAX report is free","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"purchase_report","displayName":"Not available: every HOUSINGFAX report is free"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=HOUSINGFAX&config=eyJ1cmwiOiAiaHR0cHM6Ly9ob3VzaW5nZmF4LmNvbS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22HOUSINGFAX%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fhousingfax.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22HOUSINGFAX%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fhousingfax.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=HOUSINGFAX&connectorUrl=https%3A%2F%2Fhousingfax.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"HOUSINGFAX\" --url \"https://housingfax.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/housingfax-mcp-baa70a7e6c","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/housingfax-mcp-baa70a7e6c/tools/{tool}","mcpServerUrl":"https://housingfax.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/housingfax-mcp-baa70a7e6c?live=1"}