MCP 서버

POS.DO MCP Server

io.github.posdo-io/mcp-server

이 MCP로 할 수 있는 일

Discovers restaurants, reviews locations and cultural context, shows time-based dining offers, and supports reservations.

book_flow_reservation
Make a reservation at a Flow-discounted time slot. Phone must be E.164 (e.g. +34911234567). To make retries safe, send the same Idempotency-Key HTTP header on retries (any UUID); replays within 24h return the original reservation. Rate limited to 5 reservations per email per day and 10 attempts per IP per minute.
입력 스키마
{'type': 'object', 'required': ['slug', 'yield_offer_id', 'guest_name', 'guest_email', 'guest_phone'], 'properties': {'slug': {'type': 'string', 'description': 'Restaurant URL slug.'}, 'notes': {'type': 'string'}, 'guest_name': {'type': 'string'}, 'party_size': {'type': 'integer', 'default': 2, 'maximum': 20, 'minimum': 1}, 'guest_email': {'type': 'string', 'format': 'email'}, 'guest_phone': {'type': 'string', 'pattern': '^\\+[1-9]\\d{7,14}$', 'description': 'E.164 format, e.g. +34911234567.'}, 'yield_offer_id': {'type': 'integer', 'description': 'Offer ID returned by get_flow_offers.'}}}
find_restaurants_near_landmark
Find restaurants near a famous landmark (monument, museum, park). Returns landmark info from Wikidata + nearby restaurants sorted by walking distance. Examples: 'Sagrada Familia', 'Colosseum', 'Central Park', 'Tour Eiffel'.
입력 스키마
{'type': 'object', 'required': ['landmark'], 'properties': {'city': {'type': 'string', 'description': 'City hint for landmark disambiguation.'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 15, 'minimum': 1}, 'radius': {'type': 'integer', 'default': 1000, 'maximum': 5000, 'minimum': 200, 'description': 'Search radius in meters.'}, 'landmark': {'type': 'string', 'description': 'Landmark name.'}}}
get_cultural_context_around_restaurant
Get cultural context around a restaurant: nearby monuments, museums, parks, historical sites with distance and heritage status. Powered by Wikidata.
입력 스키마
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Restaurant URL slug.'}}}
get_flow_offers
POS.DO Flow time-based offers for a restaurant. Off-peak hours have bigger discounts. Returns time slots with discount percentages and remaining covers. Tagline: 'Tu hora, tu precio'.
입력 스키마
{'type': 'object', 'required': ['slug'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date YYYY-MM-DD (default: today).'}, 'slug': {'type': 'string', 'description': 'Restaurant URL slug.'}}}
get_restaurant_details
Get the full profile of a restaurant by URL slug. Returns name, address, coordinates, rating, reviews count, phone, opening hours, photos, services, cuisine type, price level, current Flow offers, and cultural context.
입력 스키마
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "Restaurant URL slug. Example: 'anima-e-cuore-osteria-bilbao'."}}}
get_restaurant_reviews
Get paginated reviews for a restaurant. Filter by star rating, sort by date or rating. Returns review text, author, rating, date, photos, language, owner response, and rating distribution.
입력 스키마
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Restaurant URL slug.'}, 'sort': {'enum': ['recent', 'rating_high', 'rating_low'], 'type': 'string', 'default': 'recent'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 30, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'rating': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': 'Filter by exact star rating.'}}}
search_restaurants
Search restaurants in a specific city. Filter by cuisine type, price range, and features like outdoor seating, WiFi, delivery. Returns up to 20 results with name, rating, cuisine, price range, address, coordinates, photo, amenities, and current Flow offers.
입력 스키마
{'type': 'object', 'required': ['city'], 'properties': {'city': {'type': 'string', 'description': "City name. Examples: 'Madrid', 'New York', 'Milano', 'Barcelona'."}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'description': "Free-text search: cuisine, occasion, features (e.g. 'romantic italian terrace')."}, 'cuisine': {'type': 'string', 'description': "Cuisine filter. Examples: 'italian', 'mexican', 'sushi', 'spanish', 'indian'."}, 'features': {'type': 'string', 'description': 'Comma-separated feature filters: terrace, wifi, parking, delivery, accessible.'}, 'price_max': {'type': 'integer', 'maximum': 4, 'minimum': 1, 'description': 'Max price level 1=budget, 4=fine dining.'}}}
추가됨
get_cultural_context_around_restaurant
2026년 9월 17일 12:49 PM
추가됨
find_restaurants_near_landmark
2026년 9월 17일 12:49 PM
추가됨
book_flow_reservation
2026년 9월 17일 12:49 PM
추가됨
get_flow_offers
2026년 9월 17일 12:49 PM
추가됨
get_restaurant_reviews
2026년 9월 17일 12:49 PM
추가됨
get_restaurant_details
2026년 9월 17일 12:49 PM
추가됨
search_restaurants
2026년 9월 17일 12:49 PM