{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T21:17:21.371Z","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp","markdownUrl":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp.md","server":{"slug":"com-spartoo-spartoo","name":"Spartoo","registryName":"com.spartoo/spartoo","description":"Search the Spartoo fashion catalog: shoes, clothing, bags. Prices and sizes in stock.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"https-lang-spartoo-ch-mcp","type":"remote","identifier":"https://{lang}.spartoo.ch/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp","version":"1.1.1","transport":null,"scoredAt":"2026-11-05T00:24:44.858Z"},"score":{"total":77,"tier":"medium","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":77},{"date":"2026-11-04","total":76},{"date":"2026-11-03","total":76},{"date":"2026-11-02","total":75},{"date":"2026-11-01","total":75},{"date":"2026-10-31","total":75},{"date":"2026-10-30","total":74},{"date":"2026-10-29","total":74},{"date":"2026-10-28","total":73},{"date":"2026-10-27","total":73},{"date":"2026-10-26","total":72},{"date":"2026-10-25","total":72},{"date":"2026-10-24","total":71},{"date":"2026-10-23","total":71}]},"categories":[{"name":"Endpoint Security","score":80,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":60,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1400 tokens (~466/item across 3 items; 3 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"466","items":"3","tools":"3","tokens":"1400","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":43,"verdict":"partial","reasons":["Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"13"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 3 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 4 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"3"}},{"code":"toolsafety.manipulation_clean","args":{"units":"4","judged":"4"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"https-lang-spartoo-ch-mcp","type":"remote","identifier":"https://{lang}.spartoo.ch/mcp","withdrawn":false,"score":77,"current":true,"url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp","markdownUrl":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp.md"},{"slug":"https-www-spartoo-tld-mcp","type":"remote","identifier":"https://www.spartoo.{tld}/mcp","withdrawn":false,"score":77,"current":false,"url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-www-spartoo-tld-mcp","markdownUrl":"https://verifymcp.io/servers/com-spartoo-spartoo/https-www-spartoo-tld-mcp.md"}],"facts":[{"label":"Endpoint","value":"https://{lang}.spartoo.ch/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.1.1"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"list_filters","title":"List search filters","description":"List the values available to refine a search, with the same criteria as search_products (without sort and pagination): brands, colors, sizes, genders, categories (with product counts when known), price range and the total number of products (count_products). Use it before search_products to offer choices or to check that a value exists: brand names, colors and size labels returned here can be passed as is to the brand, color and size arguments of search_products (to filter on a category, add its name to the query). The values of a filter that is already applied are listed as if it was not, so that alternatives are visible. A very broad search (no category, brand or known word) is refused with a message: refine the query first.","inputs":[{"name":"brand","type":"string|array","required":false,"description":"Brand name, or list of brand names (any of them), e.g. \"Nike\" or [\"Nike\", \"adidas\"]. Case and accents are ignored. Overrides the brand found in the query. Use the names returned by list_filters."},{"name":"color","type":"string|array","required":false,"description":"Color, or list of colors (any of them), among: white, black, grey, beige, brown, red, burgundy, pink, orange, yellow, green, khaki, blue, navy, purple, gold, silver, multicolor. Overrides the color f…"},{"name":"gender","type":"string","required":false,"description":"Gender of the products. Overrides the gender found in the query. men and women include unisex products; kids includes girls and boys."},{"name":"price_max","type":"number","required":false,"description":"Maximum price, in the currency of the site. Rounded up to the nearest price step."},{"name":"price_min","type":"number","required":false,"description":"Minimum price, in the currency of the site. Rounded down to the nearest price step."},{"name":"query","type":"string","required":true,"description":"Free-text search, e.g. brand, category, color, gender words (\"red nike sneakers for women\")."},{"name":"size","type":"string|number|array","required":false,"description":"Size label, or list of size labels (any of them), as displayed on the site: shoe sizes in EU (\"38\", \"42.5\" or \"42 1/2\"), clothing sizes (\"M\", \"XL\", \"38\", \"10 ans\"). Only products with this size in st…"}],"outputs":[{"name":"applied_filters","type":"object","required":true,"description":null},{"name":"brands","type":"array","required":true,"description":"Brands, alphabetical order (at most 200, cf. brands_total)."},{"name":"brands_total","type":"integer","required":false,"description":"Total number of brands."},{"name":"categories","type":"array","required":true,"description":null},{"name":"colors","type":"array","required":true,"description":"name: value of the color argument."},{"name":"count_products","type":"integer","required":true,"description":"Number of products matching the search."},{"name":"genders","type":"array","required":true,"description":null},{"name":"message","type":"string|null","required":false,"description":null},{"name":"price_range","type":"object|null","required":false,"description":null},{"name":"sizes","type":"array","required":true,"description":"Size labels (value of the size argument), in the order of the size grids."}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":488},{"name":"search_products","title":"Search products","description":"Search the product catalog (shoes, clothing, bags, accessories) with a free-text query, as a shopper would type it in the search box of the site, in the language of the site (e.g. \"baskets nike femme rouges\"). The query is analysed like on the site: brand, category, color and gender words become filters, the remaining words are a text search. Optional arguments override what was found in the query for the same filter (brand, color, size, gender) or refine it (sort, price range in the currency of the site). Typical flow: list_filters to discover the available brands / colors / sizes of a search, then search_products with those exact values, then get_product for the details (sizes in stock, description, photos) of a chosen product. Results are paginated: use page and page_size, and request the next page while has_more is true. applied_filters tells how the query was understood and which filters were really applied, with their source (argument or query); the price range is rounded outward to the price steps of the catalog.","inputs":[{"name":"brand","type":"string|array","required":false,"description":"Brand name, or list of brand names (any of them), e.g. \"Nike\" or [\"Nike\", \"adidas\"]. Case and accents are ignored. Overrides the brand found in the query. Use the names returned by list_filters."},{"name":"color","type":"string|array","required":false,"description":"Color, or list of colors (any of them), among: white, black, grey, beige, brown, red, burgundy, pink, orange, yellow, green, khaki, blue, navy, purple, gold, silver, multicolor. Overrides the color f…"},{"name":"gender","type":"string","required":false,"description":"Gender of the products. Overrides the gender found in the query. men and women include unisex products; kids includes girls and boys."},{"name":"page","type":"integer","required":false,"description":"Page number, starting at 1."},{"name":"page_size","type":"integer","required":false,"description":"Number of products per page."},{"name":"price_max","type":"number","required":false,"description":"Maximum price, in the currency of the site. Rounded up to the nearest price step."},{"name":"price_min","type":"number","required":false,"description":"Minimum price, in the currency of the site. Rounded down to the nearest price step."},{"name":"query","type":"string","required":true,"description":"Free-text search, e.g. brand, category, color, gender words (\"red nike sneakers for women\")."},{"name":"size","type":"string|number|array","required":false,"description":"Size label, or list of size labels (any of them), as displayed on the site: shoe sizes in EU (\"38\", \"42.5\" or \"42 1/2\"), clothing sizes (\"M\", \"XL\", \"38\", \"10 ans\"). Only products with this size in st…"},{"name":"sort","type":"string","required":false,"description":"Sort order: relevance (default ranking of the site), price_asc, price_desc, newest, discount (highest discount first)."}],"outputs":[{"name":"applied_filters","type":"object","required":true,"description":null},{"name":"has_more","type":"boolean","required":true,"description":"True if another page of products is available."},{"name":"message","type":"string|null","required":false,"description":null},{"name":"page","type":"integer","required":true,"description":null},{"name":"page_size","type":"integer","required":true,"description":null},{"name":"products","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":616},{"name":"get_product","title":"Get product details","description":"Get the full details of one product (product_id) or of up to 10 products (product_ids), using the ids returned by search_products: description, price, sizes with their availability (in_stock, and the price of a size when it differs from the product price), photos, other colors of the same model (with their product ids) and characteristics (materials, heel height, country of origin...). Call it before recommending a product for a given size. Ids of products that do not exist or are no longer sold are listed in not_found.","inputs":[{"name":"product_id","type":"integer","required":false,"description":"Id of the product (field id of search_products). Use either product_id or product_ids."},{"name":"product_ids","type":"array","required":false,"description":"Ids of several products (at most 10), to compare them."}],"outputs":[{"name":"not_found","type":"array","required":true,"description":"Ids not found or no longer sold."},{"name":"products","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":168}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T00:24:44.000Z","track":"remote","endpoint":"https://fr.spartoo.ch/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_256_GCM_SHA384","chainError":null,"certificates":[{"subject":"CN=fr.spartoo.ch","issuer":"CN=YE2,O=Let's Encrypt,C=US","notBefore":"2026-09-22T15:31:39Z","notAfter":"2026-12-21T15:31:38Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=YE2,O=Let's Encrypt,C=US","issuer":"CN=Root YE,O=ISRG,C=US","notBefore":"2025-09-03T00:00:00Z","notAfter":"2028-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true},{"subject":"CN=Root YE,O=ISRG,C=US","issuer":"CN=ISRG Root X2,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true},{"subject":"CN=ISRG Root X2,O=Internet Security Research Group,C=US","issuer":"CN=ISRG Root X1,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"fr.spartoo.ch.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"ch.","outcome":"verified","label":"Verified"},{"zone":"spartoo.ch.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":301},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-23","recent":[{"id":"chg_01a1a918-004e-7e00-99ee-0e526ef50f0d","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp#chg-chg_01a1a918-004e-7e00-99ee-0e526ef50f0d"},{"id":"chg_01a19ed8-6df0-7e5f-8dd3-3b478c4a0d35","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp#chg-chg_01a19ed8-6df0-7e5f-8dd3-3b478c4a0d35"},{"id":"chg_01a18f50-c45f-7ceb-b951-47cc5b9e5358","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp#chg-chg_01a18f50-c45f-7ceb-b951-47cc5b9e5358"},{"id":"chg_01a1850a-27a6-7001-b7b5-4606feec0678","kind":"score.total_changed","summary":"Trust score (73 → 74)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp#chg-chg_01a1850a-27a6-7001-b7b5-4606feec0678"},{"id":"chg_01a17abc-00ed-7e90-8098-e8b0c25c71c8","kind":"score.total_changed","summary":"Trust score (72 → 73)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp#chg-chg_01a17abc-00ed-7e90-8098-e8b0c25c71c8"},{"id":"chg_01a1705e-c8fa-71aa-951f-6db15c238a54","kind":"score.total_changed","summary":"Trust score (71 → 72)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp#chg-chg_01a1705e-c8fa-71aa-951f-6db15c238a54"},{"id":"chg_01a16b37-b8d7-7bea-b63e-22e0e4c64915","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp#chg-chg_01a16b37-b8d7-7bea-b63e-22e0e4c64915"},{"id":"chg_01a16811-cec2-7388-8074-993643104d1d","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp#chg-chg_01a16811-cec2-7388-8074-993643104d1d"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp","markdown":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp.md","changelogJson":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/com-spartoo-spartoo/https-lang-spartoo-ch-mcp.xml","external":[{"label":"Remote endpoint","href":"https://{lang}.spartoo.ch/mcp"},{"label":"Website","href":"https://www.spartoo.com/mcp.php"}]}}