{"$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-05T19:27:27.249Z","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www","markdownUrl":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www.md","server":{"slug":"fr-publicoffre-marches-publics","name":"PublicOffre — marchés publics français","registryName":"fr.publicoffre/marches-publics","description":"French public procurement: open tenders, who wins contracts, company references, local finances.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"www","type":"remote","identifier":"https://www.publicoffre.fr/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www","version":"3.31.0","transport":null,"scoredAt":"2026-11-05T08:32:47.261Z"},"score":{"total":76,"tier":"medium","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":76},{"date":"2026-11-04","total":76},{"date":"2026-11-03","total":75},{"date":"2026-11-02","total":75},{"date":"2026-11-01","total":74},{"date":"2026-10-31","total":74},{"date":"2026-10-30","total":73},{"date":"2026-10-29","total":73},{"date":"2026-10-28","total":72},{"date":"2026-10-27","total":72}]},"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":76,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Tool/resource definitions use about 595 tokens (~119/item across 5 items; 5 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"119","items":"5","tools":"5","tokens":"595","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":30,"verdict":"partial","reasons":["Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"9"}}]},{"name":"Tool Coverage","score":96,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","88% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"88"}}]},{"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 5 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 6 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":"5"}},{"code":"toolsafety.manipulation_clean","args":{"units":"6","judged":"6"}}]},{"name":"Capabilities","score":60,"verdict":"fail","reasons":["Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28."],"codes":[{"code":"protocol.outdated","args":{"latest":"2026-07-28","version":"2025-06-18"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"www","type":"remote","identifier":"https://www.publicoffre.fr/mcp","withdrawn":false,"score":76,"current":true,"url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www","markdownUrl":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www.md"}],"facts":[{"label":"Endpoint","value":"https://www.publicoffre.fr/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"3.31.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"rechercher_appels_offres","title":"Rechercher des appels d’offres publics ouverts","description":"Appels d’offres publics ouverts en France (BOAMP, JOUE/TED, plateformes publiques), mis à jour chaque jour : objet, acheteur, date limite, lieu, lien. Filtrer par mots-clés, département (ex. 69, 2A, 974) et métier (division CPV à 2 chiffres, ex. 45 travaux, 72 informatique, 90 nettoyage, 77 espaces verts, 71 ingénierie).","inputs":[{"name":"departement","type":"string","required":false,"description":"Code du département, ex. 69"},{"name":"division_cpv","type":"string","required":false,"description":"Division CPV à 2 chiffres, ex. 45"},{"name":"limite","type":"integer","required":false,"description":null},{"name":"mots_cles","type":"string","required":false,"description":"Mots de l’objet, ex. « nettoyage des locaux »"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":172},{"name":"qui_remporte_les_marches","title":"Qui remporte les marchés d’un acheteur public","description":"Pour un acheteur public (commune, département, hôpital, bailleur, État…), désigné par son nom ou son SIREN : nombre de marchés attribués, entreprises qui en remportent le plus, part des marchés à une seule offre, derniers marchés avec titulaire et montant.","inputs":[{"name":"acheteur","type":"string","required":true,"description":"Nom ou SIREN, ex. « Commune de Toulouse » ou 213105554"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":100},{"name":"references_entreprise","title":"Marchés publics remportés par une entreprise","description":"Pour une entreprise (nom ou SIREN) : nombre de marchés publics remportés, acheteurs, dernier marché, principaux clients publics.","inputs":[{"name":"entreprise","type":"string","required":true,"description":"Nom ou SIREN, ex. « Colas France » ou 329338883"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":63},{"name":"argent_public_commune","title":"L’argent public d’une commune","description":"Pour une commune française : dette (totale et par habitant, comparée aux communes de même taille), taux de taxe foncière, entreprises qui remportent ses marchés, chantiers publics.","inputs":[{"name":"commune","type":"string","required":true,"description":"Nom ou code INSEE, ex. « Hyères » ou 83069"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":74},{"name":"concurrence_marches_publics","title":"Concurrence dans les marchés publics","description":"Part des marchés publics attribués qui n’ont reçu qu’une seule offre et nombre médian d’offres, sur 24 mois, pour la France ou un département, avec les entreprises et acheteurs principaux.","inputs":[{"name":"departement","type":"string","required":false,"description":"Code du département (vide : France entière)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":70}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T08:32:47.000Z","track":"remote","endpoint":"https://www.publicoffre.fr/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=www.publicoffre.fr","issuer":"CN=YE1,O=Let's Encrypt,C=US","notBefore":"2026-10-16T06:14:47Z","notAfter":"2027-01-14T06:14:46Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=YE1,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":"www.publicoffre.fr.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"fr.","outcome":"verified","label":"Verified"},{"zone":"publicoffre.fr.","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":308},"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-27","recent":[{"id":"chg_01a1aad6-d0b0-76d7-8c57-17c90591d27f","kind":"server.version_changed","summary":"Server version (3.99.0 → 3.102.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a1aad6-d0b0-76d7-8c57-17c90591d27f"},{"id":"chg_01a1a5ac-9a0f-7047-870a-17dadd82ad4d","kind":"server.version_changed","summary":"Server version (3.98.0 → 3.99.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a1a5ac-9a0f-7047-870a-17dadd82ad4d"},{"id":"chg_01a1a5ac-9a0f-7de4-9603-d028a9b592e0","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a1a5ac-9a0f-7de4-9603-d028a9b592e0"},{"id":"chg_01a1a088-a317-781e-ba35-54333c7acecb","kind":"server.version_changed","summary":"Server version (3.81.0 → 3.98.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a1a088-a317-781e-ba35-54333c7acecb"},{"id":"chg_01a19b5f-3cf1-79a1-9987-29ce56479e91","kind":"server.version_changed","summary":"Server version (3.69.0 → 3.81.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a19b5f-3cf1-79a1-9987-29ce56479e91"},{"id":"chg_01a19b5f-3cf1-7f0b-af0c-af34a24e810c","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a19b5f-3cf1-7f0b-af0c-af34a24e810c"},{"id":"chg_01a1963a-8775-708d-a1e1-02437d6fe582","kind":"server.version_changed","summary":"Server version (3.64.0 → 3.69.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a1963a-8775-708d-a1e1-02437d6fe582"},{"id":"chg_01a19112-4cbc-7b35-b6d7-ac3966a81f7d","kind":"server.version_changed","summary":"Server version (3.54.0 → 3.64.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a19112-4cbc-7b35-b6d7-ac3966a81f7d"},{"id":"chg_01a19112-4cbd-719b-ad05-a65ef6f9d80c","kind":"score.total_changed","summary":"Trust score (73 → 74)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a19112-4cbd-719b-ad05-a65ef6f9d80c"},{"id":"chg_01a18bee-5cb0-79af-827f-065614ca8cbe","kind":"server.version_changed","summary":"Server version (3.41.0 → 3.54.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a18bee-5cb0-79af-827f-065614ca8cbe"},{"id":"chg_01a186cb-6760-7c49-9362-07006cdd06e4","kind":"server.version_changed","summary":"Server version (3.38.0 → 3.41.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a186cb-6760-7c49-9362-07006cdd06e4"},{"id":"chg_01a186cb-6761-738c-9787-1b74f64e9ed5","kind":"score.total_changed","summary":"Trust score (72 → 73)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a186cb-6761-738c-9787-1b74f64e9ed5"},{"id":"chg_01a1819f-580e-7ae4-a365-fa8e6b82e199","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a1819f-580e-7ae4-a365-fa8e6b82e199"},{"id":"chg_01a1819f-580f-7401-951d-a37a6e3a93b6","kind":"server.version_changed","summary":"Server version (3.33.0 → 3.38.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a1819f-580f-7401-951d-a37a6e3a93b6"},{"id":"chg_01a17e4e-5126-7233-b953-1b8078dc344f","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www#chg-chg_01a17e4e-5126-7233-b953-1b8078dc344f"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www/changelog.json"},"links":{"html":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www","markdown":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www.md","changelogJson":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www/changelog.json","changelogRss":"https://verifymcp.io/servers/fr-publicoffre-marches-publics/www.xml","external":[{"label":"Remote endpoint","href":"https://www.publicoffre.fr/mcp"},{"label":"Website","href":"https://www.publicoffre.fr/"}]}}