Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 3.9/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose: reservation booking, landmark-based search, cultural context, flow offers, restaurant details, reviews, and general search. No overlapping functionalities.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (e.g., book_flow_reservation, get_restaurant_details), making it easy to infer actions.

Tool Count5/5

Seven tools cover the core domain (search, details, reviews, offers, booking, cultural context) without being excessive or insufficient.

Completeness4/5

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 tools
book_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesRestaurant URL slug.
notesNo
guest_nameYes
party_sizeNo
guest_emailYes
guest_phoneYesE.164 format, e.g. +34911234567.
yield_offer_idYesOffer ID returned by get_flow_offers.
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity hint for landmark disambiguation.
limitNo
radiusNoSearch radius in meters.
landmarkYesLandmark name.
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesRestaurant URL slug.
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate YYYY-MM-DD (default: today).
slugYesRestaurant URL slug.
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesRestaurant URL slug. Example: 'anima-e-cuore-osteria-bilbao'.
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesRestaurant URL slug.
sortNorecent
limitNo
offsetNo
ratingNoFilter by exact star rating.
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity name. Examples: 'Madrid', 'New York', 'Milano', 'Barcelona'.
limitNo
queryNoFree-text search: cuisine, occasion, features (e.g. 'romantic italian terrace').
cuisineNoCuisine filter. Examples: 'italian', 'mexican', 'sushi', 'spanish', 'indian'.
featuresNoComma-separated feature filters: terrace, wifi, parking, delivery, accessible.
price_maxNoMax price level 1=budget, 4=fine dining.
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    -
    maintenance
    An 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
  • A
    license
    -
    quality
    D
    maintenance
    Personalized restaurant recommendations, table bookings, and delivery via MCP, CLI, or API, learning user taste and acting proactively.
    Last updated
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Enables restaurant discovery and reservations across multiple providers (Resy, Google Places, Yelp, Tock) with auditable and secure two-step booking.
    Last updated
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    An 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 updated
    23

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.