Evlek — Northern Cyprus Property MCP Server

Live Northern Cyprus (KKTC/TRNC) property listings and asking-price data. Read-only, 12 tools.

使うべきか

品質と安全性

A
説明の品質
94%
スキーマの完全性
98%
命名の品質
95%
ポイズニングのリスク
100%
権限の一致
90%
プロトコルへの準拠
100%

検出事項(2)

  • LOWTool 'payment_plan' description lacks action verbpayment_plan 内
  • LOWTool 'fetch' suggests web access but openWorldHint=falsefetch 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~6,929トークン数(ツール定義)
~5.8 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 5.41%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "mcp-server": {
      "url": "https://evlek.app/api/mcp"
    }
  }
}

リモートエンドポイント

https://evlek.app/api/mcpstreamable-http

できること

ツール一覧

ツール(12)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢search_listings(query, city, type, district, propertyType, ...)

Search live active sale and long-term-rent listings on Evlek. Results are newest-first by default; `limit` caps returned rows and `totalMatched` reports the full match count. Returns advertised asking-price and listing facts only; not valuation, verification of property-specific claims, forecast, ranking, or recommendation.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Optional free-text query (parsed like the `search` tool); merges with explicit filters below — an explicit filter wins on conflict"
    },
    "city": {
      "type": "string",
      "description": "Slug, Turkish name, or exonym (Kyrenia/Nicosia/Famagusta/Morphou)."
    },
    "type": {
      "type": "string",
      "enum": [
        "sale",
        "rent"
      ],
      "description": "Listing type"
    },
    "district": {
      "type": "string",
      "description": "District name (e.g. Alsancak), matched accent/case-insensitively against the active-listing district list"
    },
    "propertyType": {
      "type": "string",
      "enum": [
        "apartment",
        "residence",
        "villa",
        "twin",
        "detached",
        "bungalow",
        "penthouse",
        "studio",
        "duplex",
        "shop",
        "office",
        "warehouse",
        "whole_building",
        "hotel",
        "residential_land",
        "commercial_land",
        "farmland",
        "house",
        "land",
        "commercial"
      ],
      "description": "Raw property type (apartment, villa, …) or K75 group slug: house (villa+detached+bungalow), land, commercial"
    },
    "seaView": {
      "type": "boolean",
      "description": "Only listings flagged sea_view"
    },
    "pool": {
      "type": "boolean",
      "description": "Only listings with a pool"
    },
    "furnished": {
      "type": "boolean",
      "description": "Only furnished listings"
    },
    "parking": {
      "type": "boolean",
      "description": "Only listings with parking"
    },
    "garden": {
      "type": "boolean",
      "description": "Only listings with a garden"
    },
    "elevator": {
      "type": "boolean",
      "description": "Only listings with an elevator"
    },
    "bedrooms": {
      "type": "number",
      "minimum": 0,
      "maximum": 10,
      "description": "Bedroom count (integer 0-10)"
    },
    "minPrice": {
      "type": "number",
      "description": "Min price in GBP"
    },
    "maxPrice": {
      "type": "number",
      "description": "Max price in GBP"
    },
    "sortBy": {
      "type": "string",
      "enum": [
        "newest",
        "price_asc",
        "price_desc",
        "area_desc",
        "price_per_sqm_asc"
      ],
      "description": "Sort order (default: newest)"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 10,
      "description": "Result count (integer 1-10, default 5)"
    },
    "offset": {
      "type": "number",
      "minimum": 0,
      "description": "Rows to skip (pagination, default 0)"
    }
  }
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "totalMatched": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "ranking": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "scope": {
          "type": "string",
          "enum": [
            "complete",
            "partial"
          ]
        },
        "pooled": {
          "type": "number"
        },
        "of": {
          "type": "number"
        }
      },
      "required": [
        "scope",
        "pooled",
        "of"
      ]
    },
    "sortApplied": {
      "type": "string",
      "enum": [
        "newest",
        "price_asc",
        "price_desc",
        "area_desc",
        "price_per_sqm_asc"
      ]
    },
    "listings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "listingNumber": {
            "type": [
              "number",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "district": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "priceGbp": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "bedrooms": {
            "type": [
              "number",
              "null"
            ]
          },
          "areaSqm": {
            "type": [
              "number",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "propertyType": {
            "type": [
              "string",
              "null"
            ]
          },
          "coverImageUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "locationPrecision": {
            "type": "string",
            "enum": [
              "exact",
              "district",
              "city"
            ]
          },
          "monthlyRentGbp": {
            "type": [
              "number",
              "null"
            ]
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "city",
          "district",
          "price",
          "priceGbp",
          "currency",
          "type",
          "url"
        ]
      }
    },
    "appliedFilters": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string"
        },
        "district": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "propertyType": {
          "type": "string"
        },
        "bedrooms": {
          "type": "number"
        },
        "minPrice": {
          "type": "number"
        },
        "maxPrice": {
          "type": "number"
        },
        "seaView": {
          "type": "boolean"
        },
        "pool": {
          "type": "boolean"
        },
        "furnished": {
          "type": "boolean"
        },
        "parking": {
          "type": "boolean"
        },
        "garden": {
          "type": "boolean"
        },
        "elevator": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "fxRates": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "base": {
          "type": "string",
          "enum": [
            "GBP"
          ]
        },
        "rates": {
          "type": "object",
          "properties": {
            "EUR": {
              "type": "number"
            },
            "USD": {
              "type": "number"
            },
            "TRY": {
              "type": "number"
            }
          },
          "required": [
            "EUR",
            "USD",
            "TRY"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "database",
            "fallback"
          ]
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "isFallback": {
          "type": "boolean"
        }
      },
      "required": [
        "base",
        "rates",
        "source",
        "updatedAt",
        "isFallback"
      ]
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "dataSource": {
      "type": "string"
    },
    "factType": {
      "type": "string"
    },
    "isEstimate": {
      "type": "boolean"
    }
  },
  "required": [
    "count",
    "totalMatched",
    "offset",
    "sortApplied",
    "listings",
    "appliedFilters"
  ]
}
🟢get_price_index(city, type)

