arcasos-rentals
Server Details
Korean premium short-term rental search: natural language or structured filters (SHV engine).
- Status
- Healthy
- Uptime
- 100.0% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 5 tools
The two search tools (search_rentals_natural vs search_rentals_structured) overlap in purpose, but their descriptions give a very explicit decision rule (descriptive language → natural, pure numeric/categorical → structured), so misselection is unlikely. get_booking_status, get_rental_details and request_booking each target a clearly distinct resource and action.
Every tool follows a clean verb_noun (or verb_noun_qualifier) snake_case pattern: get_booking_status, get_rental_details, request_booking, search_rentals_natural, search_rentals_structured. Verbs are purpose-specific (get/request/search) and used consistently.
Five tools is a lean, well-scoped set for a guest-facing rental search-and-request flow, with each tool earning its place. It is slightly thin—no cancellation or listing-retrieval helper—but not under-provisioned for the core workflow.
The surface covers the full guest lifecycle: search (semantic + structured), detail lookup with optional quote, booking-request draft creation, and status polling. The main gap is inability to cancel/withdraw a draft or booking, but for an advisory, non-payer agent flow this is a minor omission.
Available Tools
5 toolsget_booking_statusARead-onlyInspect
Get the public status of a booking request draft created by request_booking, using its draft_id and status_token. Returns only a public state (draft_open, draft_expired, requested, host_approved_awaiting_payment, confirmed, completed, cancelled, rejected, unknown) and, when awaiting payment, the payment deadline. No personal data.
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | draft_id from request_booking. | |
| status_token | Yes | status_token from request_booking. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: it discloses the privacy guarantee ('No personal data'), the token-based access model, and the full set of possible states including 'unknown'. No permissions, rate limits, or error behavior are discussed, keeping it short of a 5.
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?
Front-loads the purpose and pairs it with the dependency in the first clause, then covers returns and privacy in two more compact sentences. The parenthetical state list is long but each item is load-bearing since no output schema exists.
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 no output schema, the description carries the burden of describing return values and does so completely by enumerating every state and noting the conditional payment deadline field. Combined with the privacy guarantee, an agent has everything needed to call and interpret this tool.
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 both schema properties already state they come 'from request_booking', so the description's same point adds no new meaning. Baseline 3 is appropriate when the schema fully documents the parameters.
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 the public status of a booking request draft') and ties it to its origin ('created by request_booking'), which cleanly distinguishes it from siblings like get_rental_details. The enumerated return states make the scope unambiguous.
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?
Makes clear this is the follow-up call to request_booking and requires the draft_id and status_token that request_booking produced, so an agent knows when to reach for it. It stops short of naming explicit exclusions or alternatives (e.g., what to use for a confirmed booking's rental details).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rental_detailsARead-onlyInspect
Get detailed information for a specific rental by ID or slug. Returns full Schema.org Accommodation including pricing, amenities, location, photos. Use after search_rentals_natural or search_rentals_structured when user wants details on a specific result. Only returns publicly-eligible rentals (approved + available + bookable). Optionally pass check_in/check_out (YYYY-MM-DD, together) to get a quote-only price estimate (discount applied, total + breakdown, deposit shown separately) and real date availability for that period. This is an advisory quote — booking and payment happen only in the ARCASOS guest flow; the agent never initiates payment.
| Name | Required | Description | Default |
|---|---|---|---|
| check_in | No | Optional move-in date (YYYY-MM-DD). Must be provided together with check_out. Enables period quote + date availability. Future dates only. | |
| check_out | No | Optional move-out date (YYYY-MM-DD). Must be provided together with check_in, and be after check_in. The check_out day is not occupied (next check-in allowed). | |
| rental_id | Yes | Rental UUID or slug from search results. Both formats supported. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, so the description is not carrying the safety burden. It adds real behavioral context anyway: only publicly-eligible rentals are returned (approved + available + bookable), date arguments produce an advisory quote-only price with discount, breakdown and separate deposit, and payment is explicitly out of scope.
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?
Front-loaded with purpose and routing before the optional-date behavior, and each sentence carries distinct information. It is denser than strictly necessary, with the quote mechanics packed into one long sentence, but nothing is filler.
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, yet the description summarizes the return shape (Schema.org Accommodation with pricing, amenities, location, photos) and the quote breakdown. For a three-parameter read tool with annotations already covering safety, nothing an agent needs 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.
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 and the schema already documents the mutual dependency of check_in/check_out and the ID/slug formats. The description still adds value by explaining the effect of supplying the dates (quote-only estimate plus real date availability), which is beyond the schema's field-level 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 detailed information for a specific rental by ID or slug') and names the return payload (full Schema.org Accommodation). It also distinguishes itself from the sibling search tools by explicitly positioning itself as the follow-up detail call.
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?
Directly states when to use it: 'after search_rentals_natural or search_rentals_structured when user wants details on a specific result.' It also draws a hard boundary around adjacent actions by noting booking and payment only happen in the ARCASOS guest flow and the agent never initiates payment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_bookingAInspect
Create a booking REQUEST DRAFT for a rental on behalf of a person, and get a claim link for that person. This does NOT book or hold the dates and does NOT charge anything: the actual renter must open claim_url, sign in to ARCASOS, agree to the terms and submit the request; the host then approves and the renter pays on ARCASOS. The agent is never the payer. Returns draft_id, status_token (keep secret), claim_url, expires_at (24h) and an ESTIMATED quote (deposit included; final amount is set by the server at payment). Dates must be YYYY-MM-DD; most rentals accept weekly units only (7/14/21... days).
| Name | Required | Description | Default |
|---|---|---|---|
| guests | No | Number of guests (default 1). | |
| stay_id | Yes | Rental ID (UUID) from search/details results. | |
| check_in | Yes | Move-in date (YYYY-MM-DD). | |
| check_out | Yes | Move-out date (YYYY-MM-DD), after check_in. | |
| principal_hint | No | Optional prefill hints for the renter's form (not verified, never contacted). | |
| message_to_host | No | Optional note shown as a prefill; the renter can edit it before submitting. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses that no charge/hold occurs, that the agent is never the payer, that status_token must be kept secret, the 24h expiry, and that the returned quote is only an estimate finalized server-side at payment. This is exactly the behavioral context annotations cannot carry.
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?
Front-loaded with the single most important nuance (it's a draft, not a booking) before the mechanics. The description is long, but each clause (no-charge, claim flow, secret token, expiry, weekly units) carries operational weight rather than 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?
With no output schema, the description correctly enumerates the return payload (draft_id, status_token, claim_url, expires_at, estimated quote) and covers the critical handoff flow and date/unit constraints. Nothing an agent needs to invoke or interpret the call 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 already 100%, but the description adds a genuinely non-obvious constraint absent from the schema: 'most rentals accept weekly units only (7/14/21... days)', plus date format reinforcement. It adds real meaning beyond the field docs, though the per-parameter details are largely schema-covered.
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 booking REQUEST DRAFT for a rental') and immediately sharpens it by clarifying it is a draft, not a confirmed booking, which distinguishes it from any sibling that reads status or details. The agent can tell exactly what this produces without opening the schema.
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?
Explicitly states when-not ('This does NOT book or hold the dates and does NOT charge anything') and walks through the downstream flow (renter opens claim_url, signs in, agrees, submits; host approves; renter pays). It does not name sibling tools as alternatives, so it stops just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_rentals_naturalARead-onlyInspect
PREFERRED tool for Korean short-term rental queries containing any descriptive language. ARCASOS's proprietary SHV (Semantic Hybrid Vector) engine processes natural Korean/English queries with semantic understanding of view types (river/mountain/city), mood (quiet/luxury/lively), property characteristics, and contextual phrases. Pass the user's natural language query AS-IS — do NOT extract slots. Returns semantically pre-ranked results in Schema.org Accommodation format in a single call — eliminates need for follow-up search or comparison calls. Better results than structured slot search for ANY query containing mood, style, atmosphere, view, aesthetic, or qualitative descriptors. Use this to minimize token usage and latency.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | User's natural language query in Korean or English. Pass as-is. Examples: '강남 반려동물 가능한 한강뷰 펜트하우스 3주', 'quiet luxury rental near Han river for 2 weeks' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower. The description adds genuine context beyond them: it names the SHV semantic engine, explains that results are semantically pre-ranked, returned in Schema.org Accommodation format in a single call, and that no follow-up calls are needed. Some of this is promotional but it does inform expected 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?
The routing statement and the when-to-use condition are front-loaded and the sentences carry useful information, but there is some promotional padding ('proprietary SHV engine', 'minimize token usage and latency') and mild redundancy between the first and fifth sentences.
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 no output schema, the description steps in to describe the return shape (Schema.org Accommodation, semantically pre-ranked, single call), which is what an agent needs. Nothing critical is missing, though the return description stays high-level.
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%, and the schema itself documents the single 'query' parameter with examples and a pass-as-is instruction. The description's 'pass AS-IS — do NOT extract slots' reinforces rather than adds meaning beyond the schema, so the 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+resource ('search rentals') scoped to natural-language Korean short-term rental queries, and explicitly positions itself as the PREFERRED tool, distinguishing it from the search_rentals_structured sibling without needing to open either schema.
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?
Explicitly names the alternative ('structured slot search') and gives the selecting condition: use this for ANY query containing mood, style, atmosphere, view, aesthetic, or qualitative descriptors. It also instructs to pass the query as-is rather than extracting slots, which is actionable routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_rentals_structuredARead-onlyInspect
Use ONLY when the query consists entirely of explicit numeric/categorical constraints with NO descriptive language (no mood, view, atmosphere, or aesthetic words). Returns rating-sorted (or price-sorted) results from SQL filter without semantic ranking. For ANY query containing descriptors like 'cozy', 'quiet', 'luxury', 'river view', 'modern', use search_rentals_natural instead — it produces better results in a single call. Returns Schema.org Accommodation format.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order (default: rating_desc) | |
| limit | No | Max results (default 10) | |
| bedrooms | No | Exact number of bedrooms (not a minimum). Matches search_rentals_natural semantics — '2룸' returns exactly 2-bedroom rentals. | |
| location | No | Location name in Korean (e.g., '강남', '강남역', '홍대') | |
| amenities | No | Required amenities (e.g., ['wifi', 'parking']) | |
| bathrooms | No | Minimum bathrooms required | |
| mood_tags | No | Mood tags (e.g., ['luxury', 'cozy']) | |
| max_guests | No | Minimum guest capacity required | |
| view_types | No | View types (e.g., ['river', 'city', 'mountain']) | |
| pet_allowed | No | Pet-friendly rentals only | |
| kid_friendly | No | Kid-friendly rentals only | |
| property_type | No | Property type (e.g., '아파트', '펜트하우스', '주택') | |
| is_private_entire | No | Entire private space (not shared) | |
| max_price_per_week | No | Maximum price per week in KRW | |
| min_price_per_week | No | Minimum price per week in KRW |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds genuinely new behavioral context: results come from a SQL filter with no semantic ranking, ordering is rating- or price-based, and the return format is Schema.org Accommodation — useful given there is no output schema.
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?
Three tight sentences, front-loaded with the primary usage constraint before the alternative-tool routing. Every sentence carries routing or return-format information; nothing is redundant.
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 15-param, zero-required filter tool with no output schema, the description supplies the missing return format (Schema.org Accommodation), the ranking behavior, and the decisive routing rule versus its sibling. An agent has everything needed to select and call it 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 15 parameters, including the notable 'exact bedrooms, not minimum' semantics. The description adds no parameter-level syntax or format guidance beyond what the schema provides, so the 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 (search) and resource (rentals) plus the mechanism: SQL filter without semantic ranking, returning Schema.org Accommodation. It explicitly distinguishes itself from the sibling search_rentals_natural, so an agent can route without opening either schema.
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?
Gives an explicit when-to-use rule ('ONLY when the query consists entirely of explicit numeric/categorical constraints with NO descriptive language') and an explicit when-not rule with named alternative ('For ANY query containing descriptors like cozy, quiet... use search_rentals_natural instead'). It even lists example descriptor words, removing inference.
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
- Added
get_booking_status - Added
request_booking
1 tool update
- Changed
search_rentals_structured1 field changed- changed
Input schema / properties / bedrooms / descriptionPrevious value: -"Minimum bedrooms required"New value: +"Exact number of bedrooms (not a minimum). Matches search_rentals_natural semantics — '2룸' returns exactly 2-bedroom rentals."
1 tool update
- Changed
get_rental_details2 fields changed- added
Input schema / properties / check_inAdded value: +{ + "description": "Optional move-in date (YYYY-MM-DD). Must be provided together with check_out. Enables period quote + date availability. Future dates only.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" +} - added
Input schema / properties / check_outAdded value: +{ + "description": "Optional move-out date (YYYY-MM-DD). Must be provided together with check_in, and be after check_in. The check_out day is not occupied (next check-in allowed).", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" +}
3 tool updates
- First observed
get_rental_details - First observed
search_rentals_natural - First observed
search_rentals_structured
Related MCP Connectors
- HeyYumiOAuthai.heyyumi
Find & book real Korean restaurants in any language, in-chat. Seoul, Gyeonggi, Busan, Jeju.
Check whether a short-term rental in South Korea is registered, using official government records.
- mcpweaveOAuthcom.mcpweave
Korea-native MCP gateway: Korean commerce, payments, messaging, gov & finance APIs for AI agents.
Korean lodging: 84,490 stays from 4 government permit ledgers + KTO TourAPI, honest gaps
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables ChatGPT and other MCP-capable clients to query, compare, cluster, and semantically search a million Korean synthetic personas using structured filters and statistical summaries.1Apache 2.0
- FlicenseAqualityCmaintenanceEnables searching and comparing Airbnb (Korea) and Yanolja accommodation prices, with tools for price distribution, historical trends, and snapshot management, storing collected data in SQLite.4-
- AlicenseAqualityDmaintenanceEnables searching Korean apartment listings, market prices, and recent transactions via Naver Real Estate through natural language.6MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language access to 11 Korean building data tools including building registers, permits, comprehensive profiles with zoning, floor composition, district statistics, old building analysis, price history, demolitions, and permit pipeline.69MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.