{"$schema":"https:\/\/webmcp.link\/schema\/v0.1\/manifest.json","name":"POS.DO - Restaurant Discovery Platform","description":"Discover restaurants across 20 countries with cultural context, real reviews, and time-based offers. 356,000+ restaurants in 7 languages.","version":"1.1.0","generated_at":"2026-05-13T21:49:56+00:00","provider":{"name":"EZZYPUSH SL","url":"https:\/\/pos.do","contact":"info@pos.do"},"capabilities":{"languages":["es","en","it","fr","de","pt","ca"],"countries":["US","ES","IT","MX","FR","CO","DE","GB","DO","PR","AU","CA","PT","JP","BE","CH","HK","VE","NZ","PY"],"total_restaurants":356780,"total_reviews":13280561,"has_reviews":true,"has_photos":true,"has_reservations":true,"has_cultural_context":true},"tools":[{"name":"searchRestaurants","description":"Search restaurants in a specific city. Filter by cuisine type, price range, rating, and features like outdoor seating, WiFi, delivery. Returns up to 20 results with name, rating, cuisine, price range, address, and current Flow offers.","endpoint":"\/api\/webmcp\/search","method":"GET","parameters":{"type":"object","properties":{"city":{"type":"string","description":"City name to search in. Examples: 'Madrid', 'New York', 'Milano', 'Barcelona'","required":true},"query":{"type":"string","description":"Free-text search: cuisine, occasion, features (e.g. 'romantic italian terrace')"},"cuisine":{"type":"string","description":"Cuisine type filter. Examples: 'italian', 'mexican', 'sushi', 'spanish', 'indian'"},"price_max":{"type":"integer","description":"Maximum price level 1-4 (1=budget, 4=fine dining)"},"features":{"type":"string","description":"Comma-separated feature filters: terrace, wifi, parking, delivery, accessible"},"limit":{"type":"integer","default":10,"description":"Max results (1-20)"}},"required":["city"]},"returns":{"type":"object","description":"List of restaurants with name, slug, rating, reviews_count, cuisine, price_range, address, coordinates, photo_url, amenities, flow_discount, and distance_km"}},{"name":"getRestaurantDetails","description":"Get full details of a specific restaurant by its URL slug. Returns complete profile including photos, opening hours, services, menu availability, reviews summary, and active Flow time-based offers.","endpoint":"\/api\/webmcp\/restaurant\/{slug}","method":"GET","parameters":{"type":"object","properties":{"slug":{"type":"string","description":"Restaurant URL slug. Example: 'anima-e-cuore-osteria-bilbao'","required":true}},"required":["slug"]},"returns":{"type":"object","description":"Complete restaurant profile with name, address, coordinates, rating, reviews_count, phone, opening_hours, google_photos, services, cuisine_type, price_level, flow_offers_today, and cultural_context"}},{"name":"getRestaurantReviews","description":"Get paginated reviews for a restaurant. Can filter by star rating and sort by date or rating. Returns review text, author, rating, date, photos, and rating distribution.","endpoint":"\/api\/webmcp\/restaurant\/{slug}\/reviews","method":"GET","parameters":{"type":"object","properties":{"slug":{"type":"string","description":"Restaurant URL slug","required":true},"rating":{"type":"integer","description":"Filter reviews by exact star rating (1-5)"},"sort":{"type":"string","enum":["recent","rating_high","rating_low"],"default":"recent","description":"Sort order for reviews"},"limit":{"type":"integer","default":10,"description":"Max reviews per page (1-30)"},"offset":{"type":"integer","default":0,"description":"Pagination offset"}},"required":["slug"]},"returns":{"type":"object","description":"Reviews with author_name, rating, review_text, review_date, language, review_photos, owner_response, plus rating_distribution and total_reviews"}},{"name":"bookFlowReservation","description":"POS.DO Flow: time-based restaurant offers. Get current discount offers for a restaurant (discounts vary by time of day - off-peak hours have bigger discounts). Can also make a reservation at the discounted price. Tagline: 'Tu hora, tu precio' (Your time, your price). Reservations require an Idempotency-Key header to safely retry; phone numbers must be E.164 (e.g. +34911234567).","actions":[{"name":"getOffers","endpoint":"\/api\/webmcp\/flow\/offers\/{slug}","method":"GET","description":"Get today's time-based offers for a restaurant. Returns available time slots with discount percentages and remaining covers.","parameters":{"type":"object","properties":{"slug":{"type":"string","required":true,"description":"Restaurant URL slug"},"date":{"type":"string","description":"Date in YYYY-MM-DD format (default: today)"}}}},{"name":"makeReservation","endpoint":"\/api\/webmcp\/flow\/reserve","method":"POST","description":"Make a reservation at a Flow-discounted time slot. Send Idempotency-Key header (UUID) to make retries safe. Phone must be E.164 (e.g. +34911234567).","headers":{"Idempotency-Key":{"type":"string","required":false,"description":"Optional UUID. If provided, replaying the same request within 24h returns the original reservation instead of creating a duplicate."}},"parameters":{"type":"object","properties":{"slug":{"type":"string","required":true,"description":"Restaurant URL slug"},"yield_offer_id":{"type":"integer","required":true,"description":"Offer ID from getOffers response"},"guest_name":{"type":"string","required":true,"description":"Guest full name"},"guest_email":{"type":"string","required":true,"description":"Guest email address"},"guest_phone":{"type":"string","required":true,"description":"Guest phone in E.164 format (e.g. +34911234567)"},"party_size":{"type":"integer","default":2,"description":"Number of guests (1-20)"},"notes":{"type":"string","description":"Special requests or notes"}}}}]},{"name":"exploreNearby","description":"Explore cultural context around restaurants or landmarks. Find restaurants near famous landmarks (monuments, museums, parks) with distance info, or get cultural context (heritage sites, historical places) around a specific restaurant. Powered by Wikidata integration.","actions":[{"name":"nearLandmark","endpoint":"\/api\/webmcp\/explore\/landmark","method":"GET","description":"Find restaurants near a landmark. Returns landmark info from Wikidata + nearby restaurants sorted by walking distance.","parameters":{"type":"object","properties":{"landmark":{"type":"string","description":"Landmark name. Examples: 'Sagrada Familia', 'Colosseum', 'Central Park', 'Tour Eiffel'","required":true},"city":{"type":"string","description":"City hint for landmark disambiguation"},"radius":{"type":"integer","default":1000,"description":"Search radius in meters (200-5000)"},"limit":{"type":"integer","default":10,"description":"Max restaurant results (1-15)"}}}},{"name":"restaurantContext","endpoint":"\/api\/webmcp\/explore\/context\/{slug}","method":"GET","description":"Get cultural context around a restaurant. Returns nearby monuments, museums, parks, historical sites from Wikidata with distance and heritage status.","parameters":{"type":"object","properties":{"slug":{"type":"string","required":true,"description":"Restaurant URL slug"}}}}]}],"authentication":"none","rate_limit":{"requests_per_minute":60,"requests_per_day":10000,"reservations_per_email_per_day":5,"reservations_per_ip_per_minute":10},"terms_of_service":"https:\/\/pos.do\/terms","privacy_policy":"https:\/\/pos.do\/privacy"}