Returns source-dated aggregates of live active Evlek sale or long-term-rent asking prices. Descriptive listing facts only: not completed transactions, a valuation, a forecast, or an investment recommendation.

入力スキーマ

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "Filter to a single city (omit for all cities). Slug, Turkish name, or exonym (Kyrenia/Nicosia/Famagusta/Morphou)."
    },
    "type": {
      "type": "string",
      "enum": [
        "sale",
        "rent"
      ],
      "description": "Sale or rent (default: sale)"
    }
  }
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "dataAsOf": {
      "type": [
        "string",
        "null"
      ]
    },
    "totalListings": {
      "type": [
        "number",
        "null"
      ]
    },
    "cities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string"
          },
          "count": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "proven",
              "preliminary",
              "collecting"
            ]
          },
          "lowSample": {
            "type": "boolean"
          },
          "withheldReason": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "insufficient_sample",
              "no_value",
              null
            ]
          },
          "medianPricePerSqm": {
            "type": [
              "number",
              "null"
            ]
          },
          "medianPrice": {
            "type": [
              "number",
              "null"
            ]
          },
          "p25Price": {
            "type": [
              "number",
              "null"
            ]
          },
          "p75Price": {
            "type": [
              "number",
              "null"
            ]
          },
          "provenance": {
            "type": "object",
            "properties": {
              "publishers": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "agencies": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "maxAgencyShare": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "singleSource": {
                "type": "boolean"
              }
            },
            "required": [
              "publishers",
              "agencies",
              "maxAgencyShare",
              "singleSource"
            ]
          },
          "districts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "district": {
                  "type": "string"
                },
                "count": {
                  "type": "number"
                },
                "status": {
                  "type": "string"
                },
                "lowSample": {
                  "type": "boolean"
                },
                "withheldReason": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "medianPricePerSqm": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "medianPrice": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "provenance": {
                  "type": "object",
                  "properties": {
                    "publishers": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "agencies": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "maxAgencyShare": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "singleSource": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "publishers",
                    "agencies",
                    "maxAgencyShare",
                    "singleSource"
                  ]
                },
                "nRaw": {
                  "type": "number"
                },
                "nUnique": {
                  "type": "number"
                },
                "nDuplicates": {
                  "type": "number"
                },
                "nIqrExcluded": {
                  "type": "number"
                }
              },
              "required": [
                "district",
                "count",
                "lowSample",
                "medianPrice"
              ]
            }
          },
          "nRaw": {
            "type": "number"
          },
          "nUnique": {
            "type": "number"
          },
          "nDuplicates": {
            "type": "number"
          },
          "nIqrExcluded": {
            "type": "number"
          }
        },
        "required": [
          "city",
          "count",
          "status",
          "lowSample",
          "withheldReason",
          "medianPrice",
          "districts"
        ]
      }
    },
    "dataSource": {
      "type": "string",
      "enum": [
        "live_active_listings",
        "daily_snapshot"
      ]
    },
    "metricType": {
      "type": "string"
    },
    "isEstimate": {
      "type": "boolean"
    },
    "indexEligibleListings": {
      "type": [
        "number",
        "null"
      ]
    },
    "excludedNotEligible": {
      "type": [
        "number",
        "null"
      ]
    },
    "excludedDuplicates": {
      "type": [
        "number",
        "null"
      ]
    },
    "excludedOutliers": {
      "type": [
        "number",
        "null"
      ]
    }
  },
  "required": [
    "type",
    "dataAsOf",
    "cities"
  ]
}
🟢compare_cities(cities, type)

