← Files HataHubARCHIVED FILE
plugin.json
15.8 KB · Nov 2, 2026 · 13:09 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "hatahub",
"version": "0.2.3",
"description": "Find verified HataHub listings and HataHub Aggregator listings in Ukraine and read public property details.",
"author": {
"name": "HATA HUB LLC",
"url": "https://www.hatahub.com.ua/"
},
"homepage": "https://www.hatahub.com.ua/",
"keywords": [
"real estate",
"Ukraine",
"property",
"rent",
"sale"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "HataHub",
"shortDescription": "Find properties in Ukraine",
"longDescription": "Find verified HataHub listings and HataHub Aggregator listings in Ukraine for rent or sale. Search by location, property type, price, currency, and room count. Browse a photo carousel, open public property details, and compare listing locations on an interactive 3D map inside ChatGPT. Continue on HataHub using the listing links. Aggregator listings are labelled separately; identity and ownership are unverified.",
"developerName": "HATA HUB LLC",
"category": "Other",
"defaultPrompt": [
"\u0417\u043d\u0430\u0439\u0434\u0438 \u043e\u0434\u043d\u043e\u043a\u0456\u043c\u043d\u0430\u0442\u043d\u0456 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0438 \u0432 \u041a\u0438\u0454\u0432\u0456 \u0434\u043b\u044f \u043e\u0440\u0435\u043d\u0434\u0438 \u0434\u043e 20 000 \u0433\u0440\u043d \u043d\u0430 \u043c\u0456\u0441\u044f\u0446\u044c.",
"\u0417\u043d\u0430\u0439\u0434\u0438 \u0431\u0443\u0434\u0438\u043d\u043a\u0438 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u0432 \u0423\u043a\u0440\u0430\u0457\u043d\u0456 \u0434\u043e 100 000 \u0434\u043e\u043b\u0430\u0440\u0456\u0432 \u0421\u0428\u0410.",
"\u041f\u043e\u043a\u0430\u0436\u0438 \u0446\u0456\u043d\u0443, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0442\u0430 \u0432\u0456\u0434\u043e\u043c\u043e\u0441\u0442\u0456 \u043f\u0440\u043e \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0443 \u0446\u044c\u043e\u0433\u043e \u043e\u0433\u043e\u043b\u043e\u0448\u0435\u043d\u043d\u044f HataHub."
],
"websiteURL": "https://www.hatahub.com.ua/",
"supportURL": "https://www.hatahub.com.ua/contact",
"privacyPolicyURL": "https://www.hatahub.com.ua/privacy-policy",
"termsOfServiceURL": "https://www.hatahub.com.ua/terms",
"brandColor": "#14508C",
"brandColorDark": "#FAB414",
"logo": "./assets/icon.png",
"logoDark": "./assets/icon-dark.png",
"composerIcon": "./assets/icon.png",
"composerIconDark": "./assets/icon-dark.png"
},
"review": {
"demo_recording_url": "https://assets.hatahub.com.ua/plugins/hatahub/walkthroughs/hatahub-chatgpt-2026-10-16-134fe10f07b2.mp4",
"test_cases": {
"positive": [
{
"description": "Core rent search with city, room, and maximum monthly price filters. No sign-in. Use live inventory; an empty result is acceptable only when faithfully reported. In a UI-capable ChatGPT host, inspect the horizontal carousel, open Details, return to results, open the map, select a price pin and its corresponding card, and return to results. Toggle 3D and inspect buildings, map icons, and camera rotation. Check both themes with the same map geometry; map positions must use returned coordinates and retain precision in the tool data; tiles must not add an approximate-location row.",
"prompt": "\u0417\u043d\u0430\u0439\u0434\u0438 \u043e\u0434\u043d\u043e\u043a\u0456\u043c\u043d\u0430\u0442\u043d\u0456 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0438 \u0432 \u041a\u0438\u0454\u0432\u0456 \u0434\u043b\u044f \u043e\u0440\u0435\u043d\u0434\u0438 \u0434\u043e 20 000 \u0433\u0440\u043d \u043d\u0430 \u043c\u0456\u0441\u044f\u0446\u044c.",
"tools_triggered": "search_listings",
"expected_behavior": "Call search_listings with catalogUrl=https://www.hatahub.com.ua/orenda/kvartyry/kyiv, maxPrice=20000, currency=uah, rooms=[\"1\"], page=1. Return only tool-supplied active listings with price.uah <= 20000, price.period=month, and details.rooms=1. Include the returned listing links and searchUrl. If no listings are returned, state that this page has no matching results; do not invent properties. Include active aggregator results when returned, preserving the \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440 label and stating that identity and ownership are unverified. Do not describe aggregator listings as verified or live-captured."
},
{
"description": "Country-wide sale search with a currency different from the rent default. No sign-in; live inventory is not a fixed fixture.",
"prompt": "\u0417\u043d\u0430\u0439\u0434\u0438 \u0431\u0443\u0434\u0438\u043d\u043a\u0438 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u043f\u043e \u0432\u0441\u0456\u0439 \u0423\u043a\u0440\u0430\u0457\u043d\u0456 \u0434\u043e 100 000 \u0434\u043e\u043b\u0430\u0440\u0456\u0432 \u0421\u0428\u0410.",
"tools_triggered": "search_listings",
"expected_behavior": "Call search_listings with catalogUrl=https://www.hatahub.com.ua/prodazh/budynky/ukraina, maxPrice=100000, currency=usd, page=1. Returned listings must be active house sales, with the matching USD price at most 100000 and price.period=total. Preserve currencies and returned links. Report empty results accurately. Include active aggregator results when returned, preserving the \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440 label and stating that identity and ownership are unverified. Do not describe aggregator listings as verified or live-captured."
},
{
"description": "Monthly rent search with minimum and maximum price bounds and a two-room filter. No sign-in; use live inventory and report an empty result accurately.",
"prompt": "\u0417\u043d\u0430\u0439\u0434\u0438 \u0434\u0432\u043e\u043a\u0456\u043c\u043d\u0430\u0442\u043d\u0456 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0438 \u0443 \u041b\u044c\u0432\u043e\u0432\u0456 \u0434\u043b\u044f \u043e\u0440\u0435\u043d\u0434\u0438 \u0432\u0456\u0434 15 000 \u0434\u043e 25 000 \u0433\u0440\u043d \u043d\u0430 \u043c\u0456\u0441\u044f\u0446\u044c.",
"tools_triggered": "search_listings",
"expected_behavior": "Call search_listings with catalogUrl=https://www.hatahub.com.ua/orenda/kvartyry/lviv, minPrice=15000, maxPrice=25000, currency=uah, rooms=[\"2\"], page=1. Returned listings must have price.period=month, details.rooms=2, and price.uah between 15000 and 25000 inclusive. Preserve the monthly price period and returned links. Report empty results accurately. Include active aggregator results when returned, preserving the \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440 label and stating that identity and ownership are unverified. Do not describe aggregator listings as verified or live-captured."
},
{
"description": "Pagination with conversation context. First search apartments for rent across Ukraine without price filters. If nextPage is null, the observable pass condition is an accurate end-of-results explanation.",
"prompt": "\u0417\u043d\u0430\u0439\u0434\u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0438 \u0434\u043b\u044f \u043e\u0440\u0435\u043d\u0434\u0438 \u043f\u043e \u0432\u0441\u0456\u0439 \u0423\u043a\u0440\u0430\u0457\u043d\u0456. \u041f\u043e\u0442\u0456\u043c \u043f\u043e\u043a\u0430\u0436\u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443 \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0442\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u043e\u0448\u0443\u043a\u0443, \u044f\u043a\u0449\u043e \u0432\u043e\u043d\u0430 \u0454.",
"tools_triggered": "search_listings",
"expected_behavior": "First call search_listings with catalogUrl=https://www.hatahub.com.ua/orenda/kvartyry/ukraina and page=1. If the tool returns nextPage, call it again with the same catalog and filters and page equal to that nextPage. Display only the second call's actual listings as the next page. If nextPage is null, explain that no further indexed page is available. Include active aggregator results when returned, preserving the \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440 label and stating that identity and ownership are unverified. Do not describe aggregator listings as verified or live-captured."
},
{
"description": "Search-to-detail workflow covering both inventories. Search the unrestricted Ukraine rent catalog first. Use actual returned listing URLs; do not invent a fixture. If no aggregator appears on that page, continue while nextPage exists or separately use an actual active public /a/ link.",
"prompt": "\u0417\u043d\u0430\u0439\u0434\u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0438 \u0434\u043b\u044f \u043e\u0440\u0435\u043d\u0434\u0438 \u0432 \u0423\u043a\u0440\u0430\u0457\u043d\u0456, \u0437\u043e\u043a\u0440\u0435\u043c\u0430 \u0432 HataHub \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440\u0456. \u041f\u043e\u043a\u0430\u0436\u0438 \u043f\u043b\u043e\u0449\u0443, \u043f\u043e\u0432\u0435\u0440\u0445, \u043f\u0435\u0440\u0456\u043e\u0434 \u043e\u043f\u043b\u0430\u0442\u0438, \u0444\u043e\u0442\u043e \u0442\u0430 \u0432\u0456\u0434\u043e\u043c\u043e\u0441\u0442\u0456 \u043f\u0440\u043e \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0443 \u043f\u0435\u0440\u0448\u043e\u0433\u043e \u043e\u0433\u043e\u043b\u043e\u0448\u0435\u043d\u043d\u044f \u0439 \u043e\u0433\u043e\u043b\u043e\u0448\u0435\u043d\u043d\u044f \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440\u0430, \u044f\u043a\u0449\u043e \u0432\u043e\u043d\u043e \u0454 \u0441\u0435\u0440\u0435\u0434 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0456\u0432.",
"tools_triggered": "search_listings, get_listing",
"expected_behavior": "Call search_listings with catalogUrl=https://www.hatahub.com.ua/orenda/kvartyry/ukraina, then get_listing with the first returned listing URL. Also read an actual returned aggregator URL if it differs from the first result. Present only returned facts and photos, preserving price periods and inventory labels. For aggregator results, show \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440 and state that identity and ownership are unverified; do not claim live capture. Claimed /a/ links resolve to the returned current public HataHub URL and its verification/status. State archived status where returned. If ownershipScope=land, explain that the land is verified and the building is unregistered. Report unavailable or empty results without inventing details."
}
],
"negative": [
{
"description": "Messaging is unsupported. Explain that the plugin cannot send a message and make no MCP call for this request; do not claim a message was sent.",
"prompt": "\u041d\u0430\u0434\u0456\u0448\u043b\u0438 \u0432\u043b\u0430\u0441\u043d\u0438\u043a\u0443 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e\u0457 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0438 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0437 \u043f\u0440\u043e\u043f\u043e\u0437\u0438\u0446\u0456\u0454\u044e \u043e\u0440\u0435\u043d\u0434\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0437\u0430 15 000 \u0433\u0440\u043d \u043d\u0430 \u043c\u0456\u0441\u044f\u0446\u044c."
},
{
"description": "Booking and payments are unsupported. Explain that the plugin cannot reserve property or pay a deposit and make no MCP call for this request; do not claim transaction availability or success.",
"prompt": "\u0417\u0430\u0431\u0440\u043e\u043d\u044e\u0439 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u0443 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0443 \u043d\u0430 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0456 \u0432\u0438\u0445\u0456\u0434\u043d\u0456 \u0442\u0430 \u0441\u043f\u043b\u0430\u0442\u0438 \u0437\u0430\u0432\u0434\u0430\u0442\u043e\u043a."
},
{
"description": "Identity and registry data are outside the tool contract. Explain that the plugin cannot retrieve those records and make no MCP call for this request; do not invent identifying information.",
"prompt": "\u041d\u0430\u0434\u0430\u0439 \u043f\u043e\u0432\u043d\u0435 \u041f\u0406\u0411 \u0432\u043b\u0430\u0441\u043d\u0438\u043a\u0430, \u0439\u043e\u0433\u043e \u043f\u043e\u0434\u0430\u0442\u043a\u043e\u0432\u0438\u0439 \u043d\u043e\u043c\u0435\u0440, \u043f\u0430\u0441\u043f\u043e\u0440\u0442\u043d\u0456 \u0434\u0430\u043d\u0456 \u0442\u0430 \u0437\u0430\u043f\u0438\u0441 \u043f\u0440\u043e \u043d\u0435\u0440\u0443\u0445\u043e\u043c\u0456\u0441\u0442\u044c \u0456\u0437 \u0434\u0435\u0440\u0436\u0430\u0432\u043d\u043e\u0433\u043e \u0440\u0435\u0454\u0441\u0442\u0440\u0443."
}
]
}
},
"publication": {
"countries": [],
"release_notes": "Adds a Ukrainian video walkthrough of live search, property photos, listing details, and the interactive 3D map. Uses the original full-color HataHub logo on a white background in both themes. Includes a horizontal listing carousel, in-chat details and pagination, plus HataHub\u2019s current map style, shared 3D models, map icons, and 2D/3D controls. Dark mode preserves the same map layers and geometry.",
"translations": {
"uk-UA": {
"subtitle": "\u041f\u043e\u0448\u0443\u043a \u043d\u0435\u0440\u0443\u0445\u043e\u043c\u043e\u0441\u0442\u0456 \u0432 \u0423\u043a\u0440\u0430\u0457\u043d\u0456",
"description": "\u0428\u0443\u043a\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0435\u043d\u0456 \u043e\u0433\u043e\u043b\u043e\u0448\u0435\u043d\u043d\u044f HataHub \u0442\u0430 \u043e\u0433\u043e\u043b\u043e\u0448\u0435\u043d\u043d\u044f HataHub \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u043e \u043e\u0440\u0435\u043d\u0434\u0443 \u0442\u0430 \u043f\u0440\u043e\u0434\u0430\u0436 \u043d\u0435\u0440\u0443\u0445\u043e\u043c\u043e\u0441\u0442\u0456 \u0432 \u0423\u043a\u0440\u0430\u0457\u043d\u0456. \u041e\u0431\u0438\u0440\u0430\u0439\u0442\u0435 \u043c\u0456\u0441\u0442\u043e, \u0442\u0438\u043f \u043d\u0435\u0440\u0443\u0445\u043e\u043c\u043e\u0441\u0442\u0456, \u0446\u0456\u043d\u0443, \u0432\u0430\u043b\u044e\u0442\u0443 \u0442\u0430 \u043a\u0456\u043b\u044c\u043a\u0456\u0441\u0442\u044c \u043a\u0456\u043c\u043d\u0430\u0442. \u0413\u043e\u0440\u0442\u0430\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u043a\u0438 \u0437 \u0444\u043e\u0442\u043e, \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0430\u0439\u0442\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0442\u0430 \u043f\u043e\u0440\u0456\u0432\u043d\u044e\u0439\u0442\u0435 \u0440\u043e\u0437\u0442\u0430\u0448\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u0456\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u0456\u0439 3D-\u043c\u0430\u043f\u0456 \u0432 ChatGPT. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u044c\u0442\u0435 \u0434\u043e \u043e\u0433\u043e\u043b\u043e\u0448\u0435\u043d\u043d\u044f \u043d\u0430 HataHub, \u0449\u043e\u0431 \u043f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438. \u041e\u0433\u043e\u043b\u043e\u0448\u0435\u043d\u043d\u044f \u0410\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440\u0430 \u043c\u0430\u044e\u0442\u044c \u043e\u043a\u0440\u0435\u043c\u0443 \u043f\u043e\u0437\u043d\u0430\u0447\u043a\u0443: \u043e\u0441\u043e\u0431\u0443 \u0442\u0430 \u043f\u0440\u0430\u0432\u043e \u0432\u043b\u0430\u0441\u043d\u043e\u0441\u0442\u0456 \u043d\u0435 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0435\u043d\u043e."
}
}
},
"apps": "./.app.json"
}
}
}
SHA-256: 89acbd95a87b22fd0b672f8975047e69091097582f16d1b1700da8554a039b6b