AttestPage (Quoteproof)
by vehcdj664efetfrsolne5umanq.srv.us · remote · no sign-in to list tools · v0.1.0 · published by us.srv.vehcdj664efetfrsolne5umanq
Use before citing a page, sharing links or installing a suggested package. Signed receipts.
15 tools: 2 do something that can't be undone, 12 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things12Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http quoteproof https://vehcdj664efetfrsolne5umanq.srv.us/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnattestpage_fetch
The server marks "attestpage_fetch" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "attestpage_fetch" says "fetch": a word for reading.
The server marks "attestpage_preview_text_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "attestpage_preview_text_quote" says "preview": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
15 tools
Can't be undone 2Claude Code: ask
attestpage_preview_text_quoteSend 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.1 finding
Why it is in this group
- The name "attestpage_preview_text_quote" says "preview": a word for reading.
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "attestpage_preview_text_quote" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "attestpage_preview_text_quote" says "preview": a word for reading.
Description, as the server wrote it 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
Annotations the server declares
- title: Preview a text quote check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
attestpage_scan_replyScans a bot's draft reply before sending: pass, caution or block, with findings on links, lookalike hosts, injection and prices.No findings
Why it is in this group
- The name "attestpage_scan_reply" says "reply": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Scans a bot's draft reply before sending: pass, caution or block, with findings on links, lookalike hosts, injection and prices. US$0.003 per call; POST text. 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/scan-reply
Annotations the server declares
- title: Scan a bot's draft reply before it is sent: pass, caution or block, with findings on links, hosts, injection phrases and unsupported prices
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Changes things 12Claude Code: ask
attestpage_access_checkJudges 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 an…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Judge one page URL against its site's robots.txt for each AI crawler: allowed, the deciding line, reason and crawl_delay; plus sitemaps, content_signal and llms_txt
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_attestSigns a timestamped receipt for a file's sha256, proving it existed unchanged then.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Sign a timestamped receipt over a SHA-256 hash
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
attestpage_check_linksChecks up to 10 URLs: ok, broken, moved or unknown for each, with final URL and title.No findings
Why it is in this group
- The name "attestpage_check_links" says "link": a word for a change.
Description, as the server wrote it 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
Annotations the server declares
- title: Check up to 10 links in one call: a link verdict (ok, broken, moved, unknown) per URL, optional expected_text
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_check_packagesChecks up to 10 npm, PyPI or crates names: listed, version, licence, OSV.dev advisories.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Check whether up to 10 package names exist on npm, PyPI or crates, with known OSV.dev advisories
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_fetchReturns a web page as clean text, with title, hashes and a signed receipt.1 finding
Why it is in this group
- The name "attestpage_fetch" says "fetch": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "attestpage_fetch" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "attestpage_fetch" says "fetch": a word for reading.
Description, as the server wrote it 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
Annotations the server declares
- title: Fetch a page, or up to 10 in one call, each with a verdict, injection flags and a signed receipt
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_recheckReports if a page changed since a receipt: unchanged, changed, gone, unreadable.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Re-check a page against an earlier receipt: unchanged, changed, gone or unreadable
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_verify_citationsChecks up to 10 quote and URL pairs on live pages: exact, fuzzy or none, one receipt.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Verify up to 10 quote and URL citations in one call
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_verify_documentChecks one part of a document's quotes on live pages.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Check the quotes and links in a whole document, 10 per part
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_verify_quoteChecks a quote on its live page: exact, fuzzy or none, offsets and a signed receipt.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Verify that a quote appears on a web page
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_verify_quotesChecks up to 20 quotes on one page: exact, fuzzy or none, offsets, signed receipt.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Verify up to 20 quotes on one web page in one call
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
attestpage_verify_receiptUse 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 pay…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- title: Verify an evidence receipt
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
attestpage_verify_text_quoteChecks a quote word for word against text you hold: exact, fuzzy or none, offsets.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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
Annotations the server declares
- title: Verify a quote against text you already hold, with no fetch
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Only reads 1Claude Code: allow
attestpage_preview_documentUse 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 exac…No findings
Why it is in this group
- The name "attestpage_preview_document" says "preview": a word for reading.
Description, as the server wrote it 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
Annotations the server declares
- title: Preview a document check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http quoteproof https://vehcdj664efetfrsolne5umanq.srv.us/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__quoteproof__attestpage_preview_document"
],
"ask": [
"mcp__quoteproof__attestpage_verify_quote",
"mcp__quoteproof__attestpage_verify_citations",
"mcp__quoteproof__attestpage_fetch",
"mcp__quoteproof__attestpage_recheck",
"mcp__quoteproof__attestpage_check_links",
"mcp__quoteproof__attestpage_check_packages",
"mcp__quoteproof__attestpage_attest",
"mcp__quoteproof__attestpage_scan_reply",
"mcp__quoteproof__attestpage_verify_document",
"mcp__quoteproof__attestpage_verify_quotes",
"mcp__quoteproof__attestpage_verify_text_quote",
"mcp__quoteproof__attestpage_access_check",
"mcp__quoteproof__attestpage_verify_receipt",
"mcp__quoteproof__attestpage_preview_text_quote"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as quoteproof. Review it before you use it.