Hotyata

com.hotyataPublished by hotyata.comOfficial publisherv1.0.0Updated Nov 7, 2026

Real estate and classifieds in Batumi & Tbilisi with rooftop geocoding and duplicate detection.

VerifiedStreamable HTTPWeb executableLocation & LifestyleData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for searching real estate listings, residential complexes and secondhand classifieds in Batumi and Tbilisi, with market statistics.

What you can do
  • Search verified property listings and residential complexes with prices, area, rooms, renovation and construction details
  • Get full property and complex profiles, including seller contacts, photo URLs and coordinates
  • Compute market statistics grouped by district, rooms, seller type, renovation or construction stage
  • Search deduplicated secondhand marketplace items aggregated from Telegram channels and read item details
  • Run multi-step JavaScript queries against the server's SDK in a sandboxed code mode
  • Report data inaccuracies, stale listings or spam
When to use it
Useful when an assistant needs to research property prices or availability in Batumi or Tbilisi, compare districts or developments, or look up secondhand goods listed in local Telegram channels.
Requirements
A remote streamable HTTP endpoint; no package, environment variables or headers are declared. No authentication is declared.
Before you install
Property details include seller phone numbers and contact information, and item details include seller usernames and original Telegram message links, so personal data may be surfaced. The code mode executes JavaScript in a sandbox with SDK access. The report tool sends feedback to the provider.

Installation

In SourceWeft

  1. Open Hotyata in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.hotyata%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "hotyata": {
      "type": "http",
      "url": "https://hotyata.com/mcp"
    }
  }
}

Tools

9

search_real_estate

Search verified real estate listings in Batumi and Tbilisi (apartments, houses, commercial). <hints> - Returns compact objects with price_usd, price_sqm_usd, area_sqm, rooms, renovation_status, construction_stage, seller_type, heating_type, gas_status, is_heritage_zone, cadastral_code, year_built, developer_name, sea_view, distance_to_sea_m, has_gas, pets_allowed, no_summer_increase, address, latitude, longitude, photos, source_url, and canonical_url. - Geo search: Use bbox='min_lng,min_lat,max_lng,max_lat' or [min_lng, min_lat, max_lng, max_lat] to search within a map rectangle. - Batumi districts: 'Old Batumi', 'Rustaveli', 'Khimshiashvili' (New Boulevard), 'Bagrationi', 'Javakhishvili', 'Agmashenebeli', 'Airport', 'Tamar', 'Makhinjauri', 'Gonio', 'Kvariati', 'Chakvi', 'Kobuleti'. - Tbilisi districts: 'Vake', 'Saburtalo', 'Vera', 'Mtatsminda', 'Chugureti' (Marjanishvili), 'Didube', 'Avlabari', 'Ortachala', 'Isani', 'Samgori', 'Gldani', 'Didi Dighomi', 'Old Tbilisi'. - Use sort='cheapest' or 'cheapest_sqm' to find the best deals without fetching multiple pages. - Use fields=['id','title','price_usd','price_sqm_usd','area_sqm','district','canonical_url'] to minimize token usage. - Filter by source channel/portal/group using sources=['facebook marketplace'], ['ss.ge', 'myhome.ge'], ['@batumiarendachat'], or Facebook group URLs ['https://www.facebook.com/groups/278563704483455/']. Unmonitored sources return an error. </hints>

Parametersbboxcitypagesortlimitqueryroomsfieldshas_gassourcescurrencydistrict+30 more

get_real_estate_stats

Aggregate real estate market statistics (count, average & median price USD, average & median price per sqm USD, min/max price, average area) grouped by district, renovation_status, construction_stage, rooms, seller_type, or complex. <hints> - Ideal for market analytics: comparing prices across city districts, or comparing 'black_frame' vs 'white_frame' vs 'renovated' vs 'off_plan' (katlavan). - Supports all search_real_estate filters (city, deal_type, district, renovation_status, construction_stage, rooms, has_gas, etc.) to slice the market before grouping. </hints>

Parameterscityroomshas_gasdistrictgroup_bydeal_typeseller_typeexclude_orbiproperty_typerenovation_statusconstruction_stage

