AI-native property MCP for Northern Cyprus (KKTC/TRNC): listings, prices, legal, market data.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Evlek β Northern Cyprus Property MCP Server.
search_listingsSearch 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, rβ¦
get_price_indexReturns 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.
compare_citiesCompare 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.
compare_propertiesCompare 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β¦
get_district_profileReturns 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.
convert_currencyConverts 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, oβ¦
AI-native property discovery for North Cyprus (KKTC). Built on the Model Context Protocol β works in Claude, ChatGPT, Gemini, Cursor, and any MCP-compatible client.
The Evlek MCP server gives AI agents structured, real-time access to North Cyprus property data β search active listings, compare cities and districts, and track the price index. All data is sourced live from evlek.app. Evlek does not offer a rental-yield or investment-return estimate: figures are descriptive asking-price facts only, never a valuation, forecast, or recommendation. Title-deed (koΓ§an) and legal-procedure tools are deliberately not part of the surface: that taxonomy has not passed an independent KKTC legal audit.
This repository is MIT-licensed for the public manifest, documentation, examples, and reference clients contained here. The hosted Evlek service, evlek.app web app, mobile apps, listing database, AI prompts, business logic, brand assets, name, logo, and trade dress remain proprietary and are not licensed under MIT. See LICENSE for details.
Most modern MCP clients (Claude, Cursor, VS Code) connect directly to the Streamable HTTP endpoint β no local bridge needed:
Add https://evlek.app/api/mcp as a custom connector. Evlek exposes OpenAI-compatible search and fetch tools, so it works in ChatGPT connectors and Deep Research in addition to developer mode.
If your client only supports stdio servers, use the pinned mcp-remote bridge. Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Restart Claude Desktop. The "evlek" server appears in the tools list.
More configs: examples/
This repo is also a runnable MCP server. It answers initialize / tools/list entirely locally from the embedded tool contract (tools.json) and fetches live data from the Evlek data API when a tool is called. It only implements tools β it does not declare the resources or prompts capability, so resources/list and prompts/list return a normal MCP "method not found" error on this bridge; those primitives (see below) are hosted-endpoint-only, reachable via the Streamable HTTP URL above. It also speaks whatever MCP protocol version the pinned @modelcontextprotocol/sdk supports during initialize (currently 2025-11-25), not necessarily the hosted endpoint's 2026-07-28 β tool schemas are identical either way.
Smoke-test it (spawns the server and speaks real MCP over stdio):
12 tools Β· protocol 2026-07-28 Β· Streamable HTTP JSON-RPC 2.0
| Tool | Title | Description |
|---|---|---|
search_listings | Search Northern Cyprus Property Listings | 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. |
get_price_index | Get Northern Cyprus Price Index | 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. |
compare_cities | Compare Northern Cyprus Cities Side-by-Side | 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. |
compare_properties | Compare Evlek Property Listings Side-by-Side | 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. |
get_district_profile | Get Live Asking-Price Context for a Northern Cyprus 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. |
convert_currency | Currency Conversion (GBP/EUR/USD/TRY) | 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. |
payment_plan | Currency Conversion (payment-plan name reserved) | 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. |
get_listing_detail | Get Full Detail for a Single Evlek Listing | 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. |
search | Search Evlek property listings | 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. |
fetch | Fetch full Evlek listing detail | 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. |
list_locations | List Valid Evlek Cities and Districts | 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. |
get_listing_by_number | Get Evlek Listing by Number | 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. |
Every tool declares annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false } β the whole surface is read-only.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/evlek-northern-cyprus-property-mcp-server)<a href="https://allmcps.com/mcp/evlek-northern-cyprus-property-mcp-server"><img src="https://allmcps.com/api/badge/evlek-northern-cyprus-property-mcp-server?style=directory" alt="Evlek β Northern Cyprus Property MCP Server on AllMCPs" /></a>