Back to ARCASOS Short-Term Rental Search
Card snapshot
arcasos.com
·
2026-05-20 08:08:27 UTC
·
588d89c038bec5d8f9788f52b1efd5ec99b7f5061d1c1d04bf860031ba21f159
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"protocolVersion": "0.3.0",
"name": "ARCASOS Short-Term Rental Search",
"description": "South Korea premium short-term rental discovery service. Natural language search powered by SHV (Semantic Hybrid Vector) retrieval \u2014 combining keyword matching, structured field scoring, and semantic embedding similarity. Specialized for Korean short-term rentals on a weekly basis (1-week minimum, not nightly): pet-friendly homes, private entire spaces, view types (river/ocean/city/mountain), and neighborhood-aware ranking. Accepts both natural language and Schema.org-style structured queries; returns pure Schema.org Accommodation responses.",
"version": "2.0.3",
"url": "https://queehgaoooupmvindevw.supabase.co/functions/v1/agent-message-send",
"wellKnownURI": "https://arcasos.com/.well-known/agent-card.json",
"iconUrl": "https://arcasos.com/favicon.ico",
"documentationUrl": "https://arcasos.com/",
"provider": {
"organization": "ARCASOS",
"url": "https://arcasos.com/"
},
"author": {
"name": "ZULAB (\uc8fc\ub7a9)",
"url": "https://arcasos.com",
"email": "cs@zulab.co.kr"
},
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false
},
"defaultInputModes": [
"text"
],
"defaultOutputModes": [
"text"
],
"skills": [
{
"id": "search_rentals",
"name": "Search Korean short-term rentals",
"description": "Natural language OR structured search over Korean short-term rental inventory. JSON-RPC 2.0 method 'message/send' is supported. Message parts accept either 'text' (natural language, processed by SHV engine with Korean-specific semantic expansion) or 'data' (structured query, mapped to direct DB filters \u2014 faster, deterministic). Structured field names follow Schema.org Accommodation/VacationRental conventions where applicable (petsAllowed, numberOfBedrooms, occupancy.maxValue, address.addressLocality, floorSize.value, amenityFeature), with ARCASOS-specific simple field names also accepted as aliases (pet_allowed, bedrooms, location, etc.). Returns pure Schema.org-compliant ItemList of Accommodation objects \u2014 each item includes @type, address, geo, occupancy, numberOfBedrooms, floorSize, offers (with businessFunction=LeaseOut and eligibleDuration), amenityFeature array (with view:/mood: prefixed ARCASOS extensions), and aggregateRating where applicable.",
"tags": [
"travel",
"rental",
"korea",
"short-term-rental",
"accommodation",
"natural-language-search",
"structured-search",
"schema-org",
"json-ld"
],
"examples": [
"\uac15\ub0a8\uc5ed \uadfc\ucc98 \ubc18\ub824\ub3d9\ubb3c \uac00\ub2a5\ud55c \ub3c5\ucc44 1\uc8fc",
"pet-friendly private home near Gangnam Station for 1 week",
"\ud55c\uac15\ubdf0 \ub7ed\uc154\ub9ac \ud39c\ud2b8\ud558\uc6b0\uc2a4 2\uc8fc",
"river view luxury penthouse for 2 weeks",
"\uc870\uc6a9\ud55c \ud790\ub9c1 \uc219\uc18c \ubd80\ubaa8\ub2d8 \ubaa8\uc2dc\uace0 \uac08\ub9cc\ud55c \uacf3"
],
"inputModes": [
"text"
],
"outputModes": [
"text"
],
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ARCASOS Search Input",
"description": "Either send a 'text' part for natural language (SHV engine) or a 'data' part with the StructuredQuery schema below for direct DB filtering. Structured queries accept BOTH Schema.org Accommodation field names AND ARCASOS simple field aliases \u2014 both styles are normalized internally.",
"oneOf": [
{
"title": "NaturalLanguageInput",
"type": "object",
"description": "Natural language query \u2014 processed by ARCASOS SHV engine (Semantic Hybrid Vector retrieval). Best when intent involves synonyms, mood/vibe, or multiple soft conditions.",
"properties": {
"kind": {
"const": "text"
},
"text": {
"type": "string",
"maxLength": 200,
"description": "Korean or English natural language query."
}
},
"required": [
"kind",
"text"
]
},
{
"title": "StructuredQueryInput",
"type": "object",
"description": "Pre-structured query \u2014 bypasses NLP, applied directly as DB filters. Faster, deterministic, cheaper than natural language. Use when you already know exact filters.",
"properties": {
"kind": {
"const": "data"
},
"data": {
"$ref": "#/$defs/StructuredQuery"
}
},
"required": [
"kind",
"data"
]
}
],
"$defs": {
"StructuredQuery": {
"type": "object",
"description": "Schema.org-compatible OR ARCASOS-simple field names. Both styles are normalized internally. Use only fields you need; omit the rest.",
"properties": {
"location": {
"type": "string",
"description": "ARCASOS-simple: location name (Korean), e.g. '\uac15\ub0a8\uc5ed', '\uac15\ub0a8\uad6c', '\uc11c\uc6b8'. Equivalent to Schema.org address.addressLocality."
},
"address": {
"type": "object",
"description": "Schema.org PostalAddress style.",
"properties": {
"addressLocality": {
"type": "string"
},
"addressRegion": {
"type": "string"
},
"addressCountry": {
"type": "string",
"default": "KR"
}
}
},
"max_guests": {
"type": "integer",
"minimum": 1,
"description": "ARCASOS-simple: minimum max-guest capacity required. Equivalent to Schema.org occupancy.maxValue."
},
"occupancy": {
"type": "object",
"description": "Schema.org QuantitativeValue.",
"properties": {
"maxValue": {
"type": "integer",
"minimum": 1
}
}
},
"bedrooms": {
"type": "integer",
"minimum": 0,
"description": "ARCASOS-simple: minimum bedrooms. Equivalent to Schema.org numberOfBedrooms."
},
"numberOfBedrooms": {
"type": "integer",
"minimum": 0
},
"bathrooms": {
"type": "integer",
"minimum": 0,
"description": "ARCASOS-simple. Equivalent to Schema.org numberOfBathroomsTotal."
},
"numberOfBathroomsTotal": {
"type": "integer",
"minimum": 0
},
"min_area_sqm": {
"type": "number",
"minimum": 0,
"description": "Minimum floor size in square meters. Equivalent to Schema.org floorSize.value (with unitCode MTK)."
},
"floorSize": {
"type": "object",
"description": "Schema.org QuantitativeValue (\u33a1).",
"properties": {
"value": {
"type": "number"
},
"unitCode": {
"type": "string",
"default": "MTK"
}
}
},
"pet_allowed": {
"type": "boolean",
"description": "ARCASOS-simple. Equivalent to Schema.org petsAllowed."
},
"petsAllowed": {
"type": "boolean"
},
"kid_friendly": {
"type": "boolean",
"description": "ARCASOS-simple. Equivalent to Schema.org childFriendly (in amenityFeature)."
},
"childFriendly": {
"type": "boolean"
},
"is_private_entire": {
"type": "boolean",
"description": "ARCASOS-simple: whether entire space is rented privately. Maps to amenityFeature with name='privateEntireSpace'."
},
"property_type": {
"type": "string",
"description": "ARCASOS-simple: e.g. '\ud39c\ud2b8\ud558\uc6b0\uc2a4', '\ud558\uc774\uc5d4\ub4dc \uc624\ud53c\uc2a4\ud154', '\ub3c5\ucc44'. Equivalent to Schema.org accommodationCategory."
},
"accommodationCategory": {
"type": "string"
},
"view_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "ARCASOS-specific: e.g. ['\ud55c\uac15\ubdf0', '\ub3c4\uc2ec\ubdf0', '\uc2dc\ud2f0\ubdf0', '\uc624\uc158\ubdf0', '\ub9c8\uc6b4\ud2f4\ubdf0', '\ub8e8\ud504\ud0d1\ubdf0']. Matches if stay has ANY of the listed views (OR). In responses these appear inside amenityFeature with name='view:\ud55c\uac15\ubdf0' style."
},
"mood_tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "ARCASOS-specific atmosphere tags: e.g. ['\ub7ed\uc154\ub9ac', '\ud504\ub77c\uc774\ube57', '\ubaa8\ub358', '\uc544\ub291']. OR match. In responses these appear inside amenityFeature with name='mood:\ub7ed\uc154\ub9ac' style."
},
"amenities": {
"type": "array",
"items": {
"type": "string"
},
"description": "ARCASOS-specific amenity tags: e.g. ['\uc790\ucfe0\uc9c0', '\uc218\uc601\uc7a5', '\ud5ec\uc2a4\uc7a5']. OR match."
},
"amenityFeature": {
"type": "array",
"description": "Schema.org LocationFeatureSpecification list. Items with name='petsAllowed'/'childFriendly' map to boolean fields; name='view:...' / 'mood:...' map to ARCASOS arrays; other names map to amenities list.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": [
"boolean",
"string",
"number"
]
}
}
}
},
"max_price_per_week": {
"type": "number",
"minimum": 0,
"description": "Upper bound on weekly rental price (KRW)."
},
"min_price_per_week": {
"type": "number",
"minimum": 0
},
"sort": {
"type": "string",
"enum": [
"price_asc",
"price_desc",
"rating_desc"
],
"default": "rating_desc"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 10
}
}
}
}
},
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ARCASOS Search Output (Schema.org Compliant)",
"description": "Response is a JSON-RPC 2.0 result containing an A2A Task with two artifact parts: a human-readable text summary and a Schema.org ItemList of Accommodation objects.",
"type": "object",
"properties": {
"@context": {
"const": "https://schema.org"
},
"@type": {
"const": "ItemList"
},
"platform": {
"const": "ARCASOS"
},
"platformUrl": {
"type": "string"
},
"numberOfItems": {
"type": "integer"
},
"query": {
"type": "object",
"description": "Echoes the request and what ARCASOS understood/applied. Useful for the calling agent to verify interpretation and request corrections."
},
"itemListElement": {
"type": "array",
"items": {
"type": "object",
"properties": {
"@type": {
"const": "ListItem"
},
"position": {
"type": "integer"
},
"item": {
"type": "object",
"description": "Schema.org Accommodation. Includes: @type, additionalType='ShortTermRental', name, address (PostalAddress), geo (GeoCoordinates), occupancy (QuantitativeValue), numberOfBedrooms, numberOfBathroomsTotal, floorSize (QuantitativeValue, MTK), accommodationCategory, offers (Offer with businessFunction=LeaseOut, eligibleDuration=7 DAY), aggregateRating where applicable, amenityFeature array (LocationFeatureSpecification). ARCASOS-specific extensions use prefixed names inside amenityFeature: 'view:<viewType>', 'mood:<moodTag>'. Match score is exposed as identifier with propertyID='arcasos:matchScore'."
}
}
}
}
}
},
"callingHints": {
"decisionGuide": "Use NATURAL LANGUAGE (text part) when you want ARCASOS to interpret intent (synonyms, vibe, multiple soft conditions, Korean semantic expansion). Use STRUCTURED (data part) when you already know exact filters (faster, deterministic, cheaper, no Gemini cost). Both return identical response shape; query._mode field indicates which path was taken."
}
}
],
"authSchemes": [
{
"scheme": "none",
"description": "This skill is publicly accessible \u2014 no authentication required for search."
}
],
"supportsAuthenticatedExtendedCard": false,
"mcpEndpoint": {
"url": "https://mcp.arcasos.com",
"transport": "streamable-http",
"wellKnownURI": "https://arcasos.com/.well-known/mcp.json",
"description": "MCP (Model Context Protocol) Streamable HTTP endpoint. Compatible with Claude Desktop, Cursor, VS Code Copilot, ChatGPT, and any MCP-compliant client. Exposes 3 tools: search_rentals_natural (SHV semantic search), search_rentals_structured (SQL filter), get_rental_details (single rental lookup).",
"tools": [
"search_rentals_natural",
"search_rentals_structured",
"get_rental_details"
],
"rateLimit": {
"minute": 60,
"hour": 600,
"day": 5000,
"scope": "per IP"
}
},
"metadata": {
"platform": "ARCASOS",
"platformType": "short-term-rental-marketplace",
"country": "KR",
"languages": [
"ko",
"en"
],
"currency": "KRW",
"minimumStayUnit": "week",
"responseFormat": "schema.org",
"schemaOrgTypes": [
"ItemList",
"Accommodation",
"PostalAddress",
"GeoCoordinates",
"QuantitativeValue",
"Offer",
"AggregateRating",
"LocationFeatureSpecification",
"PropertyValue"
],
"note": "ARCASOS is a short-term rental (\uc784\ub300\ucc28) platform, not a hotel/nightly accommodation service. Rentals are billed on a weekly basis (price_per_week); minimum stay is 1 week. Hosts approve booking requests before payment. Both A2A (agent-message-send) and MCP (agent-mcp-server) endpoints are available \u2014 A2A for agent-to-agent JSON-RPC and MCP for direct LLM tool use.",
"lastUpdated": "2026-05-16",
"_lastEdit": "2026-05-20: protocolVersion 1.0->0.3.0; default AND skill input/outputModes -> [text] to match VERIFIED agents (a2aregistry /chat 502 fix). 2026-05-20b: mcpEndpoint.url -> https://mcp.arcasos.com (Deno Deploy reverse proxy custom domain) for MCP Registry com.arcasos namespace eligibility; version 2.0.2->2.0.3."
}
}