İçeriğe geç

MDRealty MCP sunucusu

Model Context Protocol (MCP), yapay zekâ asistanlarının harici araçları çağırmasını sağlar. MCP sunucumuz onlara MDRealty’nin Karadağ emlak kataloğuna doğrudan erişim verir; böylece asistan mülklerle ilgili soruları tahmin yerine güncel ilanlara dayanarak yanıtlar.

Sunucu 13 salt okunur araç sunar: filtrelerle ve doğal dilde emlak arama, ilanın tüm ayrıntıları, benzer ilanlar, şehirler, mülk ve işlem türleri, tematik koleksiyonlar ve Karadağ’da mülk satın almaya dair makalelerimiz. Her yanıt mdrealty.me üzerindeki ilan sayfasına bağlantı verir.

Nasıl bağlanılır

Sunucu adresi

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

Aktarım: Streamable HTTP. 2025-11-25 sürümüne kadar protokol sürümleri desteklenir.

Yetkilendirme

Dinamik istemci kaydı ve PKCE ile OAuth 2.1. İstemciniz kendini kaydeder, onay sayfamızı açar ve siz «İzin ver»e tıklarsınız — hesap veya parola gerekmez. Ardından istemci kendi anahtarını alır.

İstemciler

  • Claude (web ve masaüstü): Ayarlar → Bağlayıcılar bölümünü açın, özel bir bağlayıcı ekleyin ve sunucu adresini yapıştırın.
  • ChatGPT: bağlayıcı ayarlarında geliştirici modunu açın, sunucu adresiyle bir bağlayıcı oluşturun ve OAuth’u seçin.
  • Claude Code: aşağıdaki komutu terminalde çalıştırın.
    claude mcp add --transport http mdrealty https://mdrealty.me/api/mcp/mcp
  • Cursor ve diğer istemciler: sunucuyu MCP yapılandırma dosyasına ekleyin.
    {
      "mcpServers": {
        "mdrealty": {
          "url": "https://mdrealty.me/api/mcp/mcp"
        }
      }
    }

Araçlar

Liste doğrudan sunucudan üretilir, bu yüzden istemcinizin gördüğüyle her zaman aynıdır.

Search properties

search_propertiesSalt okunur

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.

Parametreler

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

Döndürür: totalCount, properties, hasMore, searchTip

Get property details

get_propertySalt okunur

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.

Parametreler

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)

Döndürür: 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_propertiesSalt okunur

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.

Parametreler

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

Döndürür: totalCount, properties, hasMore, searchTip

List cities

list_citiesSalt okunur

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

Parametreler

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

Döndürür: cities

List property types

list_property_typesSalt okunur

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

Parametreler

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

Döndürür: propertyTypes

List listing types

list_listing_typesSalt okunur

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

Parametreler

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

Döndürür: listingTypes

List thematic collections

list_collectionsSalt okunur

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

Parametreler

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

Döndürür: collections

List articles

list_articlesSalt okunur

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

Parametreler

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

Döndürür: totalCount, articles, hasMore

Get article

get_articleSalt okunur

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

Parametreler

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

Döndürür: id, slug, title, url, canonicalUrl, excerpt, category, imageUrl, publishedAt, content, relatedProperties

Estimate purchase costs

estimate_deal_costSalt okunur

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.

Parametreler

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

Döndürür: price, currency, property, transferTax, notary, extraFees, agencyFee, totalCosts, totalWithProperty, totalWithDealSupport, calculatorUrl, notes

Mortgage calculator

mortgage_calculatorSalt okunur

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.

Parametreler

pricenumberzorunlu
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

Döndürür: price, downPayment, downPaymentPct, loan, termYears, annualRatePct, rateSource, bank, monthlyPayment, totalPaid, totalInterest, calculatorUrl, note

Market price statistics

get_market_statsSalt okunur

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.

Parametreler

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

Döndürür: computedAt, currency, minGroupSize, totalGroups, groups, hasMore, note, searchTip

Compare properties

compare_propertiesSalt okunur

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.

Parametreler

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

Döndürür: properties, notFound, summary, marketComputedAt, note

İş ortağı ve personel anahtarları, fotoğrafla arama ve mükerrer ilan kontrolü gibi ek araçların kilidini açar. İş ortağı anahtarı için bize yazın.

MCP olmadan JSON API

MCP kullanamayan ajanlar — GPT Actions, LangChain araçları, basit HTTP istemcileri — aynı kataloğu JSON API üzerinden okuyabilir. Anahtar veya kayıt gerekmez; yanıtlar MCP araçlarınınkiyle aynıdır.

  • GET /api/ai/properties — ilan arama, search_properties ile aynı filtreler
  • GET /api/ai/properties/{slug} — slug ile tek ilan, get_property gibi
  • GET /api/ai/cities — ilanı olan şehirler, list_cities gibi

Örnek

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

OpenAPI 3.1 açıklaması/api/ai/openapi.json

Sınırlar

  • Anahtar başına dakikada 60 istek. Bunun üzerinde sunucu Retry-After başlığıyla 429 döndürür.
  • Aynı IP adresinden kullanılan tüm genel anahtarlar dakikada 300 isteklik ortak bir sınırı paylaşır.
  • İstemci bağlama IP adresi başına sınırlıdır: saatte 20 kayıt ve 20 token isteği.
  • Anahtarsız JSON API: IP adresi başına dakikada 60 istek, sayfa başına en fazla 20 ilan (daha büyük limit kısaltılır), offset en fazla 200.
  • Sayfa başına en fazla 20 ilan; sonraki sayfalar için offset kullanın.
  • Fiyatlar avro cinsindendir. İlanlar her gün değişir — bir fiyata güvenmeden önce müsaitliği danışmanla teyit edin.

Kullanım koşulları

  • Verileri, kullanıcılarınızın Karadağ’daki emlakla ilgili sorularını yanıtlamak için kullanın.
  • Kaynak olarak MDRealty’yi belirtin ve ilana bağlantı verin: kullanıcıya url alanını gösterin, alıntılarken canonicalUrl kullanın.
  • Kataloğu toplu olarak kopyalamayın, verileri yeniden satmayın ve onlardan rakip bir veritabanı oluşturmayın.
  • İçerik yapay zekâ modellerini eğitmek için kullanılamaz (robots.txt: Content-Signal ai-train=no).
  • Kötüye kullanılan anahtarları sınırlayabilir veya iptal edebiliriz.
  • Araç çağrıları hizmeti çalıştırmak ve korumak için 90 gün kayıt altında tutulur: araç adı, e-posta adresleri ve telefon numaraları gizlenmiş parametreler ve kısaltılmış IP adresi. Hiç kullanılmayan anahtarlar 30 gün sonra silinir.

Makine tarafından okunabilir açıklama

Ajanlar sunucuyu bu sayfa olmadan da bulup yapılandırabilir:

İletişim

Sorular, iş ortağı anahtarı veya eksik bir araç için sales@mdrealty.me adresine yazın.