mirror of
https://github.com/NomaDamas/k-skill.git
synced 2026-09-14 16:37:18 +08:00
58e9c0224a
The earlier issue #120 regression only matched prose, so this follow-up records the verified remote MCP tool/result snapshot in a checked-in fixture and makes both docs surfaces byte-align to it. That keeps the discoverability docs honest while turning the review claim into a real contract lock for tools/list, get_menu, get_shop_info, and the invalid-phone event flow. Constraint: The upstream remote MCP server can change independently of this repo Rejected: Keep prose-only regex checks | would not catch contract drift Confidence: high Scope-risk: narrow Reversibility: clean Directive: Refresh the fixture, both JSON fences, and the live-smoke evidence together whenever the upstream contract changes Tested: node --test scripts/skill-docs.test.js --test-name-pattern='hola-poke-yeoksam'; npm run ci; live MCP smoke check against https://hola-poke-yeoksam-skill.onrender.com/mcp (initialize, tools/list, get_menu, get_shop_info, invalid enter_event) Not-tested: Successful enter_event with a real phone number (intentionally avoided to prevent live event participation)
139 lines
3.1 KiB
JSON
139 lines
3.1 KiB
JSON
{
|
|
"verified_at": "2026-04-16 KST",
|
|
"endpoint": "https://hola-poke-yeoksam-skill.onrender.com/mcp",
|
|
"initialize": {
|
|
"protocolVersion": "2025-03-26",
|
|
"serverInfo": {
|
|
"name": "hola-poke-yeoksam",
|
|
"version": "3.2.3"
|
|
}
|
|
},
|
|
"tools_list": {
|
|
"tools": [
|
|
{
|
|
"name": "get_menu",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"additionalProperties": false
|
|
},
|
|
"outputSchema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
{
|
|
"name": "get_shop_info",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"additionalProperties": false
|
|
},
|
|
"outputSchema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
{
|
|
"name": "enter_event",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"phone": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"phone"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"outputSchema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"get_menu": {
|
|
"updated_at": "2026-04-13",
|
|
"currency": "KRW",
|
|
"price_unit": "천원",
|
|
"signature_poke": [
|
|
{
|
|
"id": 2,
|
|
"name": "갈릭 쉬림프 포케",
|
|
"price": 11.5,
|
|
"tags": [
|
|
"BEST"
|
|
]
|
|
},
|
|
{
|
|
"id": 7,
|
|
"name": "아보카도 포케",
|
|
"price": 10.5,
|
|
"tags": [
|
|
"VEGAN"
|
|
]
|
|
}
|
|
],
|
|
"sets": [
|
|
{
|
|
"name": "1인 포케+스프 세트",
|
|
"items": "포케 + 스프",
|
|
"price": 13.5,
|
|
"price_note": "13.5~"
|
|
},
|
|
{
|
|
"name": "1인 혼밥 든든세트",
|
|
"items": "포케 + 스프 + 음료",
|
|
"price": 15.5,
|
|
"price_note": "15.5~"
|
|
}
|
|
],
|
|
"addons": [
|
|
{
|
|
"name": "아보카도",
|
|
"price": 3.5
|
|
},
|
|
{
|
|
"name": "메밀면",
|
|
"price": 1.5
|
|
}
|
|
]
|
|
},
|
|
"get_shop_info": {
|
|
"name": "올라포케 역삼점",
|
|
"address_road": "서울 강남구 논현로95길 29-8 1층 102호",
|
|
"hours": {
|
|
"weekday": "10:30 - 20:30",
|
|
"break_time": "15:00 - 17:00",
|
|
"weekend": "영업시간 네이버 스마트플레이스 확인"
|
|
},
|
|
"delivery_radius_km": 3,
|
|
"group_order_url": "",
|
|
"group_order_note": "10만원 이상 단체주문은 네이버 단체주문 페이지에서 메뉴 선택 후 네이버페이 결제. 결제 완료 시 예약 확정.",
|
|
"delivery_apps": [
|
|
"배달의민족",
|
|
"쿠팡이츠",
|
|
"요기요"
|
|
]
|
|
},
|
|
"enter_event_success_contract": {
|
|
"required_fields": [
|
|
"message",
|
|
"code",
|
|
"next_action"
|
|
],
|
|
"accepts": [
|
|
"01012345678",
|
|
"010-1234-5678"
|
|
],
|
|
"stores_name_or_email": false
|
|
},
|
|
"enter_event_invalid_phone": {
|
|
"error": "phone_format",
|
|
"message": "번호는 010으로 시작하는 11자리로 입력해주세요 (예: 01012345678 또는 010-1234-5678)."
|
|
}
|
|
}
|