Stampa e Stampe
Server Details
Italian online print shop: search the catalog, read product options, get exact configuration prices.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
get_product and lookup_catalog both retrieve products by product or material id, causing potential confusion about which to use for a single detailed view versus batch lookup. search_catalog and price_configuration are clearly distinct, but the overlap between the two retrieval tools keeps disambiguation moderate.
All names are snake_case and follow a verb_noun pattern (get_product, lookup_catalog, search_catalog, price_configuration). The verb 'price' in price_configuration is less conventional, and the use of both 'lookup' and 'search' for similar retrieval actions is a minor inconsistency, but the pattern is generally predictable.
Four tools is well-scoped for a print catalog and pricing server. Each tool has a clear role: keyword search, batch id resolution, detailed product/configurator data, and price calculation. No tool feels redundant or missing at this count.
The surface covers search, product detail resolution, and pricing configuration, which is the core lifecycle for pre-checkout browsing. Shipping, payment, and order creation are explicitly excluded and handled by the site checkout, so no major gaps exist within the server's stated scope.
Available Tools
4 toolsget_productScheda prodottoARead-onlyInspect
Scheda di un prodotto per id di prodotto o di materiale. Oltre ai campi UCP, metadata.configurator descrive il materiale scelto: misure, quantita' ammesse, opzioni coi valori e il valore predefinito, servizi grafici, giorni di lavorazione. Sono i dati da passare a price_configuration. Per un altro materiale passa il suo id, o selected [{name: 'Materiale', label}] con la label di options: una label che non corrisponde a nessun materiale e' un errore con l'elenco dei validi.
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | ||
| catalog | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningful behavior beyond annotations: it describes what metadata.configurator will contain (dimensions, allowed quantities, options, defaults, processing days) and specifies the error behavior when a label matches no material, including return of the valid list.
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 single paragraph is front-loaded with the core purpose and then adds only relevant detail about return fields and alternate material selection. It is appropriately sized for the tool's complexity, though a more structured layout could improve scanability.
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 nested-input, no-output-schema tool, the description covers the essential calling information: how to identify the product or material, how to request an alternate material, and what key return field is provided. It leaves some gaps, such as the meta parameter and the full UCP field set, but supplies enough for correct invocation.
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 schema description coverage at 0%, the description compensates substantially by explaining that catalog.id can be a product or material id, and by detailing the selected array usage with name 'Materiale' and label from options. It does not explain the meta parameter or the maxItems constraint, so it is not fully complete.
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 ('Scheda di un prodotto') and retrieval scope ('per id di prodotto o di materiale'), and names price_configuration as the downstream consumer. It does not explicitly differentiate from sibling tools lookup_catalog or search_catalog, 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?
It implies usage by saying the data is to be passed to price_configuration and explains how to request another material via id or selected label. However, it never states when to choose this tool over lookup_catalog or search_catalog, leaving the main when-to-use question to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_catalogProdotti per idBRead-onlyInspect
Recupera fino a 20 prodotti per id di prodotto o di materiale (quelli restituiti da search_catalog). Ogni materiale riporta in inputs l'id richiesto che l'ha prodotto.
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | ||
| catalog | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered by structured data. The description adds one genuinely useful behavioral detail: each material echoes the requested id in 'inputs' so the caller can map outputs back to inputs (relevant for a batch lookup). It still says nothing about error behavior when an id is not found or partial-result semantics.
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; the retrieval action and the 20-item cap are front-loaded, and the input-id provenance follows. Slightly compressed phrasing but nothing wasted.
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 nested-object tool with 0% schema description coverage and no output schema, the description covers the core lookup and the id-echo behavior but omits the nested catalog/meta structure and any not-found handling. It is adequate but leaves real gaps an agent would have to guess at.
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 carry the param burden, and it partially does: it clarifies that the 'ids' strings may be either product ids or material ids and that the batch caps at 20. It says nothing at all about the nested 'catalog' wrapper or the 'meta.ucp-agent.profile' URI parameter, leaving a sizable gap.
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 ('Recupera ... prodotti per id di prodotto o di materiale') and scopes the operation to at most 20 items. It distinguishes itself from search_catalog by naming it as the source of the ids, but gives no hint of how it differs from the sibling get_product, which also retrieves products by id.
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?
It implies usage by noting the ids come from search_catalog ('quelli restituiti da search_catalog'), which gives a caller a starting context. However, it never states when to prefer this over get_product or search_catalog, and there are no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_configurationPrezzo e data di spedizione di una configurazioneARead-onlyInspect
Prezzo di una configurazione col listino del sito e, per ogni velocita' (urgente, standard, economica), la data di spedizione prevista: il giorno in cui l'ordine esce dai magazzini ed e' affidato al corriere, non l'arrivo. Prezzi IVA esclusa come li mostra la scheda (total_excl_vat, barrato list_total_excl_vat) e IVA inclusa (total); promo con la sua scadenza. Prima chiama get_product: product_id, variant_id, opzioni e quantita' ammesse vengono da li'. Le opzioni non indicate prendono il valore predefinito della scheda (default: true nella risposta); quelle nascoste dalle regole sono riportate in ignored_option_ids. Prezzi da ospite (niente sconti loyalty), esclusi spedizione, imballo e costi del metodo di pagamento (es. contrassegno), che aggiunge il checkout del sito.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Larghezza in cm, se il prodotto e' a misura. | |
| height | No | Altezza in cm. | |
| quantity | Yes | ||
| subjects | No | ||
| product_id | Yes | id del prodotto. | |
| selections | No | ||
| variant_id | Yes | id del materiale: metadata.configurator.variant_id. | |
| graphic_service | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry readOnlyHint=true and openWorldHint=false; the description goes well beyond them. It discloses pricing semantics (ex-VAT vs incl-VAT fields, promo expiration), that prices are guest-level with no loyalty discounts, and that shipping, packaging and payment-method costs are excluded and added at checkout. It also documents default-value behavior and that rule-hidden options surface in ignored_option_ids.
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?
Front-loaded with what is returned (price, then shipping date) and then the caveats and prerequisites. The prose is dense and run-on in places, and 'come li mostra la scheda' is slightly redundant, but no sentence is filler and the ordering respects how an agent needs to read it.
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 no output schema and 8 parameters, the description carries the burden well: it names the response fields (total_excl_vat, list_total_excl_vat, total, ignored_option_ids), the prerequisite call, and the pricing exclusions. It is short only on error/invalid-configuration behavior and the meaning of the remaining numeric parameters.
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 50% across 8 parameters. The description adds real meaning for selections (unspecified options fall back to the page default, flagged as default: true, hidden ones go to ignored_option_ids) and confirms the provenance of product_id/variant_id/quantity, but width, height, subjects and graphic_service are left entirely to the schema, so it only partially compensates for the coverage gap.
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 output: the price of a configuration under the site price list plus, for each shipping speed, the dispatch date (explicitly clarified as the day it leaves the warehouse, not arrival). It is clearly distinguishable from the catalog siblings and even names get_product as a prerequisite, so an agent knows exactly what this tool produces versus the others.
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?
Explicitly prescribes the sequence: call get_product first, because product_id, variant_id, options and allowed quantity come from there. It does not state when not to use this tool (e.g. catalog browsing), but the dependency routing is concrete enough that an agent can pick correctly between this and the three sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_catalogCerca nel catalogoARead-onlyInspect
Cerca prodotti di stampa per parole chiave in italiano (es. "biglietti da visita", "adesivi trasparenti", "roll up"). Per ogni prodotto: materiali col prezzo della configurazione predefinita del sito per la confezione indicata nel titolo della variante (metadata.reference_quantity pezzi) e con la spedizione economica, in centesimi di euro IVA inclusa (IVA esclusa, come la mostra la scheda, in metadata.price_excl_vat), esclusi spedizione, imballo e costi del metodo di pagamento (es. contrassegno), che aggiunge il checkout del sito; link alla scheda, immagine. Il prezzo non e' lineare nella quantita': per misure e opzioni usa get_product, per il prezzo esatto di un'altra quantita' price_configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | Busta UCP dell'agente. Facoltativa. | |
| catalog | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description goes well beyond that by explaining that returned prices reflect the site's default configuration, the variant's reference_quantity, cheapest shipping, euro cents, VAT-included with a VAT-excluded variant, and what is excluded (shipping, packaging, payment method). It stops short of noting that filters are silently ignored in the description text (that only lives in the schema) or any pagination behavior.
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?
Purpose and keyword examples are front-loaded in the first clause, and the sibling routing closes the text. However, the middle is a single dense run-on sentence packing price inclusion/exclusion rules, which is harder to parse than it needs to be.
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 no output schema, the description carries the return-value burden and does so well (price basis, currency, VAT treatment, link, image), which is the right priority for this tool. Gaps remain around pagination/cursor usage and the fact that filters are accepted but not applied, since nested objects raise the risk of misuse.
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 only 50%, but the description compensates partially by clarifying the query parameter's intent and Italian-language keyword examples ('biglietti da visita', 'adesivi trasparenti'), which meaningfully guide query construction. Pagination limit/cursor and the meta/UCP envelope are left entirely 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 specific verb and resource ('Cerca prodotti di stampa per parole chiave') with concrete query examples, and explicitly contrasts itself with two siblings (get_product for sizes/options, price_configuration for other quantities). An agent can distinguish this from get_product/lookup_catalog/price_configuration without opening a schema.
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?
Explicit routing is given for two of three siblings with clear conditions ('per misure e opzioni usa get_product', 'per il prezzo esatto di un'altra quantita' price_configuration'). The remaining sibling, lookup_catalog, is never mentioned, so the agent lacks a rule for search vs. catalog lookup.
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.
4 tool updates
- First observed
get_product - First observed
lookup_catalog - First observed
price_configuration - First observed
search_catalog
Related MCP Connectors
Print shop in Spain: products, exact prices, quote requests and order status for AI assistants
Print catalogue and live quotes from Fulfiller, a French online printer shipping across the EU.
Live prices, options and shipping quotes for custom-printed promotional products.
BARWA print shop (barwa.pl): catalog, product advisor, real-price quotes, shipping, file specs.
Related MCP Servers
- AlicenseAqualityDmaintenanceSolar estimates, provider comparison, energy prices and blog for Italy. 6 MCP tools for the Italian solar market.613 npmMIT
- AlicenseAqualityBmaintenanceMCP server for Italian cadastral, geospatial and real estate data (catasto) for AI agents: geocoding on 18.7M+ addresses, 85M+ parcel profiles, risk, solar potential, valuations, administrative lists. Free Zornade API key.126MIT
- AlicenseAqualityDmaintenanceReal-time train, bus, ferry and private transfer prices between 40+ Italian cities4MIT
- AlicenseNot gradedqualityDmaintenanceSearch product catalogs across thousands of Central European e-shops. Semantic search, keyword matching, GTIN/EAN lookup — via REST API or MCP. \~2,500 e-shops | ~8.5M products | 7 countries (CZ, SK, PL, HU, RO, DE, AT)MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.