Compare source-dated live active-listing asking-price aggregates across 2-4 Northern Cyprus cities. Descriptive listing facts only; not transaction prices, valuation, forecast, ranking, or investment advice.

入力スキーマ

{
  "type": "object",
  "properties": {
    "cities": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Slug, Turkish name, or exonym (Kyrenia/Nicosia/Famagusta/Morphou)."
      },
      "description": "Cities to compare (2-4)"
    },
    "type": {
      "type": "string",
      "enum": [
        "sale",
        "rent"
      ],
      "description": "Sale or rent (default: sale)"
    }
  },
  "required": [
    "cities"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "dataAsOf": {
      "type": [
        "string",
        "null"
      ]
    },
    "cities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "activeCount": {
            "type": "number"
          },
          "hasData": {
            "type": "boolean"
          },
          "lowSample": {
            "type": "boolean"
          },
          "withheldReason": {
            "type": [
              "string",
              "null"
            ]
          },
          "medianPricePerSqm": {
            "type": [
              "number",
              "null"
            ]
          },
          "medianPrice": {
            "type": [
              "number",
              "null"
            ]
          },
          "p25Price": {
            "type": [
              "number",
              "null"
            ]
          },
          "p75Price": {
            "type": [
              "number",
              "null"
            ]
          },
          "topDistrict": {
            "type": [
              "string",
              "null"
            ]
          },
          "topDistrictMedianPrice": {
            "type": [
              "number",
              "null"
            ]
          },
          "provenance": {
            "type": "object",
            "properties": {
              "publishers": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "agencies": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "maxAgencyShare": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "singleSource": {
                "type": "boolean"
              }
            },
            "required": [
              "publishers",
              "agencies",
              "maxAgencyShare",
              "singleSource"
            ]
          }
        },
        "required": [
          "slug",
          "city",
          "activeCount",
          "hasData"
        ]
      }
    },
    "dataSource": {
      "type": "string"
    },
    "metricType": {
      "type": "string"
    },
    "isEstimate": {
      "type": "boolean"
    }
  },
  "required": [
    "type",
    "dataAsOf",
    "cities"
  ]
}
🟢compare_properties(listingIds)

Compare descriptive facts from 2-4 active Evlek sale or long-term-rent listings of the same type. Shows advertised asking price, size and £/m² differences without making a value, suitability, appraisal, or investment judgment. The legacy `listing_ids` parameter name is still accepted as an alias of `listingIds`.

入力スキーマ

{
  "type": "object",
  "properties": {
    "listingIds": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Evlek listing UUID or listing number (e.g. \"EVL-123456\", \"123456\")"
      },
      "description": "Evlek listing UUIDs or listing numbers (2-4)"
    }
  },
  "required": [
    "listingIds"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "missing": {
      "type": "number"
    },
    "listings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "district": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "priceGbp": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "bedrooms": {
            "type": [
              "number",
              "null"
            ]
          },
          "bathrooms": {
            "type": [
              "number",
              "null"
            ]
          },
          "area": {
            "type": [
              "number",
              "null"
            ]
          },
          "pricePerSqm": {
            "type": [
              "number",
              "null"
            ]
          },
          "monthlyRentGbp": {
            "type": [
              "number",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "price",
          "priceGbp",
          "type",
          "url"
        ]
      }
    },
    "dataSource": {
      "type": "string"
    },
    "metricType": {
      "type": "string"
    },
    "isEstimate": {
      "type": "boolean"
    }
  },
  "required": [
    "count",
    "listings"
  ]
}
🟢get_district_profile(city, district)

