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.
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.7/5 across 7 of 7 tools scored.
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.
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.
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.
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 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?
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.
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.
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.
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.
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.
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'.
| 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 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.
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.
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.
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.
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.
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.
| 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?
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.
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.
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.
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.
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.
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'.
| 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?
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.
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.
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.
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.
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.
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.
| 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; 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.
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.
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.
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.
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.
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.
| 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 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.
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.
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.
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.
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.
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.
| 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?
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.
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.
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.
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.
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.
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.
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!