{"$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-05T15:58:20.030Z","url":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage","markdownUrl":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage.md","server":{"slug":"com-meilleurcodeparrainage-codes-parrainage","name":"Meilleur Code Parrainage","registryName":"com.meilleurcodeparrainage/codes-parrainage","description":"Codes de parrainage vérifiés en France : bonus filleul et parrain, conditions, fiche source.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"meilleurcodeparrainage","type":"remote","identifier":"https://meilleurcodeparrainage.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage","version":"1.1.0","transport":null,"scoredAt":"2026-11-05T02:32:17.013Z"},"score":{"total":70,"tier":"medium","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":70},{"date":"2026-11-04","total":70}]},"categories":[{"name":"Endpoint Security","score":74,"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.","HSTS check failed: the Strict-Transport-Security header is absent.","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_absent","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":68,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1244 tokens (~207/item across 6 items; 6 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":"207","items":"6","tools":"6","tokens":"1244","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":3,"verdict":"partial","reasons":["Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"1"}}]},{"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."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","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 6 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 7 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":"6"}},{"code":"toolsafety.manipulation_clean","args":{"units":"7","judged":"7"}}]},{"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":"meilleurcodeparrainage","type":"remote","identifier":"https://meilleurcodeparrainage.com/mcp","withdrawn":false,"score":70,"current":true,"url":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage","markdownUrl":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage.md"}],"facts":[{"label":"Endpoint","value":"https://meilleurcodeparrainage.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.1.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"rechercher_offres","title":"Rechercher une offre de parrainage","description":"Cherche des offres de parrainage vérifiées dans l’annuaire Meilleur Code Parrainage (France) à partir d’un nom de marque ou d’un mot-clé. À utiliser en premier quand la marque est incertaine ou mal orthographiée, ou pour un besoin décrit en mots (« banque en ligne », « électricité ») ; si la marque est connue, detail_offre donne la fiche complète ; pour parcourir un secteur, offres_par_categorie ; pour la sélection du mois, meilleures_offres. Renvoie du texte : pour chaque offre trouvée (10 par défaut, 20 au plus, sans pagination), la marque, l’adresse de la fiche, le code de parrainage, les avantages du filleul et du parrain, les catégories et la date de vérification. Si rien ne correspond, renvoie un message qui invite à essayer un autre nom ou lister_categories. Pour requete, un nom de marque seul donne le résultat le plus précis ; pour un besoin large comme « banque en ligne », montez limite jusqu’à 20. Lecture seule, sans compte ni clé.","inputs":[{"name":"limite","type":"integer","required":false,"description":"Nombre maximum d’offres renvoyées, de 1 à 20 (10 par défaut)."},{"name":"requete","type":"string","required":true,"description":"Nom de marque (même partiel) ou mot-clé, majuscules indifférentes, par exemple « Kraken », « banque en ligne » ou « électricité »."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":309},{"name":"detail_offre","title":"Détail d’une offre de parrainage","description":"Renvoie la fiche complète d’une seule marque de l’annuaire Meilleur Code Parrainage : code de parrainage (ou activation par lien), avantages du filleul et du parrain, catégories, date de vérification, condition à remplir, délai de versement, page officielle consultée, date de fin si l’offre est limitée, et avertissement. À utiliser quand l’utilisateur nomme une marque précise et veut savoir comment obtenir le bonus ; pour plusieurs marques, utiliser comparer_offres ; si le nom est incertain, rechercher_offres d’abord. Si la marque est absente, renvoie une erreur qui invite à utiliser rechercher_offres. Lecture seule, sans compte ni clé.","inputs":[{"name":"marque","type":"string","required":true,"description":"Nom de la marque tel qu’on l’écrit couramment, majuscules indifférentes, par exemple « Fortuneo » ou « Uber Eats »."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":189},{"name":"comparer_offres","title":"Comparer des offres de parrainage","description":"Compare côte à côte 2 à 5 marques de l’annuaire Meilleur Code Parrainage, par exemple pour choisir entre deux banques en ligne. Renvoie du texte : pour chaque marque, dans l’ordre demandé, la même fiche que detail_offre (code, avantages du filleul et du parrain, condition, délai de versement, date de vérification, page officielle, adresse de la fiche) ; une marque absente est signalée sans bloquer les autres. Pour marques, reprenez les noms tels qu’ils apparaissent dans les résultats de rechercher_offres : la correspondance est alors exacte, et l’ordre de la liste fixe l’ordre de la réponse. Pour une seule marque, utiliser detail_offre ; pour trouver des marques à comparer, rechercher_offres ou offres_par_categorie. Lecture seule, sans compte ni clé.","inputs":[{"name":"marques","type":"array","required":true,"description":"Noms des 2 à 5 marques à comparer, majuscules indifférentes, par exemple [« Fortuneo », « BoursoBank »]."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":220},{"name":"offres_par_categorie","title":"Offres de parrainage par catégorie","description":"Liste les offres de parrainage vérifiées d’une seule catégorie de l’annuaire Meilleur Code Parrainage (Banque, Crypto, Shopping, Maison, Food…). À utiliser quand l’utilisateur cherche un type de produit sans nommer de marque (« une banque en ligne », « de la crypto ») ; pour une marque, rechercher_offres puis detail_offre ; pour la sélection du mois toutes catégories, meilleures_offres ; pour les noms exacts des catégories, lister_categories. Renvoie du texte : jusqu’à limite offres (15 par défaut, 30 au plus, sans pagination), chacune avec la marque, l’adresse de la fiche, le code, les avantages du filleul et du parrain, les catégories et la date de vérification. Catégorie inconnue ou vide : erreur explicite. Lecture seule, sans compte ni clé.","inputs":[{"name":"categorie","type":"string","required":true,"description":"Nom d’une catégorie de l’annuaire, majuscules indifférentes, par exemple « Banque » ou « crypto ». La liste exacte est donnée par lister_categories."},{"name":"limite","type":"integer","required":false,"description":"Nombre maximum d’offres renvoyées, de 1 à 30 (15 par défaut)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":251},{"name":"meilleures_offres","title":"Meilleures offres de parrainage du mois","description":"Renvoie la sélection du mois des meilleures offres de parrainage, choisies et classées par la rédaction de Meilleur Code Parrainage toutes catégories confondues, avec le lien de la page de sélection. Pour chaque offre : rang, raison du choix, marque, code, avantages du filleul et du parrain, date de vérification, date de fin éventuelle et adresse de la fiche. À utiliser quand l’utilisateur demande les meilleurs codes de parrainage du moment sans marque ni secteur ; pour un secteur, offres_par_categorie ; pour une marque, detail_offre. Aucun paramètre. Lecture seule, sans compte ni clé.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":142},{"name":"lister_categories","title":"Catégories de l’annuaire","description":"Liste toutes les catégories de l’annuaire Meilleur Code Parrainage avec le nombre d’offres vérifiées dans chacune et le total, de la plus fournie à la moins fournie. À utiliser pour connaître les noms exacts à passer à offres_par_categorie, ou pour présenter l’étendue de l’annuaire ; ne renvoie aucune offre. Aucun paramètre. Lecture seule, sans compte ni clé.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":93}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T02:32:17.000Z","track":"remote","endpoint":"https://meilleurcodeparrainage.com/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=meilleurcodeparrainage.com","issuer":"CN=YE2,O=Let's Encrypt,C=US","notBefore":"2026-10-16T13:55:33Z","notAfter":"2027-01-14T13:55:32Z","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":"meilleurcodeparrainage.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"meilleurcodeparrainage.com.","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-11-04","recent":[{"id":"chg_01a1a98c-c386-7b6d-81a5-6a4d658819e9","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage#chg-chg_01a1a98c-c386-7b6d-81a5-6a4d658819e9"},{"id":"chg_01a1a98c-c387-7a92-853d-df04839019fa","kind":"tool.description_changed","summary":"Tool “comparer_offres” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage#chg-chg_01a1a98c-c387-7a92-853d-df04839019fa"},{"id":"chg_01a1a98c-c388-7483-99b3-511cf4021b90","kind":"tool.description_changed","summary":"Tool “rechercher_offres” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage#chg-chg_01a1a98c-c388-7483-99b3-511cf4021b90"},{"id":"chg_01a1a74a-8ae6-7b92-aa04-a95648f6f176","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage#chg-chg_01a1a74a-8ae6-7b92-aa04-a95648f6f176"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage","markdown":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage.md","changelogJson":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage/changelog.json","changelogRss":"https://verifymcp.io/servers/com-meilleurcodeparrainage-codes-parrainage/meilleurcodeparrainage.xml","external":[{"label":"Remote endpoint","href":"https://meilleurcodeparrainage.com/mcp"},{"label":"Website","href":"https://meilleurcodeparrainage.com/assistants-ia/"}]}}