POS.DO MCP Server
Server Details
Discover 356K+ restaurants in 20 countries: search, reviews, cultural context, time-based offers.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- posdo-io/mcp-server
- GitHub Stars
- 0
- Server Listing
- PosDO MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 7 of 7 tools scored.
Each tool has a distinct purpose: reservation booking, landmark-based search, cultural context, flow offers, restaurant details, reviews, and general search. No overlapping functionalities.
All tools follow a consistent verb_noun pattern (e.g., book_flow_reservation, get_restaurant_details), making it easy to infer actions.
Seven tools cover the core domain (search, details, reviews, offers, booking, cultural context) without being excessive or insufficient.
Core workflows are covered, but the set lacks reservation cancellation or update functionality, which is a minor gap for a booking system.
Available Tools
7 toolsbook_flow_reservationAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Restaurant URL slug. | |
| notes | No | ||
| guest_name | Yes | ||
| party_size | No | ||
| guest_email | Yes | ||
| guest_phone | Yes | E.164 format, e.g. +34911234567. | |
| yield_offer_id | Yes | Offer ID returned by get_flow_offers. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses idempotency and rate limits, which are important behavioral traits. No annotations provided, so description carries the burden; missing failure behavior and authorization details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences, each adding distinct value. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, idempotency, rate limits, and phone format. Lacks description of return values (no output schema) and when to use relative to other tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 43% schema coverage; description clarifies phone format and mentions idempotency header but does not explain guest_name, notes, or other parameters beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it makes a reservation at a Flow-discounted time slot. Distinct from siblings like get_flow_offers which provides offers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides phone format, idempotency retry, and rate limit info but does not explicitly compare to alternatives or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_restaurants_near_landmarkAInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City hint for landmark disambiguation. | |
| limit | No | ||
| radius | No | Search radius in meters. | |
| landmark | Yes | Landmark name. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that it returns landmark info and nearby restaurants sorted by walking distance, but lacks details on behavior when landmark is not found, authentication, or rate limits. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose and output, second provides examples. No fluff, front-loaded, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description mentions what is returned but does not specify format, pagination, or filtering. For a simple tool with 4 parameters, it is minimally adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, and the description adds value by listing example landmarks and mentioning 'city hint' for disambiguation. However, it does not explain the semantics of limit, radius, or how the city parameter is used beyond what the schema provides. Baseline 3 with slight positive increment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it finds restaurants near a famous landmark, specifies return includes landmark info and restaurants sorted by walking distance, and provides examples. This distinguishes it from sibling 'search_restaurants' which is more general.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for landmark-relative searches via examples, but does not explicitly state when to use this tool vs alternatives like 'search_restaurants' or when not to use it. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cultural_context_around_restaurantAInspect
Get cultural context around a restaurant: nearby monuments, museums, parks, historical sites with distance and heritage status. Powered by Wikidata.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Restaurant URL slug. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides basic behavioral disclosure: it uses Wikidata and returns distance and heritage status. However, it lacks details on response structure, pagination, or potential latency, which would be important for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that efficiently conveys the tool's purpose and key features with no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description partially covers what is returned (monuments, museums, parks, historical sites with distance and heritage status). However, it does not specify the format, ordering, or any limits, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a clear description for the only parameter 'slug'. The tool description does not add additional meaning beyond the schema, so it meets the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'cultural context around a restaurant', listing specific types (monuments, museums, parks, historical sites) and data source (Wikidata), effectively distinguishing from siblings like get_restaurant_details or search_restaurants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as find_restaurants_near_landmark or search_restaurants. There are no usage scenarios or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flow_offersAInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD (default: today). | |
| slug | Yes | Restaurant URL slug. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the return structure (time slots, discounts, covers) and indicates a read-only nature via the verb 'get'. It adds value by explaining the 'off-peak discount logic', but does not detail potential side effects, auth needs, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a tagline, all essential. It is front-loaded with the tool's purpose, then details output and logic. Every sentence adds distinct value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, the description adequately covers the concept, input purpose, and output format. It could be enhanced by mentioning the typical use case sequence (e.g., use before booking), but overall it provides sufficient context given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both 'slug' and 'date' are described). The description enriches understanding by explaining that the tool adjusts discounts based on off-peak timing, which goes beyond the schema's technical definitions. It provides business context for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns 'time-based offers for a restaurant' with off-peak discounts, and specifies the output: 'time slots with discount percentages and remaining covers'. It distinguishes from siblings like 'book_flow_reservation' (a booking action) and 'find_restaurants_near_landmark' (location search), as it focuses solely on offering details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when checking discounts ('Off-peak hours have bigger discounts'), but lacks explicit guidelines on when to use versus alternatives (e.g., before booking or comparing restaurants). No direct comparison with siblings or conditions for non-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_restaurant_detailsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Restaurant URL slug. Example: 'anima-e-cuore-osteria-bilbao'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description lists returned fields but does not disclose behavioral traits like authentication requirements, rate limits, or side effects. It is a read operation but not explicitly marked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with verb and resource, then enumerates returned data efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter and no output schema, the description is fairly complete. It lists return fields but could mention error conditions or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the description does not add extra meaning beyond what the schema already provides for the 'slug' parameter. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the full profile of a restaurant by URL slug' and lists the specific data returned. It distinguishes from siblings like get_restaurant_reviews (only reviews) and get_flow_offers (only offers).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies use when full restaurant details are needed, but does not explicitly state when not to use it or mention alternatives. Sibling tools exist for specific subsets (e.g., reviews, offers).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_restaurant_reviewsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Restaurant URL slug. | |
| sort | No | recent | |
| limit | No | ||
| offset | No | ||
| rating | No | Filter by exact star rating. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses pagination (limit, offset), sorting, and filtering capabilities, but does not explicitly state read-only behavior, authentication needs, or rate limits. The name 'get' implies safety, but explicit disclosure is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: front-loaded with action and key capabilities, followed by a concise list of return fields. No superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers primary functionality (pagination, filter, sort) and return fields, but lacks mention of response structure (e.g., total count or pagination token) and does not clarify how to interpret the 'rating distribution' field. Adequate but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% (slug and rating have descriptions). The description adds meaning for 'sort' and 'rating' parameters by stating 'Filter by star rating, sort by date or rating', but does not describe 'limit', 'offset', or 'slug' in detail. Partial compensation, but not full.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get paginated reviews for a restaurant' with specific actions: filtering by star rating, sorting by date or rating. It distinguishes from siblings like 'get_restaurant_details' and 'search_restaurants' by focusing on reviews and pagination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving reviews, but does not explicitly compare to sibling tools or provide when-to-use vs. when-not-to-use guidance. No alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_restaurantsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City name. Examples: 'Madrid', 'New York', 'Milano', 'Barcelona'. | |
| limit | No | ||
| query | No | Free-text search: cuisine, occasion, features (e.g. 'romantic italian terrace'). | |
| cuisine | No | Cuisine filter. Examples: 'italian', 'mexican', 'sushi', 'spanish', 'indian'. | |
| features | No | Comma-separated feature filters: terrace, wifi, parking, delivery, accessible. | |
| price_max | No | Max price level 1=budget, 4=fine dining. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears the full burden. It discloses that the tool returns up to 20 results with specific fields (name, rating, cuisine, etc.), which is transparent. It does not mention rate limits or authorization, but for a read-only search this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two clear sentences with no unnecessary words. It front-loads the core purpose and efficiently lists filters and return fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description enumerates return fields. It covers all parameters meaningfully, specifies result limit, and provides enough context for an AI agent to use the tool correctly given the tool's moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, and the description adds value by explaining filters like 'comma-separated features' and 'free-text search for cuisine/occasion'. It also specifies the default limit and max results, enhancing the schema's information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches restaurants in a specific city with multiple filters. It distinguishes itself from sibling tools like find_restaurants_near_landmark and get_restaurant_details by specifying city-based search and return fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates using this tool for searching restaurants by city and filters. It does not explicitly state when not to use it or compare with siblings, but the context of city-based search is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-quality-maintenanceAn AI-native restaurant discovery service that enables searching and receiving natural language recommendations for over 2,200 restaurants across 15+ US cities. It provides tools for accessing detailed restaurant info, curated lists, and cuisine-specific searches through the Model Context Protocol.Last updated
- Alicense-qualityDmaintenancePersonalized restaurant recommendations, table bookings, and delivery via MCP, CLI, or API, learning user taste and acting proactively.Last updatedMIT
- Alicense-qualityCmaintenanceEnables restaurant discovery and reservations across multiple providers (Resy, Google Places, Yelp, Tock) with auditable and secure two-step booking.Last updatedMIT
- FlicenseAqualityDmaintenanceAn MCP server for restaurant discovery and booking across Resy and OpenTable via natural language. It integrates Google Places data with dietary preferences, visit history, and weather awareness to provide personalized dining recommendations and group reservation management.Last updated23
Your Connectors
Sign in to create a connector for this server.