Pređi na sadržaj

MDRealty MCP server

Model Context Protocol (MCP) omogućava AI asistentima da pozivaju spoljne alate. Naš MCP server im daje direktan pristup MDRealty katalogu nekretnina u Crnoj Gori, pa asistent odgovara na pitanja o nekretninama na osnovu aktuelnih oglasa, a ne nagađanjem.

Server nudi 13 alata samo za čitanje: pretragu nekretnina po filterima i upitu na prirodnom jeziku, kompletan oglas, slične nekretnine, gradove, vrste nekretnina i poslova, tematske kolekcije i naše članke o kupovini nekretnina u Crnoj Gori. Svaki odgovor vodi na stranicu oglasa na mdrealty.me.

Kako se povezati

Adresa servera

https://mdrealty.me/api/mcp/mcp

Transport: Streamable HTTP. Podržane su verzije protokola do 2025-11-25.

Autorizacija

OAuth 2.1 sa dinamičkom registracijom klijenta i PKCE. Klijent se sam registruje, otvara našu stranicu za saglasnost i Vi kliknete „Dozvoli” — nalog ni lozinka nisu potrebni. Klijent zatim dobija sopstveni ključ.

Klijenti

  • Claude (veb i aplikacija): otvorite Podešavanja → Konektori, dodajte prilagođeni konektor i nalepite adresu servera.
  • ChatGPT: uključite režim za programere u podešavanjima konektora, napravite konektor sa adresom servera i izaberite OAuth.
  • Claude Code: pokrenite komandu ispod u terminalu.
    claude mcp add --transport http mdrealty https://mdrealty.me/api/mcp/mcp
  • Cursor i drugi klijenti: dodajte server u MCP konfiguracionu datoteku.
    {
      "mcpServers": {
        "mdrealty": {
          "url": "https://mdrealty.me/api/mcp/mcp"
        }
      }
    }

Alati

Lista se generiše iz samog servera, pa se uvek poklapa sa onim što vidi Vaš klijent.

Search properties

search_propertiesSamo čitanje

Search real estate properties in Montenegro. Supports natural language queries like "apartment in Budva near the sea under 200k" or structured filters. Returns up to 20 properties with key details. Prices in EUR.

Parametri

querystring
Natural language search, e.g. "villa with pool in Tivat"
citySlugstring
City name or slug, e.g. "budva", "tivat", "kotor", "herceg-novi". Supports partial matching.
listingType"sale" | "rent" | "daily-rent"
Listing type: sale, rent (long-term), daily-rent (short-term). Default: sale
propertyTypestring
Type slug: apartments, houses, villas, land, business, offices, hotels, residential-complexes, luxury-complexes, exclusive
minPricenumber
Min price in EUR
maxPricenumber
Max price in EUR
bedroomsinteger
Minimum bedrooms
bathroomsinteger
Minimum bathrooms
minAreanumber
Min area in m²
maxAreanumber
Max area in m²
maxDistanceToSeanumber
Max distance to sea in meters
limitinteger
Results per page (max 20). Default: 10
offsetinteger
Skip N results for pagination. Default: 0
sort"relevance" | "price_asc" | "price_desc" | "area_asc" | "area_desc" | "newest" | "sea_distance"
Sort order. Default: relevance
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en

Vraća: totalCount, properties, hasMore, searchTip

Get property details

get_propertySamo čitanje

Get full details of a specific property by internal ID or slug. "propertyId" is the internal database ID, NOT the property number shown in titles (e.g. "Apartment in Budva No. 2584" has propertyId=2473, propertyNumber="2584"). Use slug for reliable lookups.

Parametri

propertyIdinteger
Internal database ID (the "id" field in search results), not the number shown in the title
slugstring
Property URL slug
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en
includeImageboolean
Also return the main photo inline as an image block. Default: false (photo URLs are always included)

Vraća: id, propertyNumber, slug, title, url, canonicalUrl, price, currency, priceFormatted, propertyType, listingType, city, district, area, bedrooms, bathrooms, distanceToSea, imageUrl, isVerified, excerpt, contactUrl, description, address, latitude, longitude, landArea, rooms, floor, totalFloors, yearBuilt, furnished, parking, features, galleryUrls, totalPhotos, virtualTourUrl, videoUrl, agent, pricePerSqm, isSuperPrice, isUrgent, isNew

Find similar properties

find_similar_propertiesSamo čitanje

Find properties similar to a given one. Uses AI embeddings to find visually and semantically similar listings. Great for "show me more like this" scenarios.