Returns source-dated active sale/long-term-rent listing counts and asking-price aggregates for one district. Any rent-to-price percentage is a derived asking-price ratio, not observed income, net yield, valuation, forecast, ranking, or recommendation.

入力スキーマ

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "City containing the district. Slug, Turkish name, or exonym (Kyrenia/Nicosia/Famagusta/Morphou)."
    },
    "district": {
      "type": "string",
      "description": "District name (2-60 chars), matched accent/case-insensitively against the active-listing district list"
    }
  },
  "required": [
    "city",
    "district"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string"
    },
    "district": {
      "type": "string"
    },
    "cleanSampleTotal": {
      "type": "number",
      "description": "sale.count + rent.count — clean sample size (IQR outliers excluded), not raw active listings"
    },
    "dataAsOf": {
      "type": [
        "string",
        "null"
      ]
    },
    "sale": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "count": {
          "type": "number"
        },
        "status": {
          "type": "string",
          "enum": [
            "proven",
            "preliminary",
            "collecting"
          ]
        },
        "maturity": {
          "type": "string",
          "enum": [
            "olgun",
            "öncü",
            "biriktiriyor"
          ]
        },
        "median": {
          "type": [
            "number",
            "null"
          ]
        },
        "medianPerSqm": {
          "type": [
            "number",
            "null"
          ]
        },
        "p25": {
          "type": [
            "number",
            "null"
          ]
        },
        "p75": {
          "type": [
            "number",
            "null"
          ]
        },
        "withheldReason": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "insufficient_sample",
            "no_value",
            null
          ]
        },
        "provenance": {
          "type": "object",
          "properties": {
            "publishers": {
              "type": [
                "number",
                "null"
              ]
            },
            "agencies": {
              "type": [
                "number",
                "null"
              ]
            },
            "maxAgencyShare": {
              "type": [
                "number",
                "null"
              ]
            },
            "singleSource": {
              "type": "boolean"
            }
          },
          "required": [
            "publishers",
            "agencies",
            "maxAgencyShare",
            "singleSource"
          ]
        }
      }
    },
    "rent": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "count": {
          "type": "number"
        },
        "status": {
          "type": "string",
          "enum": [
            "proven",
            "preliminary",
            "collecting"
          ]
        },
        "maturity": {
          "type": "string",
          "enum": [
            "olgun",
            "öncü",
            "biriktiriyor"
          ]
        },
        "median": {
          "type": [
            "number",
            "null"
          ]
        },
        "medianPerSqm": {
          "type": [
            "number",
            "null"
          ]
        },
        "p25": {
          "type": [
            "number",
            "null"
          ]
        },
        "p75": {
          "type": [
            "number",
            "null"
          ]
        },
        "withheldReason": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "insufficient_sample",
            "no_value",
            null
          ]
        },
        "provenance": {
          "type": "object",
          "properties": {
            "publishers": {
              "type": [
                "number",
                "null"
              ]
            },
            "agencies": {
              "type": [
                "number",
                "null"
              ]
            },
            "maxAgencyShare": {
              "type": [
                "number",
                "null"
              ]
            },
            "singleSource": {
              "type": "boolean"
            }
          },
          "required": [
            "publishers",
            "agencies",
            "maxAgencyShare",
            "singleSource"
          ]
        }
      }
    },
    "askingRentToAskingPricePct": {
      "type": [
        "number",
        "null"
      ]
    },
    "ratioMetricType": {
      "type": "string"
    },
    "isObservedIncome": {
      "type": "boolean"
    },
    "personaContexts": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "dataSource": {
      "type": "string"
    },
    "metricType": {
      "type": "string"
    },
    "truncated": {
      "type": "boolean"
    }
  },
  "required": [
    "city",
    "district",
    "cleanSampleTotal"
  ]
}
🟢convert_currency(price, currency)

