Skip to main content
Glama

NC Keys — Northern Cyprus property

Server Details

Northern Cyprus property listings for rent and sale: search by region, price, layout. Read-only.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: search_listings for discovery, get_listing for single-item details, and list_regions for region metadata. The descriptions reinforce the boundaries (e.g., get_listing takes an id, search_listings takes filters), so an agent can easily tell them apart.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: get_listing, list_regions, search_listings. The verbs are distinct and the nouns clearly indicate the target resource.

Tool Count5/5

Three tools are well-scoped for a read-only property search service: one for searching, one for fetching details, and one for region reference data. Each earns its place without redundancy or bloat.

Completeness4/5

The surface covers the core read-only workflows (search, detail, region lookup) but lacks pagination or advanced sorting/filtering options beyond a limit parameter. These are minor gaps that agents can work around for typical browsing tasks.

Available Tools

3 tools
get_listingGet one listingA
Read-onlyIdempotent
Inspect

Full details of one listing by id (e.g. 'c-152' or 'b-7'): full description, photos, dates. If latest_id is set, this is an older copy of a reposted listing — use the newest one instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing id from search_listings, e.g. 'c-152'

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuine contextual behavior beyond that: the repost/staleness signal via latest_id and the concrete return payload (photos, dates), which an agent wouldn't infer from the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose and followed by an edge-case warning; no filler. Slightly compressed by the parenthetical examples, but every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with an output schema, rich annotations, and a documented id format, the description covers purpose, return highlights, and the one real edge case (reposted/stale listings). Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and there is only one parameter whose format is already documented in the schema ('Listing id from search_listings, e.g. c-152'). The description's id examples are redundant with the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('Full details of one listing by id') with concrete id examples and an enumeration of what's returned (description, photos, dates). An agent can distinguish this from search_listings and list_regions without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear conditional: if latest_id is set, the record is a stale copy of a reposted listing and the newest should be used instead. It stops short of explicitly stating the retrieval workflow (e.g. 'get ids from search_listings first'), though the schema description on `id` carries that routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_regionsList regions and areasA
Read-onlyIdempotent
Inspect

Regions and areas of Northern Cyprus with the number of current listings (rent and sale), names in English and Russian. Use to pick region / sub_region for search_listings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds content context (listing counts, bilingual names), but nothing about caching, ordering, or data freshness. Adequate but modest value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no waste. The content (what it returns) is front-loaded before the actionable routing instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return structure needn't be explained, and the description still summarizes the payload usefully. An agent has what it needs to call this zero-arg lookup correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The description's mention of returned fields is not a parameter concern.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('Regions and areas of Northern Cyprus') with scope detail (listing counts, English/Russian names). It implicitly separates itself from get_listing/search_listings by being a reference lookup, though it never names those siblings directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it: 'Use to pick `region` / `sub_region` for search_listings.' That routes the agent to the correct downstream tool. It stops short of stating when NOT to use it or naming other alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_listingsSearch property listingsA
Read-onlyIdempotent
Inspect

Search current property listings in Northern Cyprus. All filters are optional and accept English, Russian or Turkish spellings (e.g. region 'Kyrenia' or 'Гирне'). Returns up to limit listings (featured first, then newest by default) with a one-line summary, url and contact_url. Example: long-term rent of a 2+1 in Iskele up to £700 → deal='Rent', region='iskele', layout='2+1', price_max=700, price_period='month'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dealNoSale or Rent
sortNorecommended = featured first, then newestrecommended
typeNoProperty type
limitNoHow many listings to return, 1–10
cursorNonext_cursor from a previous call, for more results
layoutNo'studio', '1+1', '2+1', '3+1', or '4+' for 4 or more bedrooms
regionNogirne (Kyrenia), iskele, famagusta, lefkosha (Nicosia), guzelyurt, lefke
area_minNoMinimum area in m²
currencyNoCurrency of price_min/max, default GBP
has_photoNoOnly listings with photos
price_maxNoMaximum price in `currency`
price_minNoMinimum price in `currency`
sub_regionNoArea within a region, e.g. 'Long Beach', 'Bogaz', 'Esentepe', 'Alsancak' (see list_regions)
price_periodNomonth = monthly rent, day = daily/holiday rent, total = sale price

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a safe, read-only, idempotent, non-destructive operation, so the bar is lower. The description still adds real value: multilingual filter acceptance (English/Russian/Turkish), default ordering (featured first, then newest), the cap of `limit` results, and the fields each result carries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences: scope, cross-cutting filter behavior, then return shape and a worked example. No sentence is redundant and the most load-bearing facts come first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter, all-optional search tool with an output schema and full annotation coverage, the description supplies the remaining non-structured context: language flexibility, default ranking, and result cardinality. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so a 3 is the baseline. The description goes beyond it by explaining that filters accept spellings across three languages (region 'Kyrenia' or 'Гирне') and by demonstrating a multi-parameter combination, which the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search current property listings in Northern Cyprus') plus scope details like sorting order and result contents. It is unmistakably distinct from get_listing (single record) and list_regions (region dictionary) without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tells the agent that all filters are optional and supplies a concrete worked query mapping ('long-term rent of a 2+1 in Iskele up to £700') that shows how to compose parameters. It stops short of explicit when-not guidance or routing to siblings like list_regions for valid sub_region values, though the schema hints at that.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedget_listing
    • First observedlist_regions
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    AI-native property MCP for Northern Cyprus (KKTC). Search live listings, get the price index, compare cities and districts, estimate rental yield, and look up KKTC title-deed (koçan) procedures — all sourced live from evlek.app.
    12
    9 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Vacation rental software. A signed stay offer on the host's own domain. Agents discover a host domain, verify an Ed25519-signed offer (VRP), and send the guest to that domain to book and pay the host. Do not compare hosts or prices. HemmaBo + VRP, 6 runtime tools: 2 HemmaBo tools, 2 host onboarding tools, and 2 VRP verification tools. Not an OTA. Not a marketplace.
    13
    108 npm
    3
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables searching and browsing ss.ge real estate listings with filters, counters, full card details, and geo/city data via MCP tools.
    6
    52 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Philippine real estate data for AI agents — search verified listings, calculate transfer costs, and get accurate legal information via lupaph.com.
    6
    45 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources