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
追加
find_restaurants_near_landmark
2026年9月17日12:49
追加
book_flow_reservation
2026年9月17日12:49
追加
get_flow_offers
2026年9月17日12:49
追加
get_restaurant_reviews
2026年9月17日12:49
追加
get_restaurant_details
2026年9月17日12:49
追加
search_restaurants
2026年9月17日12:49