Parametri

propertyIdintegerobavezno
Reference property ID
limitinteger
Number of similar properties (max 12). Default: 6
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en

Vraća: totalCount, properties, hasMore, searchTip

List cities

list_citiesSamo čitanje

Get list of all cities where MDRealty has properties. Use city slugs from this list for the citySlug filter in search_properties.

Parametri

locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en

Vraća: cities

List property types

list_property_typesSamo čitanje

Get available property types (apartment, house, villa, land, etc.) with slugs for search filters.

Parametri

locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en

Vraća: propertyTypes

List listing types

list_listing_typesSamo čitanje

Get available listing types (sale, rent) with slugs for search filters.

Parametri

locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en

Vraća: listingTypes

List thematic collections

list_collectionsSamo čitanje

List available thematic property collections, e.g. "Beachfront Villas", "Investment Apartments". Curated groups of properties organized by theme.

Parametri

locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en
limitinteger
Max results. Default: 10

Vraća: collections

List articles

list_articlesSamo čitanje

List blog articles about Montenegro real estate. Covers buying guides, investment tips, area overviews, and market analysis.

Parametri

categorystring
Category slug to filter by
limitinteger
Max results. Default: 10
offsetinteger
Skip N results. Default: 0
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en

Vraća: totalCount, articles, hasMore

Get article

get_articleSamo čitanje

Get a blog article by slug or ID. Articles include guides about Montenegro locations, buying process, and investment advice.

Parametri

slugstring
Article URL slug
idinteger
Article ID
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Response language. Default: en

Vraća: id, slug, title, url, canonicalUrl, excerpt, category, imageUrl, publishedAt, content, relatedProperties

Estimate purchase costs

estimate_deal_costSamo čitanje

Authoritative purchase-cost calculator for Montenegro, the same as /tools/deal-cost-calculator on mdrealty.me: property transfer tax (PROGRESSIVE — 3% up to €150,000, 5% for €150,000–500,000, 6% above; a new build from a VAT-registered developer is exempt) and the notary fee by the official tariff (Sl. list CG 49/2026; +5% of the tariff per party beyond two, +€15 per court interpreter, cadastre filing, 21% VAT). Also returns the agency fee: none for a listing from the MDRealty catalog, a separate deal-support fee for a property found elsewhere. Pass a price, or propertyId/slug of a catalog listing to use its price. Always use this instead of computing taxes or fees yourself.

Parametri

pricenumber
Property price in EUR. Not needed when propertyId or slug is given.
propertyIdinteger
Internal ID of a catalog listing (the "id" field of search results) — its price is used
slugstring
Slug of a catalog listing — its price is used
dealSupportboolean
The property was found elsewhere and MDRealty is asked to handle the purchase. Ignored for catalog listings.
newBuildFromVatPayerboolean
New build bought from a VAT-registered developer — no transfer tax. Default: the listing's own exemption for a catalog listing, otherwise false
buyersinteger
People buying (spouses = 2, a company = 1). Default: 1
sellersinteger
People selling, same rule. Default: 1
interpretersinteger
Court interpreters at the signing, one per language. Default: 0
cadastreFilingboolean
The notary files the cadastre application. Default: true
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Language of the links. Default: en

Vraća: price, currency, property, transferTax, notary, extraFees, agencyFee, totalCosts, totalWithProperty, totalWithDealSupport, calculatorUrl, notes

Mortgage calculator

mortgage_calculatorSamo čitanje

Monthly mortgage payment for a property price in EUR — the same annuity calculation and defaults as /tools/mortgage-calculator on mdrealty.me: down payment 30%, 20 years, and unless a rate is given, the cheapest current bank rate for the borrower segment (5% when no bank rate is on file). Indicative only: bank terms in Montenegro differ.

Parametri

pricenumberobavezno
Property price in EUR
downPaymentPctnumber
Down payment as % of the price. Default: 30
downPaymentnumber
Down payment in EUR — overrides downPaymentPct
termYearsinteger
Loan term in years. Default: 20
annualRatePctnumber
Annual interest rate, %. Default: the cheapest current bank rate for the segment
segment"resident" | "non_resident_permit" | "non_resident" | "young" | "diaspora"
Borrower: resident, non_resident_permit (has a residence permit), non_resident, young, diaspora. Default: resident
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Language of the link. Default: en

Vraća: price, downPayment, downPaymentPct, loan, termYears, annualRatePct, rateSource, bank, monthlyPayment, totalPaid, totalInterest, calculatorUrl, note