Converts an entered property asking-price amount across GBP/EUR/USD/TRY when complete, valid, fresh, date-stamped stored FX rates are available; otherwise it fails closed without amounts. Currency conversion only: no payment plan, deposit schedule, installment schedule, acquisition-cost estimate, or advice.

入力スキーマ

{
  "type": "object",
  "properties": {
    "price": {
      "type": "number",
      "minimum": 1000,
      "maximum": 100000000,
      "description": "Entered property asking-price amount; not a deposit or installment."
    },
    "currency": {
      "type": "string",
      "enum": [
        "GBP",
        "EUR",
        "USD",
        "TRY"
      ],
      "description": "Currency of the price (default GBP)."
    }
  },
  "required": [
    "price"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "inputCurrency": {
      "type": "string"
    },
    "priceGBP": {
      "type": "number"
    },
    "amounts": {
      "type": "object",
      "properties": {
        "GBP": {
          "type": "number"
        },
        "EUR": {
          "type": "number"
        },
        "USD": {
          "type": "number"
        },
        "TRY": {
          "type": "number"
        }
      },
      "required": [
        "GBP",
        "EUR",
        "USD",
        "TRY"
      ]
    },
    "fx": {
      "type": "object",
      "properties": {
        "base": {
          "type": "string",
          "enum": [
            "GBP"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "stored_current_rates"
          ]
        },
        "asOf": {
          "type": "string"
        },
        "rates": {
          "type": "object",
          "properties": {
            "GBP": {
              "type": "number"
            },
            "EUR": {
              "type": "number"
            },
            "USD": {
              "type": "number"
            },
            "TRY": {
              "type": "number"
            }
          },
          "required": [
            "GBP",
            "EUR",
            "USD",
            "TRY"
          ]
        }
      },
      "required": [
        "base",
        "source",
        "asOf",
        "rates"
      ]
    },
    "dataSource": {
      "type": "string"
    },
    "usesStoredRate": {
      "type": "boolean"
    }
  },
  "required": [
    "inputCurrency",
    "priceGBP",
    "amounts"
  ]
}
🟢payment_plan(price, currency)

Currently returns currency conversion only. A real installment/payment-schedule tool is planned under this name; until then it does not produce a payment plan, deposit schedule, or acquisition-cost estimate.

入力スキーマ

{
  "type": "object",
  "properties": {
    "price": {
      "type": "number",
      "minimum": 1000,
      "maximum": 100000000,
      "description": "Entered property asking-price amount; not a deposit or installment."
    },
    "currency": {
      "type": "string",
      "enum": [
        "GBP",
        "EUR",
        "USD",
        "TRY"
      ],
      "description": "Currency of the price (default GBP)."
    }
  },
  "required": [
    "price"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "inputCurrency": {
      "type": "string"
    },
    "priceGBP": {
      "type": "number"
    },
    "amounts": {
      "type": "object",
      "properties": {
        "GBP": {
          "type": "number"
        },
        "EUR": {
          "type": "number"
        },
        "USD": {
          "type": "number"
        },
        "TRY": {
          "type": "number"
        }
      },
      "required": [
        "GBP",
        "EUR",
        "USD",
        "TRY"
      ]
    },
    "fx": {
      "type": "object",
      "properties": {
        "base": {
          "type": "string",
          "enum": [
            "GBP"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "stored_current_rates"
          ]
        },
        "asOf": {
          "type": "string"
        },
        "rates": {
          "type": "object",
          "properties": {
            "GBP": {
              "type": "number"
            },
            "EUR": {
              "type": "number"
            },
            "USD": {
              "type": "number"
            },
            "TRY": {
              "type": "number"
            }
          },
          "required": [
            "GBP",
            "EUR",
            "USD",
            "TRY"
          ]
        }
      },
      "required": [
        "base",
        "source",
        "asOf",
        "rates"
      ]
    },
    "dataSource": {
      "type": "string"
    },
    "usesStoredRate": {
      "type": "boolean"
    }
  },
  "required": [
    "inputCurrency",
    "priceGBP",
    "amounts"
  ]
}
🟢get_listing_detail(propertyId)