get_property_details

Get complete specifications, full description, seller contact info (phone, contacts, source_url), photo URLs, rooftop coordinates, and complex affiliation for one or up to 15 properties in a single call.

Parametersproperty_idproperty_ids

search_complexes

Search residential developments and new building projects with developer details, delivery status, coordinates, distance to sea, and gas availability.

Parameterscitylimitqueryfieldshas_gasdistrictdelivery_yearmax_distance_to_sea

get_complex_details

Get detailed profile of one or up to 15 residential complexes including developer name, delivery year, address, rooftop coordinates, and counts & sample active properties currently for sale and rent.

Parameterscomplex_idcomplex_ids

search_classified_items

Search deduplicated secondhand marketplace goods (electronics, monitors, routers, keyboards, heaters, furniture, vehicles, household items) aggregated across Telegram channels in Batumi and Tbilisi. <hints> - Powered by multilingual synonym expansion + semantic vector search: English queries (e.g. '4K monitor', 'WiFi router', 'electric heater', 'mechanical keyboard') automatically match Russian, English, and Georgian ads. - Avoid overly restrictive 'category' values unless needed; keyword query alone searches across all categories with hybrid semantic ranking. - Use sort='cheapest' to find lowest-priced items. </hints>

Parameterscitypagesortlimitqueryfieldsintentcategorycurrencymax_pricemin_price

get_item_details

Get details for one or up to 15 secondhand classified items including full description, photo gallery, seller username, and original Telegram message link.

Parametersitem_iditem_ids

execute_code_mode

Execute a JavaScript snippet inside an isolated QuickJS WASM sandbox with direct synchronous/async access to the Hotyata SDK (`sdk`). Use this "MCP Code Mode" tool whenever you need to run multi-step queries, compare multiple categories/districts/stages, join complexes with properties, filter or aggregate results, and return only a compact final summary in a single round-trip. Available global `sdk` methods inside your script (can be called with or without `await`): - `sdk.searchProperties(params)` -> `{ total, page, limit, properties: [...] }` - `sdk.getPropertyStats(params)` -> `{ city, deal_type, group_by, total_matching_listings, groups: [...] }` - `sdk.getProperty(idOrArrayOfIds)` -> property details object or `{ properties: [...] }` - `sdk.searchComplexes(params)` -> `{ total, page, limit, complexes: [...] }` - `sdk.getComplex(idOrArrayOfIds)` -> complex details object or `{ complexes: [...] }` - `sdk.searchItems(params)` -> `{ total, page, limit, items: [...] }` - `sdk.getItem(idOrArrayOfIds)` -> item details object or `{ items: [...] }` <examples> // Example 1: Compare renovation status & off-plan (katlavan) sale dynamics in Batumi const byRenovation = sdk.getPropertyStats({ city: "batumi", deal_type: "sale", group_by: "renovation_status" }); const byStage = sdk.getPropertyStats({ city: "batumi", deal_type: "sale", group_by: "construction_stage" }); return { byRenovation: byRenovation.groups, byStage: byStage.groups }; // Example 2: Multi-search classifieds and return top 3 cheapest per item type const queries = ["4K monitor", "router", "electric heater", "mechanical keyboard"]; return queries.map(q => { const res = sdk.searchItems({ query: q, sort: "cheapest", limit: 3 }); return { query: q, total: res.total, cheapest: res.items.map(i => ({ id: i.id, title: i.title, price_gel: i.price_gel, price_usd: i.price_usd, url: i.canonical_url })) }; }); </examples> <hints> - Write a function body ending with a `return ...;` statement. - Maximum 15 SDK calls p

Parameterscoderequired

report_issue

Report an issue with data accuracy, stale or off-market listings, incorrect coordinates, spam, or tool usability limitations. AI agents should call this when finding inaccuracies or when human users report off-market listings.

Parametersentity_identity_typerequiredexplanationrequiredagent_clientissue_categoryrequiredsource_context

Version history

1
  1. v1.0.0LatestNov 7, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.