{"$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:48:53.839Z","url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp","markdownUrl":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp.md","server":{"slug":"org-echoempire-web-tools","name":"org.echoempire/web-tools","registryName":"org.echoempire/web-tools","description":"Web extraction MCP: page content, metadata, articles, contacts, email checks, URL probes.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"echoempire-web-tools-mcp","type":"remote","identifier":"https://echoempire-web-tools-mcp.echoempire-in-co.workers.dev/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp","version":"1.0.0","transport":null,"scoredAt":"2026-11-05T03:21:20.156Z"},"score":{"total":66,"tier":"medium","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":66},{"date":"2026-11-04","total":65},{"date":"2026-11-03","total":65},{"date":"2026-11-02","total":64},{"date":"2026-11-01","total":64},{"date":"2026-10-31","total":63},{"date":"2026-10-30","total":63}]},"categories":[{"name":"Endpoint Security","score":63,"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 enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.","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.inconclusive","args":{"reason":"plaintext_status","status":"405"}},{"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":66,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 805 tokens (~134/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":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"134","items":"6","tools":"6","tokens":"805","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":20,"verdict":"partial","reasons":["Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"6"}}]},{"name":"Tool Coverage","score":94,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","82% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"82"}}]},{"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":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":["HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement."],"malware":[],"components":[{"slug":"echoempire-web-tools-mcp","type":"remote","identifier":"https://echoempire-web-tools-mcp.echoempire-in-co.workers.dev/mcp","withdrawn":false,"score":66,"current":true,"url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp","markdownUrl":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp.md"}],"facts":[{"label":"Endpoint","value":"https://echoempire-web-tools-mcp.echoempire-in-co.workers.dev/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.0.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"extract_website_content","title":"extract website content","description":"Fetch web pages and return clean readable text (boilerplate, nav and ads stripped), title, description, word count and language. Deterministic, no AI, no browser. Runs Apify Actor skilled_glee/website-content-extractor on YOUR Apify account (pay-per-event $0.002646/page, billed by Apify).","inputs":[{"name":"apify_token","type":"string","required":false,"description":"Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."},{"name":"maxChars","type":"integer","required":false,"description":"Max content characters per page."},{"name":"pageUrls","type":"array","required":true,"description":"Web page URLs to extract readable content from."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":139},{"name":"extract_web_metadata","title":"extract web metadata","description":"Extract title, meta description, Open Graph, Twitter Card, JSON-LD structured data, canonical URL, language and H1s from web pages as JSON. Runs Apify Actor skilled_glee/web-metadata-extractor on YOUR Apify account (pay-per-event $0.001/page, billed by Apify).","inputs":[{"name":"apify_token","type":"string","required":false,"description":"Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."},{"name":"pageUrls","type":"array","required":true,"description":"Web page URLs to extract metadata from."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":118},{"name":"extract_article","title":"extract article","description":"Extract structured article data: title, author, published date, clean body text, word count and content hash. Failed URLs are not billed. Runs Apify Actor skilled_glee/article-text-extractor on YOUR Apify account (pay-per-event $0.001/article, billed by Apify).","inputs":[{"name":"apify_token","type":"string","required":false,"description":"Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."},{"name":"articleUrls","type":"array","required":true,"description":"Static article URLs (duplicates processed once)."},{"name":"maxChars","type":"integer","required":false,"description":"Max content characters per article."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":125},{"name":"extract_contact_details","title":"extract contact details","description":"Extract emails (incl. mailto), North American phone numbers, LinkedIn/X/Facebook/Instagram/YouTube links and contact/about/team page links from web pages. Runs Apify Actor skilled_glee/contact-details-extractor on YOUR Apify account (pay-per-event $0.0015/page, billed by Apify).","inputs":[{"name":"apify_token","type":"string","required":false,"description":"Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."},{"name":"pageUrls","type":"array","required":true,"description":"Web page URLs to extract contact details from."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":121},{"name":"verify_emails","title":"verify emails","description":"Check email addresses without sending mail: syntax, MX, null MX, disposable domains, role accounts, free providers and common typos, with a pass/risky/fail verdict and reason codes. Runs Apify Actor skilled_glee/email-verifier on YOUR Apify account (pay-per-event $0.001/email, billed by Apify).","inputs":[{"name":"apify_token","type":"string","required":false,"description":"Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."},{"name":"emails","type":"array","required":true,"description":"Email addresses to check (max 100 per call via MCP)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":127},{"name":"probe_urls","title":"probe urls","description":"Check URLs with HEAD or GET: HTTP status, final URL after redirects, redirect count, Content-Type and timing. No page body is read. Runs Apify Actor skilled_glee/http-url-probe on YOUR Apify account (pay-per-event $0.0004/URL, billed by Apify).","inputs":[{"name":"apify_token","type":"string","required":false,"description":"Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."},{"name":"followRedirects","type":"boolean","required":false,"description":null},{"name":"method","type":"string","required":false,"description":null},{"name":"timeoutSecs","type":"integer","required":false,"description":null},{"name":"urls","type":"array","required":true,"description":"Absolute http(s) URLs to probe."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":138}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T03:21:20.000Z","track":"remote","endpoint":"https://echoempire-web-tools-mcp.echoempire-in-co.workers.dev/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=echoempire-in-co.workers.dev","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-10-03T09:15:15Z","notAfter":"2027-01-01T10:11:42Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"echoempire-web-tools-mcp.echoempire-in-co.workers.dev.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"dev.","outcome":"verified","label":"Verified"},{"zone":"workers.dev.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"inconclusive","label":"Inconclusive","status":405},"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-30","recent":[{"id":"chg_01a1a9b9-ac31-759d-aaa1-6a7028776451","kind":"score.total_changed","summary":"Trust score (65 → 66)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp#chg-chg_01a1a9b9-ac31-759d-aaa1-6a7028776451"},{"id":"chg_01a19f6b-5301-74d2-9bac-503b672693bb","kind":"score.total_changed","summary":"Trust score (64 → 65)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp#chg-chg_01a19f6b-5301-74d2-9bac-503b672693bb"},{"id":"chg_01a19520-e008-7121-bca5-65682e7ac247","kind":"server.version_changed","summary":"Server version (1.0.0 → 1.1.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp#chg-chg_01a19520-e008-7121-bca5-65682e7ac247"},{"id":"chg_01a19520-e009-7210-91d8-3148aedeeade","kind":"score.total_changed","summary":"Trust score (63 → 64)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp#chg-chg_01a19520-e009-7210-91d8-3148aedeeade"},{"id":"chg_01a18ff9-3c29-78f3-8ab6-b2fa4b3ea1fb","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp#chg-chg_01a18ff9-3c29-78f3-8ab6-b2fa4b3ea1fb"},{"id":"chg_01a18dc3-cc9c-7c42-a2b4-ea1bcdc35c6b","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp#chg-chg_01a18dc3-cc9c-7c42-a2b4-ea1bcdc35c6b"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp","markdown":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp.md","changelogJson":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/org-echoempire-web-tools/echoempire-web-tools-mcp.xml","external":[{"label":"Remote endpoint","href":"https://echoempire-web-tools-mcp.echoempire-in-co.workers.dev/mcp"},{"label":"Authorisation metadata","href":"https://echoempire-web-tools-mcp.echoempire-in-co.workers.dev/.well-known/oauth-protected-resource/mcp"},{"label":"Website","href":"https://echoempire-agent-index.echoempire-in-co.workers.dev/"}]}}