Skip to main content
Glama

Fondouk (PrestaShop demo store)

Server Details

Query a live PrestaShop e-commerce store: search the catalog, get product details, real-time prices and stock. Fondouk is an open-source module (MIT) that makes any PrestaShop store speak MCP and UCP — this connector is its public demo store. Read-only, public data only.

Ownership verified
Status
Healthy
Uptime
99.9% over 78 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation4/5

The three tools target distinct retrieval patterns: free-text search without IDs, batch retrieval with known IDs, and single-product detail by ID. There is minor overlap between get_product and lookup_catalog when a single ID is known, but the descriptions clarify when to use each (details vs. current price/availability in batch).

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_product, lookup_catalog, search_catalog. The verbs are distinct but used predictably for their respective retrieval semantics.

Tool Count4/5

Three tools are a tight, well-scoped set for catalog retrieval, with each serving a clear purpose. It is on the lean side—no separate category-listing or facet-browsing tool—but not inappropriately thin for a read-only product catalog surface.

Completeness4/5

The surface covers the core catalog workflows: discovery by text, batch price/availability lookup, and detailed single-product retrieval. Minor gaps remain, such as listing categories or retrieving products by SKU/reference outside free-text search, but agents can work around these.

Available Tools

3 tools
get_productObtenir un produitA
Read-onlyIdempotent
Inspect

Récupère les détails complets d'UN produit à partir de son identifiant (obtenu via search_catalog ou lookup_catalog). À utiliser lorsque le client souhaite les détails, les déclinaisons ou la disponibilité d'un produit précis. Renvoie une erreur "not_found" claire si l'identifiant ne correspond à aucun produit public. Lecture seule.

NameRequiredDescriptionDefault
idYesIdentifiant de produit ou de déclinaison.
contextNoLocalisation facultative : langue (BCP 47), devise (ISO 4217), address_country (ISO 3166-1 alpha-2).

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent and non-destructive, so the bar is lower, and the description still adds real value: it names the not_found error behavior and restricts scope to "produit public" (no private/non-public matches). It does not describe the shape or size of the returned detail payload, 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.

Conciseness5/5

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

Three short sentences, front-loaded with what it does, then when to use it, then the error contract and read-only note. No filler and nothing redundant with the schema or annotations.

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?

With no output schema, the description should indicate what comes back; it gestures at "détails complets", "déclinaisons" and "disponibilité", enough to set expectations, plus the not_found failure mode. Rich annotations cover the safety profile, so this is nearly complete for a two-parameter lookup tool.

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%, so baseline would be 3, but the description adds provenance for `id` (it must come from search_catalog/lookup_catalog) and clarifies the id may refer to a product or a variant, which the schema's single line only hints at. The optional `context` object is left entirely to the schema, which documents it adequately.

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?

States a specific verb and resource ("Récupère les détails complets d'UN produit") and scopes it to a single product by identifier, explicitly capitalizing UN to distinguish it from list/search behavior. It names the sibling tools as the source of the id, so an agent can separate it from search_catalog and lookup_catalog without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicit trigger given: "À utiliser lorsque le client souhaite les détails, les déclinaisons ou la disponibilité d'un produit précis." It also states the prerequisite (id obtained via search_catalog or lookup_catalog), which is the exact routing an agent needs to reach this tool.

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

lookup_catalogRetrouver des produitsA
Read-onlyIdempotent
Inspect

Récupère plusieurs produits par identifiants en un seul appel (lot). À utiliser lorsque vous disposez DÉJÀ des identifiants de produits/déclinaisons et souhaitez leur prix/disponibilité actuels. 100 identifiants maximum. Lecture seule.

NameRequiredDescriptionDefault
idsYes
contextNoLocalisation facultative : langue (BCP 47), devise (ISO 4217), address_country (ISO 3166-1 alpha-2).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint, so the trailing 'Lecture seule' is redundant. However, the description adds a real operational constraint the annotations do not cover — a 100-identifier batch cap — and states what the call returns (current price/availability), which is useful pre-call context.

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?