Return a 360° profile of one active Evlek listing by UUID or listing number: title, description, price, location, size, amenities, features, cover image, per-photo captions/tags, and AI virtual-staging before/after pairs (always AI-disclosed). Contact details omitted. Use when: a UUID or listing number is already known. Don't use for: discovery — use search_listings first. The legacy `property_id` parameter name is still accepted as an alias of `propertyId`.

入力スキーマ

{
  "type": "object",
  "properties": {
    "propertyId": {
      "type": "string",
      "description": "Evlek listing UUID or listing number (e.g. \"EVL-123456\", \"123456\")"
    }
  },
  "required": [
    "propertyId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    },
    "listingNumber": {
      "type": [
        "number",
        "null"
      ]
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "price": {
      "type": "number"
    },
    "currency": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "district": {
      "type": [
        "string",
        "null"
      ]
    },
    "bedrooms": {
      "type": [
        "number",
        "null"
      ]
    },
    "bathrooms": {
      "type": [
        "number",
        "null"
      ]
    },
    "areaSqm": {
      "type": [
        "number",
        "null"
      ]
    },
    "priceGbp": {
      "type": [
        "number",
        "null"
      ]
    },
    "pricePerSqmGBP": {
      "type": [
        "number",
        "null"
      ]
    },
    "monthlyRentGbp": {
      "type": [
        "number",
        "null"
      ]
    },
    "locationPrecision": {
      "type": "string",
      "enum": [
        "exact",
        "district",
        "city"
      ]
    },
    "listedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "furnished": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "amenities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "features": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "photoCount": {
      "type": "number"
    },
    "photosShown": {
      "type": "number"
    },
    "photosTruncated": {
      "type": "number"
    },
    "coverImageUrl": {
      "type": [
        "string",
        "null"
      ]
    },
    "photos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "caption": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "virtualStaging": {
      "type": "object",
      "properties": {
        "available": {
          "type": "boolean"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "beforeUrl": {
                "type": "string"
              },
              "afterUrl": {
                "type": "string"
              },
              "style": {
                "type": "string"
              },
              "roomType": {
                "type": "string"
              },
              "provenance": {
                "type": "object",
                "properties": {
                  "version": {
                    "type": "number"
                  },
                  "outputId": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "modelVersion": {
                    "type": "string"
                  },
                  "generatedAt": {
                    "type": "string"
                  },
                  "humanReview": {
                    "type": "string"
                  },
                  "digitalSourceType": {
                    "type": "string"
                  },
                  "visibleDisclosureApplied": {
                    "type": "boolean"
                  },
                  "originalRetained": {
                    "type": "boolean"
                  },
                  "outputSha256": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "disclosure": {
          "type": "string"
        }
      }
    },
    "url": {
      "type": "string"
    },
    "dataSource": {
      "type": "string"
    },
    "factType": {
      "type": "string"
    },
    "isEstimate": {
      "type": "boolean"
    },
    "fxRates": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "base": {
          "type": "string",
          "enum": [
            "GBP"
          ]
        },
        "rates": {
          "type": "object",
          "properties": {
            "EUR": {
              "type": "number"
            },
            "USD": {
              "type": "number"
            },
            "TRY": {
              "type": "number"
            }
          },
          "required": [
            "EUR",
            "USD",
            "TRY"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "database",
            "fallback"
          ]
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "isFallback": {
          "type": "boolean"
        }
      },
      "required": [
        "base",
        "rates",
        "source",
        "updatedAt",
        "isFallback"
      ]
    }
  },
  "required": [
    "found"
  ]
}
🟢search(query)

Search live Northern Cyprus (KKTC/TRNC) property listings on Evlek with a free-text query. Returns matching listings as id/title/url for the fetch tool. Same data as search_listings — this fixed form exists for the ChatGPT/OpenAI connector contract. Use when: the caller only has a free-text query. Don't use for: structured filters — use search_listings.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free-text property search query"
    }
  },
  "required": [
    "query"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      }
    },
    "listings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "listingNumber": {
            "type": [
              "number",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "district": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "priceGbp": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "bedrooms": {
            "type": [
              "number",
              "null"
            ]
          },
          "areaSqm": {
            "type": [
              "number",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "propertyType": {
            "type": [
              "string",
              "null"
            ]
          },
          "coverImageUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "locationPrecision": {
            "type": "string",
            "enum": [
              "exact",
              "district",
              "city"
            ]
          },
          "monthlyRentGbp": {
            "type": [
              "number",
              "null"
            ]
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "city",
          "district",
          "price",
          "priceGbp",
          "currency",
          "type",
          "url"
        ]
      }
    },
    "appliedFilters": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string"
        },
        "district": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "propertyType": {
          "type": "string"
        },
        "bedrooms": {
          "type": "number"
        },
        "minPrice": {
          "type": "number"
        },
        "maxPrice": {
          "type": "number"
        },
        "seaView": {
          "type": "boolean"
        },
        "pool": {
          "type": "boolean"
        },
        "furnished": {
          "type": "boolean"
        },
        "parking": {
          "type": "boolean"
        },
        "garden": {
          "type": "boolean"
        },
        "elevator": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "fxRates": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "base": {
          "type": "string",
          "enum": [
            "GBP"
          ]
        },
        "rates": {
          "type": "object",
          "properties": {
            "EUR": {
              "type": "number"
            },
            "USD": {
              "type": "number"
            },
            "TRY": {
              "type": "number"
            }
          },
          "required": [
            "EUR",
            "USD",
            "TRY"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "database",
            "fallback"
          ]
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "isFallback": {
          "type": "boolean"
        }
      },
      "required": [
        "base",
        "rates",
        "source",
        "updatedAt",
        "isFallback"
      ]
    },
    "unresolved": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "outOfScope": {
      "type": "boolean"
    },
    "criteria": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "applied",
              "unresolved",
              "not_supported"
            ]
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "value",
          "state"
        ]
      }
    },
    "nearbyAlternatives": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "relaxed": {
          "type": "string",
          "enum": [
            "district",
            "maxPrice"
          ]
        },
        "listings": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "listingNumber": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "title": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "district": {
                "type": "string"
              },
              "price": {
                "type": "number"
              },
              "priceGbp": {
                "type": "number"
              },
              "currency": {
                "type": "string"
              },
              "bedrooms": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "areaSqm": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "type": {
                "type": "string"
              },
              "propertyType": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "coverImageUrl": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "locationPrecision": {
                "type": "string",
                "enum": [
                  "exact",
                  "district",
                  "city"
                ]
              },
              "monthlyRentGbp": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "title",
              "city",
              "district",
              "price",
              "priceGbp",
              "currency",
              "type",
              "url"
            ]
          }
        }
      },
      "required": [
        "relaxed",
        "listings"
      ]
    }
  },
  "required": [
    "results"
  ]
}
🟢fetch(id)

