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.
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"}'search_propertiesSearch properties for saleSearch active listings on the Bulgarian Black Sea coast with rich filters. Default sort: featured and discounted first, then newest.
| Parameter | Type | Description |
|---|---|---|
| query | string | Keyword in title/description, e.g. "sea view", "pool". |
| town | string | Sunny Beach, Sveti Vlas, Nesebar, Burgas, Sozopol… |
| type | string | apartment, studio, maisonette, house, commercial. |
| rooms | integer | Number of rooms (0 = studio). |
| min_price_eur | number | Minimum price in EUR. |
| max_price_eur | number | Maximum price in EUR. |
| min_size_sqm | number | Minimum total area in m². |
| max_size_sqm | number | Maximum total area in m². |
| complex | string | Complex slug from list_complexes — only units in that complex. |
| discounted_only | boolean | Only listings with an active discount. |
| featured_only | boolean | Only featured listings. |
| sort | enum | default | price_asc | price_desc | size_desc | newest. |
| limit | integer | 1–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 detailsFull public detail for one listing: description, size, floor, features, furnishing, maintenance fee, complex, images.
| Parameter | Type | Description |
|---|---|---|
| slug * | string | Property slug or id from search_properties. |
{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": { "name": "get_property", "arguments": { "slug": "6836" } }
}list_complexesList residential complexesResidential complexes Gem Realty sells in, filterable by town or keyword. Returns slugs for get_complex.
| Parameter | Type | Description |
|---|---|---|
| query | string | Keyword in complex name/description. |
| town | string | Town or resort filter. |
| limit | integer | 1–100 results (default 50). |
{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": { "name": "list_complexes", "arguments": { "town": "Sveti Vlas" } }
}get_complexGet complex detailsFull complex profile — amenities, legal status, maintenance fee, distance to sea — plus every active listing in it.
| Parameter | Type | Description |
|---|---|---|
| slug * | string | Complex slug from list_complexes. |
{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": { "name": "get_complex", "arguments": { "slug": "cascadas" } }
}list_blog_postsList blog articlesPublished buyer guides, cost breakdowns, legal topics, and area guides. Returns slugs for get_blog_post.
| Parameter | Type | Description |
|---|---|---|
| query | string | Keyword in title/excerpt. |
| limit | integer | 1–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 articleOne published article by slug or id: full body content, excerpt, category, cover image, and reading time.
| Parameter | Type | Description |
|---|---|---|
| slug * | string | Article 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 teamPublic 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": {} }
}