Four short sentences, front-loaded with the batch-lookup action and followed by the usage trigger and constraint — no wasted clauses. The final 'Lecture seule' restates the annotation and is the one line that does not earn 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?

There is no output schema, and the description only gestures at the response ('prix/disponibilité') without indicating shape. For a batch tool it also omits important behavior: what happens when some IDs are unknown, and how the localization context affects returned prices. Adequate but with clear gaps.

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?

With 50% schema coverage, the description does meaningful work: it explains that 'ids' holds product/variant identifiers and supplies a maximum of 100, which the schema does not encode via maxItems. The nested 'context' object (currency/language/address_country) is left entirely to the schema, so it is not fully additive.

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?

States a specific verb and resource with explicit batch scope: 'Récupère plusieurs produits par identifiants en un seul appel (lot)'. This implicitly separates it from search_catalog (which finds IDs) and get_product (single item), though neither 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.

Usage Guidelines4/5

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

'À utiliser lorsque vous disposez DÉJÀ des identifiants' gives a clear positive trigger that implicitly excludes search-style discovery, and 'souhaitez leur prix/disponibilité actuels' names the goal. No explicit 'do not use when' clause or named alternative, so it stops short of a 5.

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

search_catalogRechercher dans le catalogueA
Read-onlyIdempotent
Inspect

Recherche des produits dans le catalogue PUBLIC du marchand par texte libre et filtres facultatifs (catégories, prix). À utiliser lorsque vous n'avez PAS d'identifiant de produit — p. ex. « chaussures de running bleues à moins de 100 € ». Renvoie des produits avec prix (TTC), déclinaisons et disponibilité. Paginé (curseur). Lecture seule.

NameRequiredDescriptionDefault
queryNoTexte de recherche libre.
contextNoLocalisation facultative : langue (BCP 47), devise (ISO 4217), address_country (ISO 3166-1 alpha-2).
filtersNop. ex. {"categories":["3"],"price":{"max":10000}} (prix en unités mineures).
paginationNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds what the schema cannot: results include price (TTC), variants and availability, and results are cursor-paginated. The 'Lecture seule' sentence merely restates the annotation, so it adds some context but with minor redundancy.

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?

Front-loaded on the core verb and scope, with the usage condition and example following naturally. Every clause except the trailing 'Lecture seule' nudges the agent toward correct invocation; the paragraph is dense but not padded.

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?

Even without an output schema, the description tells the agent what comes back (products, prices in TTC, variants, availability) and that results are paginated via cursor. The only material omission is the localization/context object, which the schema itself documents.

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?

The description reinforces the text and filter parameters (categories, price thresholds) and mentions the pagination cursor, but says nothing about the context/localization object (currency, language, address_country) despite that being a top-level parameter. With schema coverage at 75%, the description compensates only partially.

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?

States a specific verb (Recherche) and resource (produits dans le catalogue PUBLIC du marchand), with scope qualifiers (texte libre, filtres facultatifs). The clause about not having a product identifier implicitly separates it from get_product/lookup_catalog, so an agent can pick it without opening the schema.

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?

Explicitly gives the selecting condition: use it when you do NOT have a product ID, with a concrete example query. It does not name the sibling tools or state when lookup_catalog would instead be appropriate, which is why it falls short of a 5.

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.

  1. 1 tool update
    • Changedsearch_catalog1 field changed
      • changedInput schema / properties / filters / description
        Previous value: -"p. ex. {"categories":["3"],"price":{"max":10000}} (prix en unités mineures)."New value: +"p. ex. {\"categories\":[\"3\"],\"price\":{\"max\":10000}} (prix en unités mineures)."
  2. 3 tool updates
    • First observedget_product
    • First observedlookup_catalog
    • First observedsearch_catalog

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources