accueil / serveurs / Recherche & Web / us.srv.vehcdj664efetfrsolne5umanq/quoteproof-mcp
us.srv.vehcdj664efetfrsolne5umanq/quoteproof-mcp
serveur MCP (Model Context Protocol) · attestpage 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que us.srv.vehcdj664efetfrsolne5umanq/quoteproof-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « us.srv.vehcdj664efetfrsolne5umanq/quoteproof-mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 14 outils
- attestpage_access_check≈ 1074 tokens
Judges one page URL against its site's robots.txt for GPTBot, ClaudeBot, PerplexityBot, Google-Extended and CCBot: allowed or not, with the deciding line, the per-crawler reason and Crawl-delay; plus the site's Sitemap URLs, content_signal and llms_txt (whether /llms.txt is served). US$0.002 per call; POST url. Costs US$0.002 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/llms.txt
Paramètres, retour & exemple (1)
Paramètresurl· string · requis
The http(s) page URL to judge (max 2,048 characters). Only its site's /robots.txt and /llms.txt are read; the page is not fetched.
Exemple d'appel{"name": "attestpage_access_check", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "rail": "texte", "tier": "texte", "robots": {}, "network": "texte", "crawlers": [], "llms_txt": {}, "sitemaps": [], "content_signal": {}}} - attestpage_attest≈ 430 tokens
Signs a timestamped receipt for a file's sha256, proving it existed unchanged then. US$0.002 per call; POST the hash. Costs US$0.002 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/attest
Paramètres, retour & exemple (3)
Paramètresnote· string · optionnel
Optional note; only its SHA-256 goes in the receipt.sha256· string · requis
SHA-256 (hex) of the thing being attested.idempotency_key· string · optionnel
Optional, x402 payments only (keys are scoped to the paying address; trial and L402 calls get 400). Retries with the same key and sha256 get the same attestation (the receipt names that call own payment tx); a different sha256 gets 409.
Exemple d'appel{"name": "attestpage_attest", "arguments": {"sha256": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"tier": "texte", "receipt": "texte", "attestation": {}}} - attestpage_check_links≈ 600 tokens
Checks up to 10 URLs: ok, broken, moved or unknown for each, with final URL and title. US$0.005 per call; POST URLs. Costs US$0.005 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/check-links
Paramètres, retour & exemple (1)
Paramètresurls· array · requis
1 to 10 items, each an http(s) URL string or { "url", "expected_text" }. Dead domains are reported as results; if none resolves, 422 and no charge.
Exemple d'appel{"name": "attestpage_check_links", "arguments": {"urls": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"tier": "texte", "receipt": "texte", "results": []}} - attestpage_check_packages≈ 507 tokens
Checks up to 10 npm, PyPI or crates names: listed, version, licence, OSV.dev advisories. US$0.005 per call; POST names. Costs US$0.005 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/check-packages
Paramètres, retour & exemple (1)
Paramètrespackages· array · requis
1 to 10 packages to look up. Each is { ecosystem, name, version? }; ecosystem is npm, pypi or crates.
Exemple d'appel{"name": "attestpage_check_packages", "arguments": {"packages": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "tier": "texte", "receipt": "texte", "results": []}} - attestpage_fetch≈ 590 tokens
Returns a web page as clean text, with title, hashes and a signed receipt. US$0.002 per URL; POST up to 10 URLs. Costs US$0.002 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/fetch
Paramètres, retour & exemple (3)
Paramètresurl· string · optionnel
http(s) URL to fetch (max 2,048 characters). Send url or urls, not both.urls· array · optionnel
Instead of url: 1 to 10 distinct http(s) URLs in one call, priced per URL (the route price × the count). The answer is results[], one per URL, each with its own receipt.return_text· boolean · optionnel
Return up to 20,000 characters of clean text (per page). Default true; send false to leave the text out.
Exemple d'appel{"name": "attestpage_fetch", "arguments": {"url": "texte", "urls": [], "return_text": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"page": {}, "text": "texte", "tier": "texte", "advice": "texte", "receipt": "texte", "results": [], "injection_flags": []}} - attestpage_preview_document≈ 1059 tokens
Use before paying for POST /v1/verify/document: send the same body, and get back the quote and link pairs it would check, what was skipped and why, the number of parts and the exact price. Nothing is fetched, signed or charged. Free. Free. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-document
Paramètres, retour & exemple (8)
Paramètrespart· integer · optionnel
0-based part to check, default 0; call POST /v1/verify/document/preview first to see how many parts there are.match· string · optionnel · exact | fuzzy | passages
For every pair: exact; fuzzy (default), which also accepts small differences; or passages, for a paraphrased claim: the 3 passages that share most of its words, scored, as evidence for you to judge (not a verdict). With "passages", each sentence that carries a link is a claim.format· string · optionnel · markdown | text | html
markdown (default), text (only bare URLs and [n] references are links) or html (<a href> links, <blockquote> and <q> quotes; other tags are dropped).document· string · requis
The answer or report as written, 1 character to 60000 bytes (UTF-8), and the whole request body is capped at 256 KB. Its quotes and their links are found by fixed rules (extractor doc-v1).min_words· integer · optionnel
A quoted span with fewer words is skipped as too_short (default 4).part_size· integer · optionnel
Pairs per part, default 10. A free trial call takes at most the size in extensions.trial.info.max_batch_items of the 402 offer.threshold· number · optionnel
Fuzzy similarity needed, default 0.9.case_sensitive· boolean · optionnel
Default false; must be false with match "passages".
Exemple d'appel{"name": "attestpage_preview_document", "arguments": {"document": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"hint": "texte", "pairs": [], "parts": 1, "price": {}, "units": "texte", "skipped": [], "extractor": "texte", "part_size": 1, "pairs_total": 1, "limit_reached": true, "skipped_counts": {}, "document_sha256": "texte"}} - attestpage_preview_text_quote≈ 1051 tokens
Send the same body as POST /v1/verify/text-quote (start and end are ignored) and get back exact, fuzzy or none, the score and the occurrences. Free, 30 a day per IP address. The answer is not signed and has no offsets or receipt; the paid route returns those. Free. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-text-quote
Paramètres, retour & exemple (7)
Paramètresend· integer · optionnel
Optional, with start: the declared end offset, raw code points, exclusive. Give both or neither; not with match "passages".text· string · requis
The source text you already hold, as sent (max 50,000 characters, and the whole request body is capped at 256 KB of UTF-8, so 50,000 characters of 4-byte text fit; no fetch, no normalising before hashing). Offsets count characters (code points).match· string · optionnel · exact | fuzzy | passages
exact; fuzzy (default), which also accepts small differences; or passages, for a paraphrased claim: the 3 passages of the text that share most of its words, scored, as evidence for you to judge (not a verdict). Not with start and end.quote· string · requis
Text to look for in the source, or with match "passages" the claim to find support for (max 1,000 characters after normalisation).start· integer · optionnel
Optional, with end: the declared start offset of the quote in text, raw code points, 0-based. Only that slice is matched (max 1,000 code points), so the answer is whether the text at these offsets says the quote. Declared offsets are raw; result offsets are into the normalised text. If the slice misses but the quote is elsewhere in the text, result.located gives its position in the whole text. On a slice miss where a number differs, the answer carries match_verdict changed_number and nearest, the closest span on the slice with its diff. nearest offsets count into the slice's normalised text, not the whole text.threshold· number · optionnel
Fuzzy similarity needed, default 0.9.case_sensitive· boolean · optionnel
Default false; must be false with match "passages".
Exemple d'appel{"name": "attestpage_preview_text_quote", "arguments": {"text": "texte", "quote": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"advice": "texte", "result": {}, "signed": true, "page_note": "texte", "paid_route": {}}} - attestpage_recheck≈ 925 tokens
Reports if a page changed since a receipt: unchanged, changed, gone, unreadable. US$0.003 per call; POST receipt, or url with content_sha256 (not both). Costs US$0.003 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/recheck
Paramètres, retour & exemple (7)
Paramètresurl· string · optionnel
Only without receipt: the http(s) URL to re-check (max 2,048 characters).quote· string · optionnel
Only with a verify/quote receipt in exact or fuzzy mode: the quote exactly as it was sent to verify/quote. Must match the one the receipt signed. We re-test it on the live page and answer quote.verdict: still_exact, now_exact, now_fuzzy, now_missing or unchecked.quotes· array · optionnel
Only with a verify/quotes receipt in exact or fuzzy mode: all of its quotes, exactly as sent to verify/quotes, in the same order. Each must match the one the receipt signed. We re-test each on the live page and answer quotes[i].verdict (same values as quote.verdict). Not with quote.history· array · optionnel
Optional: up to 10 earlier receipts of this service for the same url, oldest first (fetch, verify/quote or recheck; paid or trial). Adds a timeline. Not stored.receipt· string · optionnel
Compact JWS receipt from an earlier /v1/fetch, /v1/verify/quote, /v1/verify/quotes or /v1/recheck call of this service (paid or trial; not a sample). Max 160 KB.return_text· boolean · optionnel
Also return up to 20,000 characters of the new clean text. Default false.content_sha256· string · optionnel
Only with url: the page.content_sha256 from our own fetch (64 hex). Other tools hash other text.
Exemple d'appel{"name": "attestpage_recheck", "arguments": {"url": "texte", "quote": "texte", "quotes": [], "history": [], "receipt": "texte", "return_text": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"page": {}, "text": "texte", "tier": "texte", "advice": "texte", "change": "unchanged", "changed": true, "receipt": "texte", "baseline": {}, "timeline": [], "differences": [], "elapsed_seconds": 1, "injection_flags": []}} - attestpage_verify_citations≈ 885 tokens
Checks up to 10 quote and URL pairs on live pages: exact, fuzzy or none, one receipt. US$0.10 per call; POST citations. Costs US$0.10 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-citations
Paramètres, retour & exemple (4)
Paramètresmatch· string · optionnel · exact | fuzzy | passages
For every citation: exact; fuzzy (default), which also accepts small differences; or passages, for a paraphrased claim: the 3 passages that share most of its words, scored, as evidence for you to judge (not a verdict).citations· array · requis
1 to 10 citations. Each URL is fetched once however many quotes cite it. Dead domains are reported as results; if none resolves, 422 and no charge.threshold· number · optionnel
Fuzzy similarity needed, default 0.9.case_sensitive· boolean · optionnel
Default false; must be false with match "passages".
Exemple d'appel{"name": "attestpage_verify_citations", "arguments": {"citations": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"tier": "texte", "pages": [], "receipt": "texte", "results": [], "summary": {}}} - attestpage_verify_document≈ 1027 tokens
Checks one part of a document's quotes on live pages. US$0.10 per part of up to 10 pairs; POST document and part. Costs US$0.10 per part of 10 pairs in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-document
Paramètres, retour & exemple (8)
Paramètrespart· integer · optionnel
0-based part to check, default 0; call POST /v1/verify/document/preview first to see how many parts there are.match· string · optionnel · exact | fuzzy | passages
For every pair: exact; fuzzy (default), which also accepts small differences; or passages, for a paraphrased claim: the 3 passages that share most of its words, scored, as evidence for you to judge (not a verdict). With "passages", each sentence that carries a link is a claim.format· string · optionnel · markdown | text | html
markdown (default), text (only bare URLs and [n] references are links) or html (<a href> links, <blockquote> and <q> quotes; other tags are dropped).document· string · requis
The answer or report as written, 1 character to 60000 bytes (UTF-8), and the whole request body is capped at 256 KB. Its quotes and their links are found by fixed rules (extractor doc-v1).min_words· integer · optionnel
A quoted span with fewer words is skipped as too_short (default 4).part_size· integer · optionnel
Pairs per part, default 10. A free trial call takes at most the size in extensions.trial.info.max_batch_items of the 402 offer.threshold· number · optionnel
Fuzzy similarity needed, default 0.9.case_sensitive· boolean · optionnel
Default false; must be false with match "passages".
Exemple d'appel{"name": "attestpage_verify_document", "arguments": {"document": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"part": 1, "tier": "texte", "pages": [], "parts": 1, "receipt": "texte", "results": [], "skipped": [], "summary": {}, "extractor": "texte", "pairs_total": 1, "skipped_counts": {}, "document_sha256": "texte"}} - attestpage_verify_quote≈ 672 tokens
Checks a quote on its live page: exact, fuzzy or none, offsets and a signed receipt. US$0.01 per call; POST url, quote. Costs US$0.01 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-quote
Paramètres, retour & exemple (5)
Paramètresurl· string · requis
http(s) URL of the page to check (max 2,048 characters). The whole request body is capped at 64 KB.match· string · optionnel · exact | fuzzy | passages
exact; fuzzy (default), which also accepts small differences; or passages, for a paraphrased claim: the 3 passages that share most of its words, scored, as evidence for you to judge (not a verdict).quote· string · requis
Text to look for on the page, or with match "passages" the claim to find support for (max 1,000 characters after normalisation).threshold· number · optionnel
Fuzzy similarity needed, default 0.9.case_sensitive· boolean · optionnel
Default false; must be false with match "passages".
Exemple d'appel{"name": "attestpage_verify_quote", "arguments": {"url": "texte", "quote": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"page": {}, "tier": "texte", "advice": "texte", "result": {}, "receipt": "texte", "injection_flags": []}} - attestpage_verify_quotes≈ 755 tokens
Checks up to 20 quotes on one page: exact, fuzzy or none, offsets, signed receipt. US$0.02 per call; POST url, quotes. Costs US$0.02 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-quotes
Paramètres, retour & exemple (5)
Paramètresurl· string · requis
http(s) URL of the page to check (max 2,048 characters). Fetched once for all the quotes.match· string · optionnel · exact | fuzzy | passages
For every quote: exact; fuzzy (default), which also accepts small differences; or passages, for a paraphrased claim: the 3 passages that share most of its words, scored, as evidence for you to judge (not a verdict).quotes· array · requis
1 to 20 quotes to look for on that page, or with match "passages" claims to find support for (each max 1,000 characters after normalisation). One price for the call however many.threshold· number · optionnel
Fuzzy similarity needed, default 0.9.case_sensitive· boolean · optionnel
Default false; must be false with match "passages".
Exemple d'appel{"name": "attestpage_verify_quotes", "arguments": {"url": "texte", "quotes": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"page": {}, "tier": "texte", "advice": "texte", "receipt": "texte", "results": [], "summary": {}, "injection_flags": []}} - attestpage_verify_receipt≈ 390 tokens
Use when you are handed an AttestPage evidence receipt and need to check it before relying on it: verifies the compact JWS against this service's published keys and returns its payload, so a forged or altered receipt is caught. Free. Free. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/receipt-verify
Paramètres, retour & exemple (1)
Paramètresreceipt· string · requis
The compact JWS from the "receipt" field of a response.
Exemple d'appel{"name": "attestpage_verify_receipt", "arguments": {"receipt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"kid": "texte", "tier": "paid", "valid": true, "reason": "texte", "message": "texte", "payload": {}}} - attestpage_verify_text_quote≈ 951 tokens
Checks a quote word for word against text you hold: exact, fuzzy or none, offsets. US$0.005 per call; POST text, quote. Costs US$0.005 per call in USDC via x402 (Base), charged when the call answers below 400 (a no-match or not-found result is charged too); a bad request is refused unpaid. Pay by putting an x402 payment payload in _meta["x402/payment"]. Without one it returns the payment requirements. Docs: https://vehcdj664efetfrsolne5umanq.srv.us/docs/verify-text-quote
Paramètres, retour & exemple (7)
Paramètresend· integer · optionnel
Optional, with start: the declared end offset, raw code points, exclusive. Give both or neither; not with match "passages".text· string · requis
The source text you already hold, as sent (max 50,000 characters, and the whole request body is capped at 256 KB of UTF-8, so 50,000 characters of 4-byte text fit; no fetch, no normalising before hashing). Offsets count characters (code points).match· string · optionnel · exact | fuzzy | passages
exact; fuzzy (default), which also accepts small differences; or passages, for a paraphrased claim: the 3 passages of the text that share most of its words, scored, as evidence for you to judge (not a verdict). Not with start and end.quote· string · requis
Text to look for in the source, or with match "passages" the claim to find support for (max 1,000 characters after normalisation).start· integer · optionnel
Optional, with end: the declared start offset of the quote in text, raw code points, 0-based. Only that slice is matched (max 1,000 code points), so the answer is whether the text at these offsets says the quote. Declared offsets are raw; result offsets are into the normalised text. If the slice misses but the quote is elsewhere in the text, result.located gives its position in the whole text. On a slice miss where a number differs, the answer carries match_verdict changed_number and nearest, the closest span on the slice with its diff. nearest offsets count into the slice's normalised text, not the whole text.threshold· number · optionnel
Fuzzy similarity needed, default 0.9.case_sensitive· boolean · optionnel
Default false; must be false with match "passages".
Exemple d'appel{"name": "attestpage_verify_text_quote", "arguments": {"text": "texte", "quote": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"tier": "texte", "advice": "texte", "result": {}, "receipt": "texte", "injection_flags": []}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».