Fetch the full detail of one Evlek listing by id (from search): title, description, GBP-normalized price, location, size, amenities. Same data as get_listing_detail — this fixed id-only form exists for the ChatGPT/OpenAI connector contract. Use when: an id from search is known. Don't use for: discovery — use search first.

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Evlek listing id (UUID) from search"
    }
  },
  "required": [
    "id"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "properties": {
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "district": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": [
            "string",
            "null"
          ]
        },
        "bedrooms": {
          "type": [
            "number",
            "null"
          ]
        },
        "areaSqm": {
          "type": [
            "number",
            "null"
          ]
        },
        "priceGBP": {
          "type": [
            "number",
            "null"
          ]
        },
        "pricePerSqmGBP": {
          "type": [
            "number",
            "null"
          ]
        },
        "monthlyRentGbp": {
          "type": [
            "number",
            "null"
          ]
        },
        "currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "listedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "locationPrecision": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "city",
        "district",
        "type",
        "bedrooms",
        "areaSqm",
        "priceGBP",
        "pricePerSqmGBP",
        "monthlyRentGbp",
        "currency",
        "listedAt",
        "locationPrecision"
      ]
    },
    "coverImageUrl": {
      "type": [
        "string",
        "null"
      ]
    },
    "photos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "caption": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url"
  ]
}
🟢list_locations(city)

Return canonical KKTC city slugs plus districts represented by active Evlek sale or long-term-rent listings. Live inventory-location facts only; holiday-home inventory remains unavailable.

