sf-beverage-skus
Server Details
SF coffee, matcha, and chai catalog API: 439 SKUs across 13 merchants, prices in cents.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- pratikgajjar/sf-beverage-skus
- GitHub Stars
- 0
TDQS
Scored across 3 tools
Each tool targets a distinct operation: get_sku retrieves full detail for one SKU, search_skus finds SKUs, and price_order computes an order total. There is no overlap in purpose and the descriptions clearly delineate when to use each.
All three names follow a consistent snake_case verb_noun pattern (get_sku, price_order, search_skus). No casing or verb-style deviations.
Three tools is a small but coherent set for a focused read-only SKU browsing and pricing server. It is slightly thin (no listing/availability operations), but nothing feels redundant.
The core workflow of search -> detail -> price is fully covered, including option validation in price_order. Minor gaps exist around merchant/category listing or order placement, but agents can work around these.
Available Tools
3 toolsget_skuAInspect
Full detail for one SKU: item, merchant, location, and every option group with choices and price deltas (cents).
| Name | Required | Description | Default |
|---|---|---|---|
| sku_id | Yes | e.g. starbucks--matcha-latte--short |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It partially compensates by describing what is returned (detail plus option-group price deltas in cents), but says nothing about permissions, error behavior when a sku_id is unknown, 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?
One dense sentence with the resource front-loaded and the return contents listed; no filler or 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 one-parameter read tool with no output schema, the description usefully covers the shape of the return value. The only real gap is routing guidance against the sibling tools, which is minor here.
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?
With a single parameter and 100% schema description coverage (including a concrete example format 'starbucks--matcha-latte--short'), the schema already documents the input fully. The description adds no extra parameter meaning, so the baseline 3 applies.
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 states a specific verb and resource ('Full detail for one SKU') and enumerates the returned content (item, merchant, location, option groups with choices and price deltas). The singular 'one SKU' implicitly contrasts with the search_skus sibling, but no sibling is named explicitly.
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?
Usage is only implied: fetch this when you already have a single sku_id. There is no explicit when-to-use/when-not statement and no mention of search_skus as the alternative for finding SKUs, so an agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_orderAInspect
Compute an order total: total_cents = sku.price_cents + SUM(option.price_delta_cents). Validates option_ids against the SKU; rejects unknown or inapplicable options.
| Name | Required | Description | Default |
|---|---|---|---|
| sku_id | Yes | ||
| option_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: the computation model and that it validates option_ids against the SKU, rejecting unknown or inapplicable options. It does not explicitly say the operation is a pure calculation with no persistence or side effects, which is the remaining gap.
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 tight sentences with zero filler; the formula, the most decision-relevant content, is front-loaded before the validation rule.
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?
No output schema exists, and the description compensates by expressing the result shape (total_cents) via the formula. For a two-parameter pure-calculation tool this is nearly complete, lacking only explicit confirmation of no side effects and error semantics.
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 0%, so the description must compensate. It names option_ids and explains they are validated against the SKU, adding real meaning, but sku_id is never described and the array-of-ids nature of option_ids is left to 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?
States a precise verb (Compute) plus the resource (an order total) and even gives the exact formula total_cents = sku.price_cents + SUM(option.price_delta_cents). It is unambiguously distinguishable from the read-only siblings get_sku and search_skus.
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?
Usage is implied by the pricing formula and validation clause, but the description never states when to call this versus the sibling SKU tools or any prerequisite (e.g., must the SKU already exist?). Implicit context only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_skusBInspect
Search SF beverage SKUs by item name, with optional category filter and geo search. Returns sku_id, merchant, distance, size, and price in integer cents.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | item name substring, e.g. 'matcha latte' | |
| lat | No | ||
| lon | No | ||
| sort | No | distance | |
| limit | No | ||
| category | No | ||
| max_miles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It adds real value by disclosing the return shape (sku_id, merchant, distance, size, price in integer cents), which tells the agent how to interpret price. However it says nothing about authentication, the default sort, the hard limit of 100 results, or whether lat/lon must be supplied together for geo search.
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 tight sentences with no filler, and the core search scope is front-loaded ahead of the return-format note. Efficient for the amount of information conveyed.
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?
Because there is no output schema, the description correctly takes on the job of describing return fields, which it does. But for a 7-parameter tool with 14% schema coverage and no annotations, leaving sort/limit semantics and geo-search requirements unaddressed leaves clear gaps.
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 only 14%, so the description must compensate and largely does not. It maps to q (item name), category, and the geo cluster (lat/lon/max_miles), but never explains the sort enum, the limit default/maximum, or max_miles units. Two of seven parameters (sort, limit) remain undocumented in both schema and description.
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?
States a specific verb (search), resource (SF beverage SKUs), and the two optional dimensions (category, geo). It is clearly distinguishable from get_sku and price_order by the act of searching rather than fetching or ordering. It stops short of naming siblings explicitly, so it falls just below a 5.
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 phrase 'with optional category filter and geo search' implies when these inputs apply, but there is no explicit statement of when to prefer this tool over get_sku or price_order. No prerequisites or exclusions are given. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_sku - First observed
price_order - First observed
search_skus
Related MCP Connectors
Agent-native product catalog: 300M+ products, 150,000+ stores, deliver_to ranking.
AI-agent product catalog: search, lookup & purchase routing over verified merchant data.
Real-time product data across 450+ retailers — look up any UPC for prices, images, and margin data.
AI shopping gateway for product search, inventory, carts, and merchant-hosted checkout.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to fetch, search, and organize menu information from For Five Coffee café. Provides access to complete menu data, category filtering, and item search capabilities through both MCP and REST API interfaces.4-
- AlicenseNot gradedqualityCmaintenanceEnables AI shopping agents to search products, check stock, apply promotions, manage cart sessions, and create cryptographically signed checkout sessions on e-commerce storefronts, while giving merchants analytics into agent intent and catalog demand gaps.MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to discover products, build carts, and complete purchases across multiple downstream commerce services through a secure, contract-driven API.-
- FlicenseNot gradedqualityFmaintenanceThe owner-verified local business data + service & menu-price layer for AI agents. Owner-authored business profiles where every response carries provenance — verification level, completeness score, freshness timestamps, and upstream sources. * Search & profiles — find businesses by name, category, city, or geo-radius; full profiles with contacts, hours, media, ratings. * Price layer-
Glama MCP Gateway
Add one secure layer between your agents and this server.