{"name":"com.papacasper/mcp-toolbelt","slug":"papacasper-mcp-toolbelt","title":"mcp-toolbelt","description":"29 pay-per-call DNS, SEO, SSL, security, and dev tools for AI agents. x402, no API key.","url":"https://mcp.market/server/papacasper-mcp-toolbelt","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"seo","tags":["seo","security"],"presence":{"score":5,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":8,"ok":8,"last_checked_at":"2026-09-21T08:15:34.099Z","last_ok_at":"2026-09-21T08:15:34.099Z","latency_ms":299},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":null,"version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://papacasper.com/mcp"}],"packages":[],"tools":[{"name":"ai_crawler_policy_check","description":"Check a site's robots.txt for explicit directives targeting known AI crawlers (GPTBot, ClaudeBot, CCBot, PerplexityBot, Google-Extended, Bytespider, Amazonbot, and others used for LLM training or AI search/answer products), and check for an llms.txt file. Useful for publishers deciding whether their content policy toward AI crawlers matches their intent, or for auditing a competitor's stance.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Any URL on the site to check (origin is derived from it)"}},"required":["url"]}},{"name":"broken_link_check","description":"Crawl a site starting from a URL (same-origin pages only, bounded by maxPages) and check every linked URL for broken status codes. Returns broken links with the page(s) they were found on. Note: some external sites (e.g. social platforms) block automated HEAD/GET requests and may show up as false positives.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Starting URL to crawl"},"maxPages":{"type":"number","description":"Max same-origin pages to crawl (default 20, capped at 50)"},"checkExternal":{"type":"boolean","description":"Also check links pointing off-site (default true; crawling never follows off-site links)"}},"required":["url"]}},{"name":"check_open_ports","description":"TCP-connect scan a host for open ports. Defaults to a list of ~20 common service ports (SSH, HTTP/S, mail, DBs, etc.) if none are given. For checking your own infrastructure's exposure — capped at 100 ports per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"host":{"type":"string","description":"Hostname or IP to scan (no scheme)"},"ports":{"type":"array","items":{"type":"number"},"description":"Specific ports to check. Defaults to a common-ports list. Max 100 ports per call."}},"required":["host"]}},{"name":"check_robots_sitemap","description":"Check whether a site has a valid robots.txt and sitemap.xml, and return their raw contents (truncated).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Any URL on the site to check (origin is derived from it)"}},"required":["url"]}},{"name":"cors_policy_check","description":"Send a probe request with a foreign Origin header to a URL and report its CORS response headers. Flags wildcard-origin + credentials combinations and arbitrary-origin reflection, both common CORS misconfigurations.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to probe"}},"required":["url"]}},{"name":"dns_propagation_check","description":"Query a DNS record for a domain against several major public resolvers (Google, Cloudflare, Quad9, OpenDNS) in parallel and compare the answers. Flags mismatches, which usually mean propagation is still in progress after a DNS change.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Bare domain to query, e.g. example.com"},"recordType":{"type":"string","description":"Record type: A, AAAA, MX, TXT, NS, or CNAME (default A)"}},"required":["domain"]}},{"name":"domain_availability_check","description":"Check whether a domain is registered, plus scan common typo-squat variants (adjacent-key substitution, letter omission/doubling, transposition) across popular TLDs (.com, .net, .org, .io, .co, .ai, .app, .dev) for brand-protection or domain-flipping research. WHOIS-based; capped at 40 variants checked per call for latency.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Bare domain to check, e.g. example.com"},"checkSquats":{"type":"boolean","description":"Also scan typo-squat variants (default true)"}},"required":["domain"]}},{"name":"domain_health_check","description":"Check a domain's registration expiry (via WHOIS) and DNS health: nameservers, A/AAAA, MX, SPF, and DMARC records. Flags common misconfigurations.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Bare domain to check, e.g. example.com (no scheme/path)"}},"required":["domain"]}},{"name":"domain_report","description":"Bundle: runs seo_audit, domain_health_check (WHOIS + DNS: nameservers, A/AAAA, MX, SPF, DMARC), and email_deliverability_check (DKIM, SPF lookup-count, DMARC strength, DNSBL) against a domain in one call, one charge. Cheaper than calling the three tools separately. Each sub-check reports independently, so a failure in one doesn't void the others.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Bare domain to report on, e.g. example.com (no scheme/path)"}},"required":["domain"]}},{"name":"email_address_validate","description":"Validate a single email address: RFC syntax check, MX record lookup on the domain, disposable/temporary-email-provider detection, and role-account detection (info@, admin@, etc.). Per-address check — different from email_deliverability_check, which audits a whole domain's sending reputation (SPF/DKIM/DMARC/PTR/DNSBL).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","description":"Email address to validate"}},"required":["email"]}},{"name":"email_deliverability_check","description":"Deep-dive email deliverability check for a domain: MX records + reverse-DNS (PTR) on each MX host, common DKIM selector probing, SPF lookup-count (RFC 7208 caps at 10), DMARC policy strength, and DNSBL blacklist lookups (Spamhaus Zen, SpamCop, Barracuda) on MX IPs. Note: public-resolver DNSBL queries are frequently rate-limited or blocked by Spamhaus, so a `listed: null` result means \"unknown\", not \"clean\" — treat null results as inconclusive, not as a clean bill of health.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Bare domain to check, e.g. example.com"}},"required":["domain"]}},{"name":"favicon_manifest_check","description":"Check a site for favicon, apple-touch-icon, web app manifest, and theme-color presence — a quick completeness check for browser/OS chrome and PWA metadata.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Any URL on the site to check (origin is derived from it)"}},"required":["url"]}},{"name":"github_repo_health_check","description":"Check a GitHub repository's health signals: stars, forks, open issues, license, archived/disabled status, and days since last push. Flags likely-abandoned or unlicensed repos. Useful before depending on a repo.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","description":"Repository owner (user or org)"},"repo":{"type":"string","description":"Repository name"}},"required":["owner","repo"]}},{"name":"ip_geolocation_asn_lookup","description":"Resolve a hostname to its IPv4 addresses and look up each one's ASN, network prefix, country code, and network owner via Team Cymru's DNS-based WHOIS service (no API key). Country-level only — not city/street geolocation.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"host":{"type":"string","description":"Hostname or bare IPv4 address to look up"}},"required":["host"]}},{"name":"json_ld_schema_validator","description":"Fetch a URL, extract every JSON-LD (<script type=\"application/ld+json\">) block, and validate basic structure — @context/@type presence plus required fields for common schema.org types (Article, Product, Organization, WebSite, LocalBusiness, BreadcrumbList, FAQPage). Reports per-block errors rather than failing the whole call on one bad block.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to check"}},"required":["url"]}},{"name":"package_vulnerability_check","description":"Look up a package (optionally pinned to a version) against OSV.dev's aggregated vulnerability database (GitHub Advisories, PyPA, RustSec, Go vuln DB, etc.) for known CVEs/advisories. Supports npm, PyPI, crates.io, RubyGems, Go, Maven, NuGet, and Packagist ecosystems. Useful before adding a dependency.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ecosystem":{"type":"string","enum":["npm","pypi","cargo","rubygems","go","maven","nuget","packagist"],"description":"Package ecosystem"},"name":{"type":"string","description":"Package name"},"version":{"type":"string","description":"Optional exact version to check; omit to check the package generally"}},"required":["ecosystem","name"]}},{"name":"page_performance_check","description":"Fetch a URL and measure time-to-first-byte, total fetch time, and response size. Flags missing compression, missing Cache-Control, oversized payloads, and slow TTFB.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to measure"}},"required":["url"]}},{"name":"pagespeed_insights","description":"Run Google's real PageSpeed Insights (Lighthouse + Chrome UX Report) against a URL: performance score, Core Web Vitals (LCP, CLS, INP/TBT), and real-user field data where available. Authoritative version of a local timing check — hits Google's own infrastructure. Works without an API key at low volume; set GOOGLE_PAGESPEED_API_KEY server-side for higher throughput.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to test"},"strategy":{"type":"string","enum":["mobile","desktop"],"description":"Device strategy (default mobile)"}},"required":["url"]}},{"name":"redirect_chain_check","description":"Follow a URL through every HTTP redirect hop and report the full chain, final destination, and issues like redirect loops, too many hops, or HTTPS-to-HTTP downgrades.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The starting URL to trace"}},"required":["url"]}},{"name":"safe_browsing_check","description":"Check a URL against Google Safe Browsing's malware/phishing/unwanted-software/PUA blocklists. Requires GOOGLE_SAFE_BROWSING_API_KEY to be configured server-side (free Google Cloud API key).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to check"}},"required":["url"]}},{"name":"security_headers_audit","description":"Fetch a URL and audit its response for security-relevant HTTP headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy). Flags missing/misconfigured headers with a score.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to audit"}},"required":["url"]}},{"name":"seo_audit","description":"Fetch a URL and run an SEO audit: title/meta description length, canonical tag, Open Graph + Twitter Card tags, html lang attribute, viewport meta, heading structure, image alt-text coverage, internal/external link counts and generic-anchor-text detection, robots meta (noindex/nofollow), structured data (JSON-LD) presence, and robots.txt/sitemap.xml presence.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to audit"}},"required":["url"]}},{"name":"sitemap_url_validator","description":"Parse a site's sitemap.xml (following one level of sitemap-index nesting) and check the HTTP status of every listed URL. Concurrency-limited, capped at 200 URLs checked per call. Reports broken/redirecting URLs found in the sitemap.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"URL of the sitemap.xml to validate (or any page URL — /sitemap.xml on that origin is used)"}},"required":["url"]}},{"name":"ssl_cert_check","description":"Connect to a host over TLS and report its certificate's expiry date, days remaining, issuer, and subject.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname to check, e.g. papacasper.com (no scheme/path)"},"port":{"type":"number","description":"TLS port to connect to (default 443)"}},"required":["hostname"]}},{"name":"ssl_labs_grade","description":"Full SSL Labs-style TLS assessment: overall letter grade, protocol support (TLS 1.0-1.3), cipher strength, certificate chain issues, and known vulnerabilities (Heartbleed, POODLE, etc.) for each endpoint. Slower than ssl_cert_check (can take up to ~90s on a cold cache; SSL Labs caches results for 24h server-side).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname to assess, e.g. example.com (no scheme/path)"}},"required":["hostname"]}},{"name":"structured_data_extract","description":"Fetch a URL and extract structured data deterministically: JSON-LD blocks, OpenGraph/meta tags, and optional caller-supplied CSS-selector fields (e.g. { price: '.product-price', title: 'h1' }). No LLM involved — pure HTML parsing via CSS selectors, so results are exact matches only, not summarized or inferred.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to extract from"},"selectors":{"type":"object","description":"Optional map of field name -> CSS selector (e.g. { price: '.product-price', headline: 'h1' }). Each field returns an array of matched, whitespace-normalized text values in document order.","additionalProperties":{"type":"string"}},"attr":{"type":"string","description":"Optional HTML attribute to extract instead of text content (e.g. 'href', 'src', 'content'). Applies to all selector fields in this call."}},"required":["url"]}},{"name":"tech_stack_fingerprint","description":"Fetch a URL and fingerprint its likely tech stack from response headers (server, x-powered-by, x-generator) and HTML markers (generator meta tag, framework/CMS-specific script or class patterns). Best-effort — not exhaustive, no additional paths are probed.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to fingerprint"}},"required":["url"]}},{"name":"url_to_markdown","description":"Fetch a URL and return its main text content as clean, readable plain text/markdown-ish output. Strips scripts, styles, and HTML tags.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The URL to fetch"}},"required":["url"]}},{"name":"websocket_endpoint_check","description":"Test a WebSocket endpoint (ws:// or wss://): attempts the handshake, reports success/failure, time-to-open in ms, and close code/reason. Useful for verifying a WebSocket server is reachable and completes its upgrade handshake before you wire real traffic to it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"WebSocket URL to test, e.g. wss://example.com/socket"}},"required":["url"]}}],"scan":{"score":57,"grade":"C","scanned_at":"2026-09-20T20:58:00.534Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:58:00.524Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 670ms"]},"poisoning":{"score":15,"max":15,"notes":["29 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 4 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://papacasper.com/mcp","reachable":true,"authRequired":false,"latencyMs":670,"serverInfo":{"name":"mcp-toolbelt","version":"1.0.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://papacasper.com/favicon.svg","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":5}}}},"grade_history":[],"reviews":[]}