入力スキーマ

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "Optional — limit districts to a single city. Slug, Turkish name, or exonym (Kyrenia/Nicosia/Famagusta/Morphou)."
    }
  }
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "cities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "display": {
            "type": "string"
          },
          "districtCount": {
            "type": "number"
          },
          "districts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "dataSource": {
      "type": "string"
    },
    "isEstimate": {
      "type": "boolean"
    },
    "truncated": {
      "type": "boolean"
    }
  },
  "required": [
    "cities"
  ]
}
🟢get_listing_by_number(listingNumber)

Look up a single Evlek listing by its public listing number (e.g. "EVL-123456", "123456", or a bare number) and return its full detail — same shape as get_listing_detail. Use when: a listing number is known. Don't use for: UUID lookups — use get_listing_detail. The legacy `listing_number` parameter name is still accepted as an alias of `listingNumber`.

入力スキーマ

{
  "type": "object",
  "properties": {
    "listingNumber": {
      "type": [
        "string",
        "number"
      ],
      "description": "Evlek listing number, e.g. \"EVL-123456\", \"123456\", or the bare number 123456."
    }
  },
  "required": [
    "listingNumber"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    },
    "listingNumber": {
      "type": [
        "number",
        "null"
      ]
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "price": {
      "type": "number"
    },
    "currency": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "district": {
      "type": [
        "string",
        "null"
      ]
    },
    "bedrooms": {
      "type": [
        "number",
        "null"
      ]
    },
    "bathrooms": {
      "type": [
        "number",
        "null"
      ]
    },
    "areaSqm": {
      "type": [
        "number",
        "null"
      ]
    },
    "priceGbp": {
      "type": [
        "number",
        "null"
      ]
    },
    "pricePerSqmGBP": {
      "type": [
        "number",
        "null"
      ]
    },
    "monthlyRentGbp": {
      "type": [
        "number",
        "null"
      ]
    },
    "locationPrecision": {
      "type": "string",
      "enum": [
        "exact",
        "district",
        "city"
      ]
    },
    "listedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "furnished": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "amenities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "features": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "photoCount": {
      "type": "number"
    },
    "photosShown": {
      "type": "number"
    },
    "photosTruncated": {
      "type": "number"
    },
    "coverImageUrl": {
      "type": [
        "string",
        "null"
      ]
    },
    "photos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "caption": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "virtualStaging": {
      "type": "object",
      "properties": {
        "available": {
          "type": "boolean"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "beforeUrl": {
                "type": "string"
              },
              "afterUrl": {
                "type": "string"
              },
              "style": {
                "type": "string"
              },
              "roomType": {
                "type": "string"
              },
              "provenance": {
                "type": "object",
                "properties": {
                  "version": {
                    "type": "number"
                  },
                  "outputId": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "modelVersion": {
                    "type": "string"
                  },
                  "generatedAt": {
                    "type": "string"
                  },
                  "humanReview": {
                    "type": "string"
                  },
                  "digitalSourceType": {
                    "type": "string"
                  },
                  "visibleDisclosureApplied": {
                    "type": "boolean"
                  },
                  "originalRetained": {
                    "type": "boolean"
                  },
                  "outputSha256": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "disclosure": {
          "type": "string"
        }
      }
    },
    "url": {
      "type": "string"
    },
    "dataSource": {
      "type": "string"
    },
    "factType": {
      "type": "string"
    },
    "isEstimate": {
      "type": "boolean"
    },
    "fxRates": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "base": {
          "type": "string",
          "enum": [
            "GBP"
          ]
        },
        "rates": {
          "type": "object",
          "properties": {
            "EUR": {
              "type": "number"
            },
            "USD": {
              "type": "number"
            },
            "TRY": {
              "type": "number"
            }
          },
          "required": [
            "EUR",
            "USD",
            "TRY"
          ]
        },
        "source": {
          "type": "string",
          "enum": [
            "database",
            "fallback"
          ]
        },
        "updatedAt": {
          "type": [
            "string",
            "null"
          ]
        },
        "isFallback": {
          "type": "boolean"
        }
      },
      "required": [
        "base",
        "rates",
        "source",
        "updatedAt",
        "isFallback"
      ]
    }
  },
  "required": [
    "found"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 12 件
検証済みバージョンは記録されていませんツール 12 件