Pelikani
Server Details
Search Kosovo real-estate listings for sale and rent: price in EUR, area in m², and a link to each.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: search-listings returns multiple listings, while get-listing retrieves full details for one listing. The get-listing description explicitly connects it to search-listings output, reducing misselection risk.
Both names follow a consistent kebab-case verb_noun pattern: search-listings and get-listing. The singular/plural distinction reflects the operation semantics rather than inconsistent naming.
Two tools are slightly below the typical 3-15 range, but for a narrow read-only listing browser they are well scoped. Each tool has a clear purpose and there are no redundant operations.
The server covers the core read-only workflow: search listings and fetch full details for a selected listing. Minor gaps may exist around pagination or richer filter discovery, but agents can work around them via the search tool.
Available Tools
2 toolsget-listingGet ListingARead-onlyIdempotentInspect
Get one public listing in full: description, amenities, photos and year built. Takes the listing URL from search-listings or pelikani.net (/prona/...), or the part after /prona/.
| Name | Required | Description | Default |
|---|---|---|---|
| listing | Yes | Listing URL, e.g. https://pelikani.net/prona/banese-2-1-prishtine-pk10012, or the key after /prona/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds useful context beyond them: the listing is public (no auth implied) and the return payload is a full record with named sections. It does not say what happens on an invalid or stale key, which is the main remaining unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the capability and followed by the input-source detail; nothing is padded. The trailing "/prona/... or the part after /prona/" is slightly repetitive but does clarify the accepted shorthand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read with annotations covering safety and no output schema, the description carries the necessary load by naming the returned fields and the input sources. Error behavior and whether listings are fetched live vs cached are the only notable omissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents both accepted forms (full URL or the key after /prona/). The description restates those same forms and adds the provenance hint (values come from search-listings), which is helpful but largely duplicative of the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get one public listing in full") and enumerates what comes back (description, amenities, photos, year built). It is immediately distinguishable from search-listings, which returns multiple results rather than one full record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description ties usage to the sibling by saying the input comes "from search-listings or pelikani.net", which implies the find-then-fetch workflow. It lacks an explicit contrast statement such as "use search-listings when you don't already have a key", so the routing is inferred rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-listingsSearch ListingsARead-onlyIdempotentInspect
Search public real-estate listings in Kosovo, for sale or for rent. Returns price in EUR, area in m², location and the URL of each listing page. Same results and order as the search on pelikani.net.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free text matched against titles and descriptions. | |
| beds | No | Minimum number of bedrooms. | |
| city | No | City or municipality, e.g. Prishtinë, Prizren, Ferizaj. | |
| page | No | Result page, starting at 1. | |
| sort | No | ||
| type | No | Property type. "local" is a commercial premises. | |
| baths | No | Minimum number of bathrooms. | |
| limit | No | Listings per page (default 10). | |
| status | No | For sale (sell) or for rent (rent). | |
| max_price | No | Maximum price in EUR. | |
| min_price | No | Minimum price in EUR. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so safety is covered, and the description adds real value by naming the returned fields and asserting result parity and ordering with the pelikani.net search. It stops short of describing pagination behavior or how page/limit interact with the max bounds, which is the remaining behavioral gap for an 11-parameter search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first states scope and the two modes, the second states exactly what comes back plus the ordering guarantee. Nothing is repeated from the schema and nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter search with no output schema, the description is nearly sufficient: it defines scope, currency, return fields and result ordering. It could still be more complete by clarifying pagination and the meaning of the sort enum, but nothing an agent needs to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 91%, so the schema already explains q, beds, city, page, type, baths, limit, status, min_price and max_price; the description only reinforces the EUR currency and the sell/rent meaning of status. The sort parameter has no description in either place, so the description does not compensate for the one real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Search'), a precise resource ('public real-estate listings in Kosovo'), and the two supported intents ('for sale or for rent'). It also enumerates what each result carries (price in EUR, area in m², location, listing URL), which separates it cleanly from the single-record sibling get-listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the browse/query tool and get-listing is the detail tool, but the description never says when to prefer one over the other, nor does it state any exclusions or preconditions. No guidance is given on whether filters combine or which ones matter most.
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.
2 tool updates
- First observed
get-listing - First observed
search-listings
Related MCP Connectors
Search and compare public property listings for sale and rent in Serbia.
Read-only European property search by location, price, size and features. No sign-in required.
Flats, houses and plots for sale or rent in Slovakia: search, price verdicts and prices per m².
Search homes for sale and rent in Bulgaria; get price stats and alerts for new matches.
Related MCP Servers
AlicenseAqualityBmaintenance7M+ real estate transactions from Poland's RCN registry. Search, compare, and analyze prices30174 npm1MIT- AlicenseAqualityBmaintenanceGives AI agents read-only access to Bulgarian real-estate data from imotai.bg, letting them list districts, search and fetch active listings, pull district-level market statistics, and estimate values from current asking prices. All results are field-allowlisted and rate limited, with no credentials, broker contact details, or written descriptions exposed.5MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables searching and filtering real estate properties in France through the Melo API. Supports comprehensive property searches with filters for price, surface area, location, and property type for both sales and rentals.-
- AlicenseAqualityAmaintenanceLive search of apartment rentals in any Romanian city or town across storia.ro, publi24.ro and lajumate.ro, with duplicates and sale ads removed. Reads each ad for heating type, parking and private owner, and filters by price, rooms and walking time to a place.427 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.