Taxi Quang Ngai
Quang Ngai Taxi & Travel gateway for AI agents: taxi fares, routes, places, lodging, booking info.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"taxi-quang-ngai": {
"url": "https://taxixanhquangngai.vn/mcp"
}
}
}원격 엔드포인트
https://taxixanhquangngai.vn/mcpstreamable-http할 수 있는 일
도구 목록
도구 (11)
🟢ask(question, from, to, area, distance_km, ...)
Entry point for any question about taxis and travel from Quy Nhon to Da Nang (Quang Ngai centre). Classifies the question (fare, trip estimate, routes, places, lodging, guides, FAQ, booking) and returns data from the matching source with confidence and suggested next tools. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Question in Vietnamese or English"
},
"from": {
"type": "string",
"maxLength": 100
},
"to": {
"type": "string",
"maxLength": 100
},
"area": {
"type": "string",
"maxLength": 100
},
"distance_km": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"question"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string"
},
"confidence": {
"type": "number"
},
"routed_tool": {
"type": "string"
},
"notice": {
"type": "string"
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"confidence",
"routed_tool",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_booking_info(lang)
How to book a Taxi Xanh SM ride in Quang Ngai and nearby (Quy Nhon to Da Nang): hotline, Zalo, Messenger, app links, operating hours. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "booking"
},
"data": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"hotlineHref": {
"type": "string"
},
"zalo": {
"type": "string"
},
"messenger": {
"type": "string"
},
"facebook": {
"type": "string"
},
"email": {
"type": "string"
},
"address": {
"type": "string"
},
"operatingHours": {
"type": "string"
},
"googleMapUrl": {
"type": "string"
},
"apps": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"hotlineHref",
"apps"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_fare_table(service, lang)
Reference taxi fares by service: per-km tiers, surcharges and notes, in VND. Omit service to get all services. Prices are reference values. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"service": {
"description": "Service slug, e.g. taxi-noi-thanh",
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[a-z0-9-]+$"
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "fare"
},
"data": {
"type": "object",
"properties": {
"services": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"tagline": {
"type": "string"
},
"tiers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"price": {
"type": "string"
},
"premiumPrice": {
"type": "string"
},
"note": {
"type": "string"
},
"isGroupHeader": {
"type": "boolean"
}
},
"required": [
"label",
"isGroupHeader"
],
"additionalProperties": false
}
},
"surcharges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"carPrice": {
"type": "string"
},
"premiumPrice": {
"type": "string"
}
},
"required": [
"description",
"carPrice"
],
"additionalProperties": false
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"slug",
"url",
"tiers",
"surcharges",
"notes"
],
"additionalProperties": false
}
}
},
"required": [
"services"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_guides(query, category, page, lang)
Search published travel guides and news about Quang Ngai and nearby (beaches, islands, food, hotels directories). Accent-insensitive. 10 results per page. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200
},
"category": {
"description": "thong-tin = info, cam-nang = travel guide, tin-tuc = news",
"type": "string",
"enum": [
"thong-tin",
"cam-nang",
"tin-tuc"
]
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "guides"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"category": {
"type": "string"
},
"category_label": {
"type": "string"
},
"excerpt": {
"type": "string"
},
"publishedDate": {
"type": "string"
}
},
"required": [
"title",
"slug",
"url",
"category",
"category_label",
"publishedDate"
],
"additionalProperties": false
}
},
"page": {
"type": "number"
},
"total": {
"type": "number"
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"page",
"total",
"has_more"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_guide(slug, part, lang)
Full article as Markdown, split into parts of about 6000 characters; use part to read the rest. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[a-z0-9-]+$"
},
"part": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "guides"
},
"data": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"category": {
"type": "string"
},
"category_label": {
"type": "string"
},
"publishedDate": {
"type": "string"
},
"markdown": {
"type": "string"
},
"part": {
"type": "number"
},
"total_parts": {
"type": "number"
}
},
"required": [
"title",
"slug",
"url",
"category",
"category_label",
"publishedDate",
"markdown",
"part",
"total_parts"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_faq(query, group, audience, lang)
Frequently asked questions about rides, payment, safety, app accounts and driver sign-up. Accent-insensitive. Up to 10 results. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200
},
"group": {
"type": "string",
"enum": [
"an-toan",
"dat-xe",
"thanh-toan",
"tai-khoan",
"khuyen-mai",
"dich-vu-khac",
"dang-ky-tai-xe",
"van-hanh",
"thu-nhap"
]
},
"audience": {
"description": "nguoi-dung = riders, tai-xe = drivers",
"type": "string",
"enum": [
"nguoi-dung",
"tai-xe"
]
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "faq"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"question": {
"type": "string"
},
"answer": {
"type": "string"
},
"group": {
"type": "string"
},
"group_label": {
"type": "string"
},
"audience": {
"type": "string"
}
},
"required": [
"question",
"answer",
"group",
"group_label",
"audience"
],
"additionalProperties": false
}
},
"total": {
"type": "number"
}
},
"required": [
"items",
"total"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢estimate_trip_cost(distance_km, from, to, service, lang)
Estimate a taxi fare in VND from distance_km, or from/to matching a popular route, using listed fare tiers. Returns a reference range per service. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"distance_km": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"from": {
"type": "string",
"maxLength": 100
},
"to": {
"type": "string",
"maxLength": 100
},
"service": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[a-z0-9-]+$"
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "trip_estimate"
},
"data": {
"type": "object",
"properties": {
"distance_km": {
"type": "number"
},
"route": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"area": {
"type": "string"
},
"area_label": {
"type": "string"
},
"distance_km": {
"type": "number"
},
"duration_min": {
"type": "number"
},
"price_estimates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"service": {
"type": "string"
},
"service_slug": {
"type": "string"
},
"min_vnd": {
"type": "number"
},
"max_vnd": {
"type": "number"
}
},
"required": [
"min_vnd",
"max_vnd"
],
"additionalProperties": false
}
},
"toll_note": {
"type": "string"
}
},
"required": [
"name",
"slug",
"from",
"to",
"area",
"area_label",
"distance_km",
"price_estimates"
],
"additionalProperties": false
},
"estimates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"service": {
"type": "string"
},
"slug": {
"type": "string"
},
"estimate_vnd": {
"type": "number"
},
"min_vnd": {
"type": "number"
},
"max_vnd": {
"type": "number"
},
"premium_vnd": {
"type": "number"
}
},
"required": [
"service",
"slug",
"estimate_vnd",
"min_vnd",
"max_vnd"
],
"additionalProperties": false
}
},
"unavailable_services": {
"type": "array",
"items": {
"type": "string"
}
},
"note": {
"type": "string"
}
},
"required": [
"distance_km",
"estimates",
"unavailable_services",
"note"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_popular_routes(area, lang)
Popular taxi routes (airport, ports, beaches, cities from Quy Nhon to Da Nang) with distance, duration and reference prices. Filter by area. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"area": {
"description": "Area code, e.g. quang-ngai-trung-tam, ly-son, my-khe, hoi-an, da-nang",
"type": "string",
"enum": [
"quy-nhon",
"quang-ngai-trung-tam",
"my-khe",
"ly-son",
"quang-ngai-bac",
"quang-ngai-nam",
"quang-ngai-tay",
"chu-lai-tam-ky",
"hoi-an",
"da-nang",
"kon-tum",
"mang-den"
]
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "routes"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"area": {
"type": "string"
},
"area_label": {
"type": "string"
},
"distance_km": {
"type": "number"
},
"duration_min": {
"type": "number"
},
"price_estimates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"service": {
"type": "string"
},
"service_slug": {
"type": "string"
},
"min_vnd": {
"type": "number"
},
"max_vnd": {
"type": "number"
}
},
"required": [
"min_vnd",
"max_vnd"
],
"additionalProperties": false
}
},
"toll_note": {
"type": "string"
}
},
"required": [
"name",
"slug",
"from",
"to",
"area",
"area_label",
"distance_km",
"price_estimates"
],
"additionalProperties": false
}
}
},
"required": [
"items"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_places(query, area, category, page, lang)
Verified places to visit, eat or transfer (beaches, islands, historic sites, ports, airports) in the Quy Nhon to Da Nang area. Accent-insensitive. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200
},
"area": {
"description": "Area code, e.g. quang-ngai-trung-tam, ly-son, my-khe, hoi-an, da-nang",
"type": "string",
"enum": [
"quy-nhon",
"quang-ngai-trung-tam",
"my-khe",
"ly-son",
"quang-ngai-bac",
"quang-ngai-nam",
"quang-ngai-tay",
"chu-lai-tam-ky",
"hoi-an",
"da-nang",
"kon-tum",
"mang-den"
]
},
"category": {
"type": "string",
"enum": [
"bai-bien",
"dao",
"di-tich",
"bao-tang",
"thien-nhien",
"am-thuc",
"pho-dem-cho",
"cang-ben",
"san-bay",
"ben-xe",
"khac"
]
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "places"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"area": {
"type": "string"
},
"area_label": {
"type": "string"
},
"category": {
"type": "string"
},
"category_label": {
"type": "string"
},
"summary": {
"type": "string"
},
"opening_hours": {
"type": "string"
},
"ticket_price_vnd": {
"type": "number"
}
},
"required": [
"name",
"slug",
"area",
"area_label",
"category",
"category_label"
],
"additionalProperties": false
}
},
"page": {
"type": "number"
},
"total": {
"type": "number"
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"page",
"total",
"has_more"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_place(slug, lang)
Details of a verified place: description as Markdown, opening hours, ticket price, map link. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[a-z0-9-]+$"
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "places"
},
"data": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"area": {
"type": "string"
},
"area_label": {
"type": "string"
},
"category": {
"type": "string"
},
"category_label": {
"type": "string"
},
"summary": {
"type": "string"
},
"opening_hours": {
"type": "string"
},
"ticket_price_vnd": {
"type": "number"
},
"content": {
"type": "string"
},
"ticket_note": {
"type": "string"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"google_maps_url": {
"type": "string"
}
},
"required": [
"name",
"slug",
"area",
"area_label",
"category",
"category_label",
"content"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_lodging(query, area, type, stars_min, price_max, ...)
Operating hotels, guesthouses and homestays with phone, website and reference room prices (with survey date; prices change often). Filter by area, type, stars, max price. Read-only.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200
},
"area": {
"description": "Area code, e.g. quang-ngai-trung-tam, ly-son, my-khe, hoi-an, da-nang",
"type": "string",
"enum": [
"quy-nhon",
"quang-ngai-trung-tam",
"my-khe",
"ly-son",
"quang-ngai-bac",
"quang-ngai-nam",
"quang-ngai-tay",
"chu-lai-tam-ky",
"hoi-an",
"da-nang",
"kon-tum",
"mang-den"
]
},
"type": {
"type": "string",
"enum": [
"khach-san",
"nha-nghi",
"homestay",
"resort",
"villa",
"can-ho",
"khac"
]
},
"stars_min": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"price_max": {
"description": "Max price per night in VND",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000000
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"lang": {
"description": "Label language: vi (default) or en",
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"const": "lodging"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"type_label": {
"type": "string"
},
"area": {
"type": "string"
},
"area_label": {
"type": "string"
},
"address": {
"type": "string"
},
"stars_official": {
"type": "number"
},
"phone": {
"type": "string"
},
"phone_trusted": {
"type": "boolean"
},
"website": {
"type": "string"
},
"rooms": {
"type": "number"
},
"price_from_vnd": {
"type": "number"
},
"price_to_vnd": {
"type": "number"
},
"price_date": {
"type": "string"
},
"highlights": {
"type": "string"
}
},
"required": [
"name",
"slug",
"type",
"type_label",
"area",
"area_label",
"phone_trusted"
],
"additionalProperties": false
}
},
"page": {
"type": "number"
},
"total": {
"type": "number"
},
"has_more": {
"type": "boolean"
},
"price_notice": {
"type": "string"
}
},
"required": [
"items",
"page",
"total",
"has_more",
"price_notice"
],
"additionalProperties": false
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
},
"booking": {
"type": "object",
"properties": {
"hotline": {
"type": "string"
},
"app": {
"type": "object",
"properties": {
"android": {
"type": "string"
},
"ios": {
"type": "string"
}
},
"required": [
"android",
"ios"
],
"additionalProperties": false
}
},
"required": [
"hotline",
"app"
],
"additionalProperties": false
},
"next_tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"updated_at": {
"type": "string"
},
"lang": {
"type": "string",
"enum": [
"vi",
"en"
]
}
},
"required": [
"intent",
"data",
"sources",
"disclaimer",
"booking",
"next_tools",
"updated_at",
"lang"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}커뮤니티
증거