Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Live Northern Cyprus (KKTC/TRNC) property listings and asking-price data. Read-only, 8 tools.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://evlek.app/api/mcpRun this in your terminal
claude mcp add --transport http evlek https://evlek.app/api/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"evlek": {
"url": "https://evlek.app/api/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"evlek": {
"type": "http",
"url": "https://evlek.app/api/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://evlek.app/api/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain evlek.app (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (3.2.2) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, HotCodePush
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Evlek is the Northern Cyprus property portal: Northern Cyprus property listings for sale and long-term rent, an asking-price index by city and district, and this MCP server (see the MCP documentation).
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.
locale (or write the search query in that language) and the text, amenity names, number formats and links follow it. Place names are resolved in any of the five languages.The server URL is https://evlek.app/api/mcp. No sign-in, no API key.
ChatGPT
Evlek is in the ChatGPT app directory:
To add it by hand instead: Settings → Apps & Connectors → Advanced settings → developer mode on, then Create with the URL https://evlek.app/api/mcp (no authentication).
Claude (web and desktop)
Evlek. URL: https://evlek.app/api/mcp.Claude Code
claude mcp add --transport http evlek https://evlek.app/api/mcp
MCP Registry
Evlek is in the official MCP Registry as app.evlek/mcp-server (registry entry). Clients that install from the registry find it under that name; the entry points at the same URL.
More options (Cursor, VS Code, stdio) are under Quick start and on the MCP documentation page.
Most modern MCP clients (Claude, Cursor, VS Code) connect directly to the Streamable HTTP endpoint — no local bridge needed:
{
"mcpServers": { "evlek": { "url": "https://evlek.app/api/mcp" } } }
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):
{
"mcpServers": { "evlek": { "command": "npx", "args": ["-y", "mcp-remote@0.1.16", "https://evlek.app/api/mcp"] } } }
Restart Claude Desktop. The "evlek" server appears in the tools list.
npx @modelcontextprotocol/inspector https://evlek.app/api/mcp
curl -X POST https://evlek.app/api/mcp \
-H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"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.
npx github:Evlek/evlek-mcp # or: npm install && npm start
{
"mcpServers": { "evlek": { "command": "npx", "args": ["-y", "github:Evlek/evlek-mcp"] } } }
Smoke-test it (spawns the server and speaks real MCP over stdio):
npm test # live: initialize + tools/list + a real tools/call
OFFLINE=1 npm test # offline: introspection works with zero network
8 tools · protocol 2026-07-28 · Streamable HTTP JSON-RPC 2.0
| Tool | Title | Description | ||||
|---|---|---|---|---|---|---|
search_listings | Search Northern Cyprus property listings | Use this when the user wants to find or see property listings; results are shown with real photos in the Evlek widget. 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. 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 | For research and citation lookups (deep research): free-text search of live Northern Cyprus (KKTC/TRNC) property listings on Evlek, in Turkish, English, Russian, German or Arabic. Returns matching listings as id/title/url, newest first (sale and rent as two groups when the query names neither). The answer language follows the language of the query. OpenAI deep-research compatible format, for research and citation clients. Use when: the caller only has a free-text query ("2+1 apartment in Kyrenia under 150000 pounds", "EVL-100464"). Not for: structured filters, paging or choosing the answer language. | ||||
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. OpenAI deep-research compatible format, for research and citation clients. Use when: a listing id from a search result is known. Not for: discovering listings or choosing the answer language. | ||||
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 ci
Only the beginning is shown; read the rest in the repo