CityScape Condo Rentals MCP
Server Details
CityScape Condo Rentals MCP
- Status
- Healthy
- Uptime
- 99.5% over 17 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
Each tool maps to a distinct step: availability check, price quote, and booking creation. There is mild overlap between check_availability and get_quote since both return pricing information, but the descriptions distinguish real-time rate lookup from itemized quoting well enough.
All three tools use the same cityscape_ prefix followed by a clear verb_noun pattern (check_availability, create_booking, get_quote). Fully predictable and consistent.
Three tools is thin for a rental booking domain; the set covers only the happy path of check, quote, and book. A small read/manage surface (listings, cancellation, booking lookup) would round it out.
The core booking funnel is covered, but there is no tool to discover or browse listings, no way to retrieve an existing booking, and no cancellation or modification operation. Agents hitting those common needs will dead-end.
Available Tools
3 toolscityscape_check_availabilityCheck CityScape availabilityBInspect
Check real-time availability and base nightly rates for a CityScape Toronto condo listing, for a date range.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Check-out date (YYYY-MM-DD). | |
| from | Yes | Check-in date (YYYY-MM-DD). | |
| listingId | Yes | Listing slug (e.g. ice-cloud-studio-downtown-toronto). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose a useful trait — the data is real-time and rate figures are 'base nightly' only. However it says nothing about auth requirements, rate limits, error/empty behavior, or whether rates include taxes or fees.
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 front-loaded sentence with no filler; the scope qualifier, resource, and parameters are packed efficiently. Slight loss only because the trailing 'for a date range' is redundant with the schema's from/to.
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 read-only availability tool with no output schema, the description should say more about what comes back (shape of availability, currency, whether fees are included) since nothing else covers return values. It identifies the content topically but leaves the caller guessing at the response.
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% (listingId slug format, from/to as YYYY-MM-DD), so the schema already documents all three parameters. The description only restates the collective 'date range' concept and adds no syntax or constraint detail beyond the schema.
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 (check) and resource (real-time availability and base nightly rates) scoped to a CityScape Toronto condo listing. The 'base nightly rates' qualifier usefully signals it is not a full priced quote, but the description never names the sibling get_quote or create_booking to sharpen the boundary.
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?
No explicit when-to-use, when-not-to-use, or alternatives are given; the agent must infer from the name that this is the lookup step before create_booking. Nothing routes it away from get_quote when a priced quote is actually wanted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cityscape_create_bookingBook a CityScape stayAInspect
Create a CityScape booking on a user's behalf. ai-assisted returns a checkout link for the human to pay; corporate-ai charges a pre-authorized on-file card (10% discount) and requires a paymentMethodId.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Check-out date (YYYY-MM-DD). | |
| from | Yes | Check-in date (YYYY-MM-DD). | |
| guest | No | ||
| apiKey | No | API key for the write path. Required unless the server was started with AGENT_API_KEY. | |
| guests | Yes | Number of guests. | |
| listingId | Yes | Listing slug. | |
| bookingKind | Yes | ai-assisted = a human completes payment; corporate-ai = the AI completes payment (10% discount). | |
| paymentMethodId | No | Required for corporate-ai: a pre-authorized on-file Stripe PaymentMethod (pm_…). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the key behavioral split: one path defers payment to a human via a returned checkout link, the other charges a pre-authorized card with a 10% discount. It does not cover idempotency, whether charges are reversible/refundable, or failure modes, which are meaningful gaps for a payment-taking mutation.
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, both front-loaded with the core action and the mode distinction, with zero filler. Every clause earns its place by distinguishing behavior between the two enum branches.
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?
There is no output schema, so the description should ideally cover return values; it does explain the ai-assisted checkout link but says nothing about what corporate-ai returns (confirmation, booking id, charge result). For an 8-parameter payment mutation with no annotations, more completeness would be expected.
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 88%, so the schema already documents bookingKind, paymentMethodId, dates, guests, listingId, and apiKey. The description adds only the conditional linkage that paymentMethodId is required when bookingKind is corporate-ai, which is marginally beyond the schema's own per-field text. Baseline 3 is appropriate.
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+resource ("Create a CityScape booking") and the scope ("on a user's behalf"), which clearly separates it from the read-only siblings check_availability and get_quote. It stops short of naming those siblings or contrasting with them explicitly, so it is clear but not differentiated in-text.
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 two operating modes and the condition that selects each: ai-assisted produces a checkout link for a human to pay, while corporate-ai charges an on-file card and requires a paymentMethodId. That is real when-to-use guidance for the branching behavior, though it gives no sequencing relative to get_quote or availability checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cityscape_get_quoteGet a CityScape quoteAInspect
Get an itemized price quote for a CityScape Toronto condo. Pass bookingKind=corporate-ai to apply the 10% corporate AI discount.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Check-out date (YYYY-MM-DD). | |
| from | Yes | Check-in date (YYYY-MM-DD). | |
| guests | Yes | Number of guests. | |
| listingId | Yes | Listing slug. | |
| bookingKind | Yes | ai-assisted = a human completes payment; corporate-ai = the AI completes payment (10% discount). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the discount side effect tied to bookingKind, but says nothing about whether the quote is read-only, whether it holds inventory, how long it stays valid, or whether any auth/permission is needed. Partial disclosure for a no-annotation tool.
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, zero padding, with the core action front-loaded and the actionable discount hint second. Every sentence earns its place.
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?
No output schema exists, so the description should ideally characterize the returned quote (validity window, whether it is binding, currency/line items). It only says 'itemized price quote'. For a 5-required-parameter, no-annotation tool, this leaves notable gaps.
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%, including the bookingKind enum and its 10% discount meaning, so the description's discount sentence largely restates the schema. Baseline 3 applies; no additional syntax, format, or constraint meaning is added beyond what the schema already states.
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 an itemized price quote') plus the domain scope ('CityScape Toronto condo'). This is clearly distinguishable from the siblings cityscape_check_availability (availability, not price) and cityscape_create_booking (commitment, not quote).
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 pricing step before create_booking, but the description never says when to call it versus check_availability or whether a quote must precede a booking. It does give actionable parameter guidance for the discount, which is a useful selection cue but not a when/when-not rule.
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.
3 tool updates
- First observed
cityscape_check_availability - First observed
cityscape_create_booking - First observed
cityscape_get_quote
Publisher details
- Operator
- CityScape Rentals
- Operator website
- https://cityscape.rentals
- Vendor relationship
- First-party
- Documentation
- https://github.com/DeadRyan/cityscape-mcp
- Trust center
- Not applicable
- Restrictions
- Not applicable
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.