POS.DO MCP Server
Discovery of 356K+ restaurants across 20 countries via the Model Context Protocol. Exposes restaurant names, addresses, reviews, photos, opening hours, cuisines, neighbourhoods, cultural context, and real-time availability with time-based offers to AI agents.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://pos.do/mcpWhat its tools do
7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search restaurants in a city with cuisine, price, or feature filters
- Get full restaurant profile and paginated user reviews by slug
- Find time-based discount slots and book reservations with idempotent semantics
- Discover monuments, museums, and parks near a specific restaurant
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- pos.do 1.0.0
- MCP protocol negotiated in check
- 2024-11-05
- Tools
- 7 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
7 advertised
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_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."
}
}
}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."
}
}
}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."
}
}
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1532 ms
- 95th percentile latency
- 1532 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1532 ms · metadata changed · 7 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http pos-do-mcp-server https://pos.do/mcpCodex
codex mcp add pos-do-mcp-server --url https://pos.do/mcpCursor
{
"mcpServers": {
"pos-do-mcp-server": {
"url": "https://pos.do/mcp"
}
}
}Cline
{
"mcpServers": {
"pos-do-mcp-server": {
"type": "streamableHttp",
"url": "https://pos.do/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"pos-do-mcp-server": {
"type": "http",
"url": "https://pos.do/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http pos-do-mcp-server https://pos.do/mcpClaude Desktop
https://pos.do/mcpWindsurf
{
"mcpServers": {
"pos-do-mcp-server": {
"serverUrl": "https://pos.do/mcp"
}
}
}Let your agent find its tools
Find servers like POS.DO MCP Server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.