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

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.7/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct aspect of restaurant discovery and booking: search, details, reviews, cultural context, flow offers, landmark-based lookup, and reservation. No overlap in functionality, making selection unambiguous.

Naming Consistency5/5

All tool names follow a clear verb_noun pattern using underscores (e.g., find_restaurants_near_landmark, get_flow_offers). The verbs are specific and the nouns are descriptive, creating a predictable and readable naming scheme.

Tool Count5/5

With 7 tools, the server is well-scoped for its purpose. Each tool covers a necessary operation without redundancy or clutter. The count feels natural for a restaurant-focused MCP server.

Completeness4/5

The toolset covers core workflows: search, details, reviews, cultural context, time-based offers, and reservations. Missing features like reservation cancellation or user account management are minor omissions for the stated scope.

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.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses mutation (make reservation), idempotency, and rate limits. Could mention side effects of creation, but sufficient for a reservation tool.

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 sentences, each valuable: purpose, phone format, idempotency and rate limits. Front-loaded, no waste.

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?

Adequate for behavioral aspects, but missing output/return details (e.g., reservation ID) and error handling. With no output schema, more context needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 43% (3 of 7 params have descriptions). Description adds little beyond schema: repeats phone format and mentions idempotency (HTTP header, not param). Insufficient compensation for low coverage.

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 'Make a reservation at a Flow-discounted time slot,' which is a specific verb and resource. It distinguishes this tool from siblings like 'get_flow_offers' which is for viewing offers, not booking.

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 clear context for use: phone format, idempotency for safe retries, and rate limits. However, it does not explicitly state when not to use this tool compared to alternatives, though there are no direct booking siblings.

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.
Behavior4/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 that the tool queries Wikidata and returns nearby restaurants sorted by walking distance, which is sufficient for a read-only operation. It does not mention rate limits or data freshness, but these are minor omissions.

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 concise, front-loaded with the action, and includes examples. Every sentence adds 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?

Given no output schema, the description adequately explains the return value (landmark info + restaurants sorted by walking distance). It could be improved by noting the maximum radius or data source limitations, but it is generally 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 coverage is 75% (3 of 4 parameters have descriptions). The description adds context about sorting but does not provide additional semantic details beyond what the schema already provides. The description's mention of landmark + radius is consistent, but no extra parameter guidance.

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 tool finds restaurants near a famous landmark, specifies the return includes Wikidata info and nearby restaurants sorted by walking distance, and provides concrete examples. This distinguishes it from siblings like 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly indicates use for landmark-based queries with examples, but does not explicitly contrast with siblings or state when not to use it. However, the context is clear enough for an agent to select correctly.

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?

No annotations are provided, so the description carries full burden. It mentions the data source (Wikidata) and output fields (distance, heritage status) but does not disclose potential behavioral traits such as rate limits, data freshness, or authentication requirements. 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?

The description is a single, front-loaded sentence that conveys the tool's purpose and output succinctly without unnecessary words. Every part adds value.

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 tool with low complexity (1 param, no output schema, no annotations), the description adequately explains what the tool does and what it returns. It could mention that the output is a list or array, but the description is largely complete given the context.

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% with one parameter (slug) described as 'Restaurant URL slug.' The description adds no additional meaning beyond what the schema provides, so 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 the tool gets cultural context (monuments, museums, parks, historical sites) around a restaurant, including distance and heritage status. It differentiates from siblings like find_restaurants_near_landmark (reverse direction) and get_restaurant_details (different info).

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 cultural points of interest near a restaurant but does not explicitly state when to use this tool versus alternatives like find_restaurants_near_landmark or get_restaurant_details. No exclusion criteria or guidance on prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_flow_offersBInspect

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.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description states it returns time slots, discounts, and covers, but does not disclose whether the operation is read-only, requires authentication, or has 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a tagline; concise and front-loaded. The tagline adds minimal value but does not harm.

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 no output schema, the description adequately describes the return values. It could mention default date behavior, but overall it's sufficient for a simple tool.

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 to parameters; it only indirectly references 'off-peak hours' without explaining date or slug.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides time-based offers for a restaurant and returns time slots with discount percentages and remaining covers. It effectively distinguishes from sibling tools like book_flow_reservation or get_restaurant_details.

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?

The description mentions off-peak hours have bigger discounts, which gives some context, but does not specify when to use this tool over alternatives or exclude scenarios.

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'.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only lists return fields without disclosing side effects, auth needs, or rate limits. As a read operation, safety is implied but not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is clear but somewhat lengthy due to listing many fields. Could be more concise, but not wasteful; no unnecessary words.

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?

Adequate for a simple retrieval tool with one parameter and no output schema. Provides comprehensive list of return fields, though lacks behavioral transparency.

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?

Input schema covers slug parameter with description and example. Description adds no additional meaning beyond schema, so baseline 3 applies with 100% schema coverage.

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 'Get the full profile of a restaurant by URL slug' and lists specific return fields. Distinguishes from sibling tools like get_restaurant_reviews and get_flow_offers which are more specific.

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?

No explicit when-to-use or when-not-to-use guidance. Context that a slug is required is implied from input schema, but no comparison to siblings 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_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 full burden. It discloses paginated return with fields, but does not mention authentication, error behavior, or idempotency. The description is partially transparent but lacks depth.

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 concise sentences with no unnecessary words. First sentence covers purpose and functionality, second lists return fields. Efficient and front-loaded.

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 5 parameters, no output schema, and no annotations, the description provides a basic understanding but lacks details on pagination behavior, error cases, and required slug format. It is sufficient for simple invocation but incomplete for complex scenarios.

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 40% (only slug and rating have descriptions). The description adds meaning by mentioning pagination and mapping sort enums to 'date or rating', but does not explain limit/offset or the exact meaning of sort values. Some value added, but not fully compensating for low coverage.

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 tool returns paginated reviews for a restaurant, with filtering and sorting options. It distinguishes itself from siblings like get_restaurant_details and search_restaurants by focusing specifically on reviews.

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 reviews are needed, but does not explicitly guide when to use this over siblings like get_restaurant_details. No when-not-to-use or alternative suggestions are given.

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?

Without annotations, the description carries full burden. It discloses behavior: returns up to 20 results and lists all returned fields. It implies idempotent read-only behavior (search) and does not mention side effects or auth needs.

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 sentences, front-loaded with purpose, no extraneous information. Every sentence provides value: action, filters, constraints, and return fields.

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 search tool with no output schema and no annotations, the description is quite complete. It mentions all key filters, result limit, and return fields. Lacks details on filter logic (AND/OR) and error handling, but adequate for typical use.

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 83%, so the schema already documents most parameters well. The description adds overall context and result fields but does not significantly enhance parameter meaning beyond what is in the schema.

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 action (search), resource (restaurants), and scope (in a specific city). It implicitly distinguishes from siblings like find_restaurants_near_landmark by focusing on city-based search with filters.

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 explicit guidance on when to use this tool versus alternatives such as find_restaurants_near_landmark or book_flow_reservation. The description explains what it does but does not specify contexts or exclusions.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.