Market price statistics

get_market_statsSamo čitanje

Asking-price statistics of real estate in Montenegro from the MDRealty catalog: number of active listings, price and price-per-m² quartiles (25th percentile, median, 75th) and median area — for the whole country, a city or a region, a property type and a deal type (sale, monthly rent, nightly rent). A region (e.g. budvanskaya-rivera) covers every town in it; city.isRegion marks it. Groups with fewer than 5 listings are not shown. Refreshed daily; computedAt says when. Use it to answer "how much does an apartment in Budva cost per m²" instead of guessing from search results.

Parametri

citySlugstring
City or region slug from list_cities ("budva" works too); omit for the whole country and every city
propertyTypestring
Property type slug from list_property_types, e.g. apartments; omit for all types
listingType"sale" | "rent" | "daily-rent"
sale, rent (monthly) or daily-rent (nightly). Default: all three
limitinteger
Groups to return, 1–200. Default: 50
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Language of city and type names. Default: en

Vraća: computedAt, currency, minGroupSize, totalGroups, groups, hasMore, note, searchTip

Compare properties

compare_propertiesSamo čitanje

Side-by-side comparison of 2–4 MDRealty listings: price, price per m², area, bedrooms, bathrooms, distance to the sea, city, year built and the listing page, plus how each price per m² compares with the market median for similar listings (the same figures as get_market_stats). Pass the ids from search results, or slugs.

Parametri

propertyIdsinteger[]
Internal IDs (the "id" field of search results), not the listing number in the title
slugsstring[]
Listing slugs
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"
Language of titles, names and links. Default: en

Vraća: properties, notFound, summary, marketComputedAt, note

Partnerski i službeni ključevi otključavaju dodatne alate, kao što su pretraga po fotografiji i provera duplikata. Za partnerski ključ nam se javite.

JSON API bez MCP-a

Agenti koji ne podržavaju MCP — GPT Actions, LangChain alati, obični HTTP klijenti — mogu da čitaju isti katalog preko JSON API-ja. Ključ i registracija nisu potrebni; odgovori su isti kao kod MCP alata.

  • GET /api/ai/properties — pretraga oglasa sa istim filterima kao search_properties
  • GET /api/ai/properties/{slug} — jedan oglas po slug-u, kao get_property
  • GET /api/ai/cities — gradovi sa oglasima, kao list_cities

Primer

curl "https://mdrealty.me/api/ai/properties?citySlug=budva&query=sea%20view&limit=5"

OpenAPI 3.1 opis/api/ai/openapi.json

Ograničenja

  • 60 zahteva u minuti po ključu. Iznad toga server odgovara sa 429 i zaglavljem Retry-After.
  • Svi javni ključevi sa jedne IP adrese dele zajednički limit od 300 zahteva u minuti.
  • Povezivanje klijenata ograničeno je po IP adresi: 20 registracija i 20 zahteva za token na sat.
  • JSON API bez ključa: 60 zahteva u minuti po IP adresi, do 20 oglasa po stranici (veći limit se skraćuje), offset najviše 200.
  • Do 20 oglasa po stranici; za sledeće stranice koristite offset.
  • Cene su u evrima. Oglasi se menjaju svakodnevno — pre nego što se oslonite na cenu, proverite dostupnost kod agenta.

Uslovi korišćenja

  • Koristite podatke da odgovarate na pitanja Vaših korisnika o nekretninama u Crnoj Gori.
  • Navedite MDRealty kao izvor i dajte link na oglas: korisniku prikažite polje url, a pri citiranju koristite canonicalUrl.
  • Ne kopirajte katalog masovno, ne preprodajte podatke i ne pravite od njih konkurentsku bazu.
  • Sadržaj se ne sme koristiti za treniranje AI modela (robots.txt: Content-Signal ai-train=no).
  • Možemo ograničiti ili opozvati ključeve koji se zloupotrebljavaju.
  • Pozivi alata čuvaju se u evidenciji 90 dana radi rada i zaštite servisa: naziv alata, parametri sa skrivenim e-mail adresama i brojevima telefona i skraćena IP adresa. Ključevi koji nikada nisu korišćeni brišu se posle 30 dana.

Mašinski čitljiv opis

Agenti mogu da pronađu i podese server i bez ove stranice:

Kontakt

Pitanja, partnerski ključ ili alat koji Vam nedostaje — pišite na sales@mdrealty.me.