Noclegowo
Server Details
Accommodation search in Poland on noclegowo.pl: offers, availability and whole-stay prices.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
search_accommodations and searchAccommodations clearly overlap, with the latter being a legacy free-text version of the same search. check_availability and get_offer_details also overlap because get_offer_details can return availability and whole-stay pricing when dates are supplied. Descriptions help, but the duplicate search and availability overlap create real misselection risk.
Three tools use snake_case consistently, but searchAccommodations uses camelCase, breaking the pattern. The inconsistency is minor and readable, but it directly mirrors the redundant legacy tool and makes the set feel less deliberate.
Four tools is a reasonable, well-sized surface for an accommodation search and availability server. However, one of the four is a legacy duplicate, so the effective tool count is closer to three.
The set covers the core accommodation research workflow: search, detailed offer lookup, and availability/pricing checks. Making an actual booking or reservation is not represented, but that may be outside the stated scope, so only minor gaps are apparent.
Available Tools
4 toolscheck_availabilityCheck availability and priceARead-onlyIdempotentInspect
Checks availability and the total price of a stay (date_from to date_to, adults, children) for up to 10 noclegowo.pl offers (offer_id values as returned in search results). Returns, per offer, the availability verdict, the whole-stay price for that party and the offer link.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | Number of adults (default 2). | |
| date_to | Yes | Departure (check-out) date, YYYY-MM-DD. | |
| children | No | Number of children (default 0, or the length of children_ages). | |
| language | No | Language of the user's conversation ('pl' or 'en'). Determines the language of texts and the offer link locale. | |
| date_from | Yes | Arrival (check-in) date, YYYY-MM-DD. | |
| offer_ids | Yes | offer_id values, as returned in search results. | |
| children_ages | No | Children ages at check-in; they decide occupancy and price. Unknown ages are priced as school-age. |
Output Schema
| Name | Required | Description |
|---|---|---|
| stay | Yes | |
| offers | Yes | Available offers first, then unknown, then unavailable. |
| status | Yes | |
| language | Yes | |
| missing_offer_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds the return shape (verdict, whole-stay price, offer link) but discloses nothing about failure modes, partial availability across the 10 offers, or pricing caveats beyond what the schema states.
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 sentences, front-loaded with the action and scope, then the return contract. No filler, though the parenthetical parameter recap is slightly redundant with the schema.
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?
With annotations covering the safety profile and an output schema defining returns, the description is nearly sufficient: it names the tool's scope, inputs' origin, and batch limit. Minor gaps around partial-availability behavior remain, but nothing critical for correct invocation 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 description coverage is 100%, so the baseline is 3. The description only restates the party and date parameters and the 10-offer cap, adding no syntax or format meaning beyond the schema, though the schema itself is thorough.
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 states a specific verb+resource ('Checks availability and the total price of a stay') and scopes it precisely with the party parameters and a cap of 10 offers. It differentiates itself from the search siblings by tying inputs to 'offer_id values as returned in search results'.
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?
It clearly establishes the workflow context (offer_ids come from prior search results) and the batch limit, which tells an agent when this tool is the right next step. It stops short of naming explicit alternatives or exclusions (e.g., when to prefer get_offer_details instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_offer_detailsGet offer detailsARead-onlyIdempotentInspect
Returns the full details of one noclegowo.pl offer by offer_id: description, amenities, photos, rating, location, price range per night and link. When date_from and date_to (and the party) are given it also returns availability and the whole-stay price for those dates.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | Number of adults for the price (default 2). Only used with dates. | |
| date_to | No | Departure date, YYYY-MM-DD (see date_from). | |
| children | No | Number of children. Only used with dates. | |
| language | No | Language of the user's conversation ('pl' or 'en'). Determines the language of texts and the offer link locale. | |
| offer_id | Yes | ID of the offer, as returned in search results (offer_id). | |
| date_from | No | Arrival date, YYYY-MM-DD. With date_from and date_to together (both or neither) the offer also carries availability and the whole-stay price. | |
| children_ages | No | Children ages at check-in; they decide occupancy and price. Only used with dates. |
Output Schema
| Name | Required | Description |
|---|---|---|
| offer | Yes | |
| status | Yes | |
| language | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds real behavioral detail beyond that: the exact content returned and the conditional enrichment when dates are provided. No contradiction with annotations.
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 sentences, front-loaded with the core purpose followed by the conditional date behavior. Dense but every clause carries information; nothing extraneous.
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?
With an output schema present, return values need no narrative explanation, and all 7 parameters are documented. The description covers the one non-obvious behavior (conditional availability/pricing), leaving little an agent would need to infer before calling it.
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 description coverage is 100%, so the schema already documents every parameter including the 'both or neither' date rule and the party fields. The description largely restates those semantics rather than adding format or edge-case detail beyond the structured fields.
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 ('Returns the full details of one noclegowo.pl offer by offer_id') and enumerates the returned fields, which cleanly separates it from search-type siblings. It does not name search_accommodations as the source of offer_id or address the overlap with check_availability, so differentiation is left partly implicit.
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 explains the conditional usage of date_from/date_to (availability and whole-stay price only when both dates plus party are supplied), which is genuinely useful context. However, it names no alternatives and gives no explicit when-not guidance relative to check_availability or search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_accommodationsSearch accommodationARead-onlyIdempotentInspect
Searches accommodation offers on noclegowo.pl (Poland) by location, dates, party (adults, children, pets), amenities, budget and free-text wishes. Returns offers with a summary line, guest rating, availability and the total stay price (when dates and party are given) and the offer link. Amenities are treated as preferences (offers that have them are ranked first); required_amenities are hard requirements; exclude_offer_ids leaves out offers already seen. Every request carries the full set of criteria. With dates, when fewer than 3 offers are available in the requested town, offers from nearby localities are included; they carry a nearby field with the distance and the requested place.
| Name | Required | Description | Default |
|---|---|---|---|
| pets | No | True when the guests travel with a pet (dog, cat, …). | |
| limit | No | How many offers to return (default 6, max 10). | |
| adults | No | Number of adults. | |
| date_to | No | Departure (check-out) date, YYYY-MM-DD. | |
| children | No | Number of children. | |
| language | No | Language of the user's conversation ('pl' or 'en'). Determines the language of texts and the offer link locale. | |
| location | Yes | Where to stay: city, region, mountain range, lake, landmark or area in Poland, e.g. "Zakopane", "Mazury", "nad morzem", "near Morskie Oko". | |
| amenities | No | Amenities the user wishes for, in their words, e.g. ["śniadanie", "sauna", "parking"]. A preference rather than a filter: offers that have them are ranked first and the others follow with a note. | |
| date_from | No | Arrival (check-in) date, YYYY-MM-DD. | |
| budget_max | No | Maximum budget in PLN. | |
| budget_min | No | Minimum budget in PLN. | |
| budget_scope | No | Whether the budget is per night (default) or for the whole stay. | |
| expectations | No | Other wishes in free text: type of place, style, atmosphere, distance to the beach or slopes, quiet area, etc. Personal data is not needed. | |
| children_ages | No | Ages of the children, when known. | |
| exclude_offer_ids | No | Offer ids to leave out of the results (for example offers already seen), so that further results are new ones. | |
| required_amenities | No | Amenities that are hard requirements ("musi być", "koniecznie", "tylko z", "required"): offers without them are dropped. |
Output Schema
| Name | Required | Description |
|---|---|---|
| offers | Yes | |
| status | Yes | |
| language | Yes | |
| questions | Yes | When status=needs_more_info: the information missing for a search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial behavior beyond that: amenities are ranking preferences while required_amenities are hard filters, exclude_offer_ids suppresses already-seen offers, and price is only returned when dates and party are supplied. It also discloses the non-obvious fallback: with dates, if fewer than 3 offers exist in the town, nearby localities are added and flagged via a `nearby` field with distance.
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?
The paragraph is front-loaded with what the tool searches and its filter axes, followed by return content, ranking semantics, pagination, and the nearby fallback. It is dense but each sentence earns its place, though the single block runs long and could be broken into clearer clauses for a 16-parameter tool.
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?
With an output schema present, the description need not detail return shape, yet it still summarizes offer fields (summary line, rating, availability, total price, link). Combined with full parameter coverage and annotations covering safety, it discloses the ranking, pagination, and nearby-fallback behaviors an agent needs to call and interpret results correctly.
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 description coverage is 100%, so the schema already documents all 16 parameters, and the description largely repeats these definitions (amenities as preference, required_amenities as hard requirement, exclude_offer_ids for seen offers). The only added nuance is that total stay price depends on dates and party, which is a return-value rather than parameter detail. Baseline 3 applies since the schema carries the semantic load.
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 opens with a specific verb and resource ('Searches accommodation offers on noclegowo.pl') and enumerates the filter dimensions (location, dates, party, amenities, budget, free text), which is far beyond a tautology. It clearly separates this discovery search from check_availability and get_offer_details by scope. However, it does not acknowledge the near-identically named sibling 'searchAccommodations', so tool selection between those two is left to inference.
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?
It gives clear operating context: 'Every request carries the full set of criteria' implies stateless full-context invocation, and the exclude_offer_ids note explains the pagination loop for retrieving further results. It stops short of naming alternatives (check_availability, get_offer_details) or stating when NOT to use this search, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAccommodationsSearch accommodation (legacy)ARead-onlyIdempotentInspect
Free-text accommodation search on noclegowo.pl (Poland), kept for compatibility with the earlier version of the app: takes one message and an optional conversation_id and returns offers with rating, availability, stay price and link.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The accommodation request in the user's language (place, dates, guests, wishes) — no personal data. | |
| conversation_id | No | Conversation ID from a previous response; absent on the first turn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| offers | Yes | |
| status | Yes | |
| language | Yes | |
| questions | Yes | When status=needs_more_info: the information missing for a search. |
| conversation_id | No | Opaque id of this search; accepted as conversation_id on a follow-up. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds the legacy-compatibility context, but its enumeration of returned fields (rating, availability, stay price, link) largely duplicates what the output schema already provides, and it discloses nothing about auth needs, rate limits, or result-freshness behavior.
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?
A single sentence that front-loads what the tool is and where it searches. The parenthetical '(Poland)' and the trailing enumeration of return fields add minor bulk, but nothing is truly wasted.
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?
With annotations covering the safety profile, a fully described 2-parameter schema, and an output schema for return values, the description only needs to establish identity and legacy status — which it does. The remaining gap is that it never explicitly routes the agent away from this legacy tool toward search_accommodations.
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 description coverage is 100%, so both the 'message' content expectations (place, dates, guests, wishes, no personal data) and 'conversation_id' semantics are already fully documented in the schema. The description restates 'one message and an optional conversation_id' without adding anything, so baseline 3 applies.
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 ('Free-text accommodation search') plus the domain (noclegowo.pl, Poland), and the 'legacy/kept for compatibility' framing hints at how it differs from the newer sibling. It stops short of naming search_accommodations as the preferred replacement, so the distinction must still be inferred.
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 phrase 'kept for compatibility with the earlier version of the app' implies this should only be used for legacy callers, which is useful implied guidance, but there is no explicit when-to-use/when-not statement or named alternative among the siblings (search_accommodations, check_availability, get_offer_details).
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.
4 tool updates
- First observed
check_availability - First observed
get_offer_details - First observed
search_accommodations - First observed
searchAccommodations
Related MCP Connectors
Event search at Biletyna.pl - Poland's top-rated ticket distributor, widest offer in all cities.
Search independent UK holiday stays, check live availability and exact prices, then open checkout.
Search 650,000 hotels by place, vibe, photos and reviews. Search needs no key.
Find exact, directly bookable hotel rooms and apartments with live availability and prices.
41
Related MCP Servers
AlicenseAqualityAmaintenance7M+ real estate transactions from Poland's RCN registry. Search, compare, and analyze prices28133 npm1MIT- AlicenseAqualityDmaintenancePolish phone number lookup: who called, spam and scam checks, UKE DNO registry, CERT phishing stats51MIT
- -
- AlicenseAqualityAmaintenanceVacation 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.76145 npm3Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.