Skip to content
v3.0.0 · 8 tools · Public Read-only

Evlek MCP Server

Source-dated North Cyprus property context for AI agents. Live sale/long-term-rent listing facts and clearly labelled illustrative model scenarios are kept apart, within public read-only boundaries.

What does this do?

A data gateway you add to AI assistants. Live active-listing and asking-price facts stay separate from illustrative scenarios calculated only from user-supplied inputs, which are always labelled as such.

Evlek MCP is an open server that follows the Model Context Protocol standard. Once connected to Claude, ChatGPT, Perplexity, Cursor, or any MCP-compatible AI assistant, it can draw on live active-listing records and asking-price statistics for Northern Cyprus property questions. These are not completed sale prices, a valuation, or a forecast.

Model results come back with a "MODELLED SCENARIO — NOT LIVE MARKET DATA" label and the assumptions used. Holiday-home listings, property-specific legal/tax conclusions, valuation, guarantees, and investment advice are out of scope; get an independent, current expert review before deciding.

Available tools

The manifest declares 8 tools · 12 resources · 2 prompts — called via tool schema from an AI agent's chat context. No auth or key required.

search_listings

Search Northern Cyprus Property Listings

Search live Evlek property listings for sale and long-term rent in Northern Cyprus (KKTC/TRNC; prices in GBP unless a currency is given; 2+1 means bedrooms 2) with structured filters: transaction, city, district, property type, bedrooms, price, areas, amenities, nearby university. Pass the user's language as `locale` (tr|en|ru|de|ar): the text, amenity names, number formats and links follow it. Returns at most 10 listings per call, each as one readable line (type, place, price, rooms, area, a deterministic sentence, data notes, canonical link) plus a structured card; continue with the `nextCursor` of a group. Without `transaction`, listings for sale and for rent come as two separate groups, each with its own cursor that is only valid together with that group's transaction. Place names in any language are resolved; an unknown place returns suggestions instead of results. An amenity that cannot be filtered on is reported as not applied. For a free-text request use `search`; for one listing use `fetch` or `get_listing`. Returns advertised asking-price and listing facts only: not a valuation, verification of property-specific claims, forecast, ranking or recommendation.

search

Search Evlek property listings

Search live Northern Cyprus (KKTC/TRNC) property listings on Evlek with a free-text query in Turkish, English, Russian, German or Arabic. Returns matching listings as id/title/url for the fetch tool, newest first (sale and rent as two groups when the query names neither). The answer language follows the language of the query. 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 ("2+1 apartment in Kyrenia under 150000 pounds", "EVL-100464"). Don't use for: structured filters, paging or another answer language: use search_listings.

fetch

Fetch full Evlek listing detail

Fetch the full detail of one Evlek listing: title, price, location, rooms, areas, amenities, data-quality notes and the canonical link. The id is the listing id (UUID) from a search result, a listing number such as EVL-100464, or an evlek.app listing link; the answer language follows the link (English otherwise). A listing that is not available (it does not exist, is not public, or was removed) always gets the same answer. Same data as get_listing: 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) or another answer language (use get_listing).

get_listing

Get an Evlek Listing

Get the full details of ONE public Evlek listing (sale or long-term rent) in the user's language. `ref` is the listing id (UUID), the listing number (EVL-100464 or just 100464) or an evlek.app listing link in any language. Returns the price, rooms, bathrooms, built area and plot area (always separate), the approximate location, features, the office name, dates, data-quality notes, photos with captions where they exist, AI virtual-staging before/after images when the office approved them (always labelled as AI-generated) and the canonical link. Contact details are never included: send the user to the link. A listing that is unknown or no longer public answers found:false with code NOT_FOUND (this is not an error). Pass the user's language as `locale` (tr, en, ru, de or ar).

compare_listings

Compare Evlek Listings

Compare 2 to 4 public Evlek listings side by side in the user's language: price, price per m² (only when the built area is believable), rooms, bathrooms, built area and plot area (always separate), location, furnishing, key features and data-quality notes, plus a few descriptive highlights (lowest price, largest indoor area, most recently listed). `ids` takes listing ids (UUID), listing numbers (EVL-100464) or evlek.app listing links, in any mix; the order you give is kept. Sale and rent listings are never ranked against each other: a mixed request is shown in two groups with a warning. A reference that is unknown or no longer public is listed in `missingIds` with code NOT_FOUND (this is not an error). Descriptive facts only: no valuation and no recommendation. Pass the user's language as `locale` (tr, en, ru, de or ar).

market_stats

Northern Cyprus Market Statistics

Market statistics for Northern Cyprus from asking prices of active public listings (not sales, valuations or forecasts). No city = the island by city; one city = its districts; several = side by side; city + district = a district profile. Sale and rent are reported separately. Each figure has activeCount (public listings in scope) and sampleCount (the cleaned sample behind the statistic); below 10 sampled listings it is withheld. Pass locale.

list_locations

List Evlek Locations

List the places Evlek knows in Northern Cyprus (6 cities, districts, villages, sub-areas, landmarks, the Karpaz region) with their public sale and long-term rent listing counts. Call it first when unsure how a place is spelled: every name and id returned is accepted by the other tools. Pass `city` (any spelling or language) for one place in detail. Names are Turkish or Latin; Russian, German and Arabic spellings are accepted as input but not listed.

convert_currency

Currency Conversion (GBP/EUR/USD/TRY)

Converts an amount between GBP, EUR, USD and TRY with the exchange rates Evlek stores (refreshed daily) and returns all four equivalents. Currency conversion only: no payment plan, deposit or instalment schedule, tax, fee or acquisition-cost estimate, no advice. Rates older than 24 hours are flagged as stale; beyond 72 hours (or when none are stored) no conversion is produced (FX_UNAVAILABLE).

How do I connect?

Copy the configuration below, paste it into your client, and restart it. Takes about a minute.

https://evlek.app/api/mcp
Recommended — no local proxy: In Claude (claude.ai or Desktop) → Settings → Connectors → Add custom connector. Paste the URL above and click Add. It shows up as the "evlek" tool list. Anthropic connects to the server from its own cloud; no extra setup is required.

Only older setups that still need a local bridge should pin mcp-remote to @0.1.16+ (CVE-2025-6514, CVSS 9.6 RCE — 0.1.15 and below are vulnerable):
{
  "mcpServers": {
    "evlek": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@0.1.16",
        "https://evlek.app/api/mcp"
      ]
    }
  }
}
Do not run an unpinned npx mcp-remote command.
Endpoint
evlek.app/api/mcp
Version
v3.0.0
Protocol
MCP 2026-07-28
Primitives
8 tools · 12 resources · 2 prompt
Transport
Streamable HTTP
Rate Limit
60 / min / IP
Auth
None (Public)

Security & privacy

v3.0.0 is public and read-only. Defense layers follow the OWASP MCP Top 10 guidance.

Read/write separation — The server only exposes publicly available property data. No access to user data, KYC information, or payment information.

Input validation — Every request is validated against a Zod schema. An invalid parameter is rejected with a clear error.

Rate limiting — 60 req/min per IP, 500 req/min globally. Sliding window on Upstash Redis.

Are you a developer? This server is provided free of charge by the Evlek team. For feedback, bug reports, or integration requests, contact hello@evlek.app. Data is provided under Evlek's Terms of Use and Privacy Policy . If you are curious what Evlek is, see the why Evlek page.