WebMCP Demo Store
Server Details
WebMCP demo store: same catalog via MCP tool calls vs DOM scraping. -79% bytes, -42% tokens.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- kamatanuj/webmcp
- GitHub Stars
- 0
- Server Listing
- WebMCP
TDQS
Scored across 5 tools
Each tool targets a distinct resource+action: cart operations (add_to_cart, get_cart, checkout) versus product operations (get_product_details, search_products). There is no plausible way to confuse these purposes, and search vs. get_details are clearly distinguished by breadth.
Names follow a consistent snake_case convention (add_to_cart, get_cart, get_product_details, search_products). The lone 'checkout' omits the verb_noun noun, a minor deviation, but the style remains predictable and readable.
Five tools is well-scoped for a demo store, covering discovery, inspection, cart management, and checkout. Every tool earns its place with no redundancy or filler.
The core browse-to-checkout flow is fully covered. However, the cart lifecycle is incomplete—there is no remove_from_cart or update_quantity, and no order-listing tool, which agents may need to work around.
Available Tools
5 toolsadd_to_cartCInspect
Add product to cart (qty default 1).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| qty | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states the qty default but says nothing about mutation semantics, whether adds are cumulative, error behavior for invalid ids, or auth requirements.
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 short sentence with no filler, and the default value is front-loaded in parentheses. It is efficient, though almost too terse for the information an agent needs.
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?
This is a mutation tool with no annotations, no output schema, and 0% schema coverage, yet the description is one clause long. It omits the behavioral and parameter detail an agent would need to call it correctly.
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 adds the useful qty default of 1 and implies id is a product identifier, but leaves both parameters largely unspecified (types, valid ranges, whether qty replaces or increments).
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 (add) and resource (product to cart), which is clearly distinct from siblings like checkout and get_cart. It doesn't explicitly differentiate itself from those siblings, but the action is unambiguous.
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?
There is no guidance on when to use this versus get_cart or checkout, nor any prerequisites such as requiring a cart or authenticated session. Usage must be entirely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkoutBInspect
Place order for current cart. Returns order id.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 discloses only that an order id is returned; it omits that this is an irreversible purchase, what happens with an empty cart, whether it charges payment or requires auth, and whether it clears the cart.
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 short, front-loaded sentences with no filler; the action is stated first and the return value second.
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 so 'Returns order id' covers the return value, but for a high-stakes irreversible mutation with no annotations and no parameter documentation, the description should disclose side effects, cart-clearing behavior, and failure modes.
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?
There are zero parameters, so the baseline is 4. The phrase 'current cart' usefully signals that the cart is implicit server-side state rather than an argument.
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+resource: 'Place order for current cart', which is distinct from the sibling read/cart tools (add_to_cart, get_cart). It is clear what the tool does, though it does not explicitly name or contrast with siblings.
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 via 'current cart' — an agent can infer this is the terminal step after populating a cart, but there is no explicit when-to-use, when-not-to-use, or prerequisite (e.g., non-empty cart, payment readiness).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cartBInspect
Current cart contents and total.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the key return content ('contents and total'), which is useful for a read tool, but says nothing about authentication requirements, empty-cart behavior, or response shape.
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 short sentence with the essential information front-loaded and no waste. It is arguably too terse to fully serve the agent, but it is well-structured and appropriately sized.
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?
This is a simple zero-parameter read tool, so little is required. However, with no output schema the description should ideally specify what 'contents' includes (line items, quantities, prices, currency) and the empty-cart case; 'contents and total' leaves the return shape vague.
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?
The tool takes zero parameters, so there is nothing for the description to disambiguate; per the rubric this is a baseline 4. No parameter-related gaps exist.
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 resource (cart) and what is retrieved from it (contents and total), which is clear enough for an agent to know this is the cart-read operation. It does not explicitly distinguish itself from siblings such as add_to_cart or checkout, so it falls short of 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?
There is no statement of when to use this tool versus alternatives like add_to_cart or checkout, nor any prerequisites or exclusions. The read-only intent is only implied by the phrase 'Current cart contents', which is weak guidance for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_product_detailsCInspect
Full details of one product by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It implies a read via 'details' but says nothing about behavior on a missing/invalid id, whether the read is cached or fresh, or what 'full' includes beyond the single product.
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 with no filler or redundancy. It is efficient, though its brevity is achieved partly by omitting necessary information rather than by tight editing.
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 read tool with no annotations and no output schema, the description should at least outline the returned detail set or failure modes. As written it is too sparse to guide an agent confidently beyond the obvious 'pass an id'.
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% and there is one parameter, so the description should compensate. 'By id' merely restates the schema's id property and adds no format, range, or sourcing detail (e.g., where the id comes from), leaving the parameter semantics thin.
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 resource (one product) and scope (by id), so the agent can distinguish it from search_products and the cart tools. It is clear but does not explicitly name or contrast with any sibling, so it falls short of 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 description gives no when-to-use context, no prerequisites, and no mention of alternatives such as search_products for discovering an id. Usage must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsBInspect
Search product catalog. Filter by category (mice|laptops|phones), max_price (INR), min_rating, brand substring.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | ||
| query | No | ||
| category | No | ||
| max_price | No | ||
| min_rating | 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, yet it discloses only filter fields. It says nothing about whether this is a safe read (implied but unstated), how many results are returned, pagination/limits, ordering, or what happens when no filters are supplied.
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 front-loaded sentences with essentially no filler; the core action comes first and filters follow. The only minor waste is repeating the enum values (mice|laptops|phones) already present in the schema.
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 5-parameter read tool with no annotations and no output schema, the definition is minimally adequate: filters are explained, but result size, pagination, ranking/default behavior, and the undocumented query parameter are all missing.
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 0%, so the description must compensate, and it does for four of five parameters: it adds the INR unit for max_price and "substring" matching semantics for brand, which the schema does not convey. The fifth parameter, query, is never mentioned, which keeps it from a 5.
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 and resource ("Search product catalog") that an agent can immediately distinguish from cart/checkout siblings. However, it does not explicitly contrast itself with get_product_details, which also deals with products, so sibling differentiation is only implied by the word "search".
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 lists filterable fields but never says when to use this tool versus get_product_details or when-not to use it. There is no mention of prerequisites, defaults, or alternative tooling, leaving the agent to infer usage entirely.
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.
5 tool updates
- First observed
add_to_cart - First observed
checkout - First observed
get_cart - First observed
get_product_details - First observed
search_products
Related MCP Connectors
Scrape any e-shop and match products across shops without EAN. API & MCP for AI agents.
1Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
One MCP server for 180+ live web-data APIs returning clean JSON from sites that block scrapers.
Google Shopping products, prices, sellers, and deals as structured data via a hosted MCP server.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceRemote MCP server (Streamable HTTP) that reads and parses the public catalog website atcmarket.cz (AT Computers) to enable product search, category-filtered search, supported filter listing, product detail lookup, and cross-product comparison — without login or state.-
- AlicenseNot gradedqualityDmaintenanceEfficient web scraping MCP server with a two-step workflow for token-efficient content extraction. Supports previewing HTML structure, targeted scraping, and entire documentation site crawling.MIT
- AlicenseAqualityBmaintenanceBatch-first MCP server for product search, product detail, and anonymous shipping quotes across public storefronts and marketplaces, exposing search, product, quote, and images commands with compact JSON output for AI agents.4MIT
- AlicenseAqualityAmaintenanceMarkdown-first Notion MCP server — 26 tools, 92% fewer tokens, full round-trip fidelity43509 npm55MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.