For AI assistants & integrations

MCP tools — Gem Realty

This site exposes a public Model Context Protocol endpoint so AI assistants (Claude, ChatGPT, custom agents) can search our listings, complexes, buyer guides, and team — always fresh from the same database that powers the website.

Endpoint

URL
https://gemrealty.bg/mcp
Transport
Streamable HTTP (JSON-RPC 2.0)
Auth
None — public read-only data

Connect an assistant

Claude (web / desktop)

  1. Open Settings → Connectors → Add custom connector.
  2. Paste the endpoint URL: https://gemrealty.bg/mcp
  3. Save — the 7 tools below become available in chats.

ChatGPT (developer mode)

  1. Enable developer mode in Settings → Apps & Connectors.
  2. Create a new MCP connector with the endpoint URL above.

Any MCP client / curl

curl -X POST https://gemrealty.bg/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools

search_propertiesSearch properties for sale

Search active listings on the Bulgarian Black Sea coast with rich filters. Default sort: featured and discounted first, then newest.

ParameterTypeDescription
querystringKeyword in title/description, e.g. "sea view", "pool".
townstringSunny Beach, Sveti Vlas, Nesebar, Burgas, Sozopol…
typestringapartment, studio, maisonette, house, commercial.
roomsintegerNumber of rooms (0 = studio).
min_price_eurnumberMinimum price in EUR.
max_price_eurnumberMaximum price in EUR.
min_size_sqmnumberMinimum total area in m².
max_size_sqmnumberMaximum total area in m².
complexstringComplex slug from list_complexes — only units in that complex.
discounted_onlybooleanOnly listings with an active discount.
featured_onlybooleanOnly featured listings.
sortenumdefault | price_asc | price_desc | size_desc | newest.
limitinteger1–50 results (default 20).
{
  "jsonrpc": "2.0", "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_properties",
    "arguments": { "town": "Sunny Beach", "rooms": 2, "max_price_eur": 90000, "sort": "price_asc" }
  }
}
get_propertyGet property details

Full public detail for one listing: description, size, floor, features, furnishing, maintenance fee, complex, images.

ParameterTypeDescription
slug *stringProperty slug or id from search_properties.
{
  "jsonrpc": "2.0", "id": 1,
  "method": "tools/call",
  "params": { "name": "get_property", "arguments": { "slug": "6836" } }
}
list_complexesList residential complexes

Residential complexes Gem Realty sells in, filterable by town or keyword. Returns slugs for get_complex.

ParameterTypeDescription
querystringKeyword in complex name/description.
townstringTown or resort filter.
limitinteger1–100 results (default 50).
{
  "jsonrpc": "2.0", "id": 1,
  "method": "tools/call",
  "params": { "name": "list_complexes", "arguments": { "town": "Sveti Vlas" } }
}
get_complexGet complex details

Full complex profile — amenities, legal status, maintenance fee, distance to sea — plus every active listing in it.

ParameterTypeDescription
slug *stringComplex slug from list_complexes.
{
  "jsonrpc": "2.0", "id": 1,
  "method": "tools/call",
  "params": { "name": "get_complex", "arguments": { "slug": "cascadas" } }
}
list_blog_postsList blog articles

Published buyer guides, cost breakdowns, legal topics, and area guides. Returns slugs for get_blog_post.

ParameterTypeDescription
querystringKeyword in title/excerpt.
limitinteger1–50 results (default 20).
{
  "jsonrpc": "2.0", "id": 1,
  "method": "tools/call",
  "params": { "name": "list_blog_posts", "arguments": { "query": "foreigners" } }
}
get_blog_postGet a blog article

One published article by slug or id: full body content, excerpt, category, cover image, and reading time.

ParameterTypeDescription
slug *stringArticle slug or id from list_blog_posts.
{
  "jsonrpc": "2.0", "id": 1,
  "method": "tools/call",
  "params": { "name": "get_blog_post", "arguments": { "slug": "guide-for-foreign-buyers" } }
}
list_team_membersList the team

Public team profiles with roles, bios, languages, and contact details — point a buyer to the right agent.

No parameters.

{
  "jsonrpc": "2.0", "id": 1,
  "method": "tools/call",
  "params": { "name": "list_team_members", "arguments": {} }
}

Performance

  • Responses are cached (2 min – 24 h depending on the tool), so identical calls are instant.
  • Fair-use limit: ~60 tool calls per minute. If you hit it, slow down and retry.
  • Listings re-sync from our CRM every 15 minutes; prices and availability change daily.

Usage policy

  • Data is © Gem Realty BG, provided read-only to help an end user enquire about a specific listing or article.
  • No scraping, bulk downloads, storing, indexing, or republishing of listings, images, or articles.
  • Viewings, reservations, and transactions are arranged only through the Gem Realty team: gemrealty717@gmail.com, +359 878 944 747.