{"name":"ground-truth","title":"Ground Truth","description":"Live fact-checking tools for AI agents. Try free endpoint checks and security-header inspections, then use paid pricing, compliance, claim, hypothesis, and competitor verification against public web data.","homepage":"https://ground-truth-mcp.anishdasmail.workers.dev/","icon":"https://ground-truth-mcp.anishdasmail.workers.dev/icon.svg","serverInfo":{"name":"ground-truth","title":"Ground Truth","version":"0.4.4"},"authentication":{"required":false,"schemes":["header","x402"]},"metadata":{"description":"Live fact-checking tools for AI agents. Try free endpoint checks and security-header inspections, then use paid pricing, compliance, claim, hypothesis, and competitor verification against public web data.","homepage":"https://ground-truth-mcp.anishdasmail.workers.dev/","website":"https://ground-truth-mcp.anishdasmail.workers.dev/","icon":"https://ground-truth-mcp.anishdasmail.workers.dev/icon.svg","pricing":"https://ground-truth-mcp.anishdasmail.workers.dev/pricing","freeTools":["check_endpoint","inspect_security_headers"],"teamPlan":{"priceUsdMonthly":9,"quota":5000,"header":"X-API-Key"},"agenticPayPerUse":{"enabled":true,"network":"eip155:84532","facilitator":"https://x402.org/facilitator","recipient":"0xB04BD750b67e7b00c95eAC8995eb9F8441309196","toolPricesUsd":{"estimate_market":0.01,"check_pricing":0.02,"compare_competitors":0.03,"compare_pricing_pages":0.04,"verify_claim":0.05,"test_hypothesis":0.05,"assess_compliance_posture":0.05}}},"tools":[{"name":"check_endpoint","title":"Endpoint Reachability Check","description":"Perform one live, unauthenticated fetch against a public URL or API endpoint and report status, content type, timing, and likely auth or rate-limit signals.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","description":"Public http(s) URL or bare domain to probe. Bare domains like google.com are normalized to https:// automatically."}},"required":["url"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"inputUrl":{"type":"string","description":"Original user input when normalization changed it, for example when https:// was added."},"url":{"type":"string","description":"Normalized URL that was actually fetched."},"accessible":{"type":"boolean","description":"True when the endpoint returned a 2xx HTTP status."},"status":{"type":"integer","description":"HTTP status code returned by the endpoint, when a response was received."},"contentType":{"type":["string","null"],"description":"Response Content-Type header, if present."},"responseTimeMs":{"type":"integer","description":"Elapsed request time in milliseconds."},"authRequired":{"type":"boolean","description":"True when the server responded with 401 or 403, which usually means credentials are required."},"rateLimited":{"type":"boolean","description":"True when the server responded with 429 Too Many Requests."},"sampleResponse":{"type":"string","description":"First 1,000 characters of the response body for quick inspection. Use this as a debugging hint only; it may be truncated and should not be treated as a complete page capture."},"error":{"type":"string","description":"Validation or network error when the request could not be completed."}},"required":["url","accessible"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"estimate_market","title":"Package Market Search","description":"Search npm or PyPI to estimate how crowded a package category is before you claim that a market is empty, niche, or competitive.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","description":"Short registry search phrase to evaluate, for example 'mcp memory server' or 'edge orm'."},"registry":{"type":"string","enum":["npm","pypi"],"description":"Registry to search. Use 'npm' for JavaScript ecosystems and 'pypi' for Python ecosystems."}},"required":["query"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","description":"Search phrase that was evaluated."},"registry":{"type":"string","enum":["npm","pypi"],"description":"Registry that was searched."},"totalResults":{"type":["integer","null"],"description":"Total number of matching packages reported by the registry search."},"topResults":{"type":"array","description":"Representative top search matches that help interpret the market count.","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","description":"Package name returned by the registry."},"description":{"type":"string","description":"Short package summary from registry metadata."},"version":{"type":"string","description":"Latest version string returned in the result payload."},"score":{"type":"string","description":"Registry relevance score when npm provides one."}},"required":["name","description","version"]}}},"required":["query","registry","totalResults","topResults"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"check_pricing","title":"Pricing Page Scan","description":"Fetch a public pricing page and extract first-pass pricing signals before you quote plan costs, free tiers, or plan names.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","description":"Public pricing or plans URL to analyze. Prefer the specific pricing page rather than a generic homepage."}},"required":["url"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","description":"Pricing page that was analyzed."},"cached":{"type":"boolean","description":"True when the page body came from the 5-minute cache."},"pricesFound":{"type":"array","description":"Distinct price-like strings extracted from the page text.","items":{"type":"string"}},"plansDetected":{"type":"array","description":"Lowercased heuristic plan labels detected from the page text.","items":{"type":"string"}},"hasFreeOption":{"type":"boolean","description":"True when the page contains signals that a free plan or $0 option exists."},"hasFreeTrial":{"type":"boolean","description":"True when the page contains signals that a free trial exists."},"pageLength":{"type":"integer","description":"Size of the fetched page body in characters."},"error":{"type":"string","description":"Fetch or parsing error when the pricing page could not be analyzed."}},"required":["url"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"inspect_security_headers","title":"Security Header Inspection","description":"Fetch a public URL and inspect security-relevant response headers before you claim that a product or endpoint has a strong browser-facing baseline.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","description":"Public http(s) URL or bare domain to inspect. Bare domains are normalized to https:// automatically."}},"required":["url"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"inputUrl":{"type":"string","description":"Original user input when normalization changed it."},"url":{"type":"string","description":"Normalized URL that was fetched."},"accessible":{"type":"boolean","description":"True when the endpoint returned an HTTP response."},"status":{"type":"integer","description":"HTTP status code returned by the endpoint."},"https":{"type":"boolean","description":"True when the normalized URL used https."},"presentCount":{"type":"integer","description":"Number of tracked security headers that were present."},"score":{"type":"string","enum":["strong","moderate","weak"],"description":"Heuristic security-header score based on how many tracked headers were present."},"headers":{"type":"object","additionalProperties":false,"description":"Tracked response headers and their raw values when present.","properties":{"strictTransportSecurity":{"type":["string","null"]},"contentSecurityPolicy":{"type":["string","null"]},"xFrameOptions":{"type":["string","null"]},"referrerPolicy":{"type":["string","null"]},"permissionsPolicy":{"type":["string","null"]},"xContentTypeOptions":{"type":["string","null"]},"crossOriginOpenerPolicy":{"type":["string","null"]},"crossOriginResourcePolicy":{"type":["string","null"]}}},"missingRecommended":{"type":"array","items":{"type":"string"},"description":"Tracked headers that were not present on the response."},"error":{"type":"string","description":"Validation or network error when the request could not be completed."}},"required":["url","accessible","https"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"compare_pricing_pages","title":"Pricing Page Comparison","description":"Compare two to five public pricing pages side by side before you make competitive pricing or packaging claims.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"pages":{"type":"array","minItems":2,"maxItems":5,"description":"Two to five named pricing pages to compare side by side.","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","description":"Short vendor or product label to use in the comparison output."},"url":{"type":"string","description":"Public pricing page URL for that vendor or product."}},"required":["name","url"]}}},"required":["pages"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"pages":{"type":"array","description":"Per-page pricing signals returned in input order.","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"url":{"type":"string","description":"Pricing page URL that was fetched for this named vendor."},"cached":{"type":"boolean","description":"True when this page body came from the 5-minute cache."},"pricesFound":{"type":"array","description":"Distinct price-like strings extracted from this page. These are page-level hints and are not mapped to specific plans.","items":{"type":"string"}},"plansDetected":{"type":"array","description":"Lowercased heuristic plan labels detected on this page, such as free, pro, team, or enterprise.","items":{"type":"string"}},"hasFreeOption":{"type":"boolean","description":"True when this page contains visible text suggesting a free plan, free tier, or $0 option."},"hasFreeTrial":{"type":"boolean","description":"True when this page contains visible text suggesting a free trial."},"pageLength":{"type":"integer","description":"Size of this fetched page body in characters."},"error":{"type":"string","description":"Fetch or parsing error for this specific pricing page when it could not be analyzed."}},"required":["name","url"]}},"summary":{"type":"object","additionalProperties":false,"description":"Aggregate counts across all compared pricing pages.","properties":{"pagesCompared":{"type":"integer","description":"Number of pricing pages included in the comparison."},"pagesWithVisiblePrices":{"type":"integer","description":"Number of pages where at least one price-like string was detected."},"pagesWithFreeOption":{"type":"integer","description":"Number of pages with page-level text suggesting a free plan, free tier, or $0 option."},"pagesWithFreeTrial":{"type":"integer","description":"Number of pages with page-level text suggesting a free trial."}},"required":["pagesCompared","pagesWithVisiblePrices","pagesWithFreeOption","pagesWithFreeTrial"]}},"required":["pages","summary"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"compare_competitors","title":"Named Package Comparison","description":"Compare two or more exact package names side by side using live npm or PyPI metadata.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"packages":{"type":"array","minItems":2,"maxItems":10,"description":"Two to ten exact package names from the same registry. Use exact registry names, not search phrases.","items":{"type":"string"}},"registry":{"type":"string","enum":["npm","pypi"],"description":"Registry that all package names belong to. Returned metadata fields differ slightly between npm and PyPI."}},"required":["packages"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"packages":{"type":"array","items":{"type":"string"},"description":"Package names that were requested for comparison."},"registry":{"type":"string","enum":["npm","pypi"],"description":"Registry used for all comparisons."},"comparisons":{"type":"array","description":"Per-package lookup results returned in input order.","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"found":{"type":"boolean"},"description":{"type":"string"},"latestVersion":{"type":"string"},"license":{"type":["string","null"]},"lastPublished":{"type":["string","null"]},"created":{"type":["string","null"]},"totalVersions":{"type":"integer"},"author":{"type":"string"},"keywords":{"type":"array","items":{"type":"string"}},"cached":{"type":"boolean"},"error":{"type":"string"}},"required":["name","found"]}}},"required":["packages","registry","comparisons"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"verify_claim","title":"Claim Support Check","description":"Check whether a factual claim is supported by a specific set of public evidence URLs that you already have.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"claim":{"type":"string","description":"Plain-language claim to verify, for example 'AWS Business support includes 24/7 phone support'."},"evidence_urls":{"type":"array","minItems":1,"maxItems":10,"description":"One to ten public documentation, pricing, policy, or support URLs that are likely to contain direct evidence for the claim.","items":{"type":"string"}},"keywords":{"type":"array","minItems":1,"maxItems":20,"description":"Keywords or short phrases that should appear on supporting pages.","items":{"type":"string"}}},"required":["claim","evidence_urls","keywords"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"claim":{"type":"string","description":"Claim that was evaluated."},"sources":{"type":"array","description":"Per-source evidence results.","items":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string"},"accessible":{"type":"boolean"},"cached":{"type":"boolean"},"keywordsMatched":{"type":"array","items":{"type":"string"}},"keywordsTotal":{"type":"integer"},"matchRatio":{"type":"number"},"supports":{"type":"boolean"},"error":{"type":"string"}},"required":["url","accessible","supports"]}},"verdict":{"type":"object","additionalProperties":false,"description":"Aggregate verdict across all supplied sources.","properties":{"supporting":{"type":"integer"},"contradicting":{"type":"integer"},"total":{"type":"integer"},"confidence":{"type":"number"},"summary":{"type":"string","enum":["CONFIRMED","UNCONFIRMED","LIKELY TRUE","LIKELY FALSE"]}},"required":["supporting","contradicting","total","confidence","summary"]}},"required":["claim","sources","verdict"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"assess_compliance_posture","title":"Compliance Signal Scan","description":"Scan a public security, trust, compliance, or legal page for common enterprise buying signals before you claim a vendor supports a particular posture.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","description":"Public trust, security, compliance, or policy URL to scan."}},"required":["url"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","description":"Compliance or trust page that was analyzed."},"cached":{"type":"boolean","description":"True when the page body came from the 5-minute cache."},"matchedSignals":{"type":"array","items":{"type":"string"},"description":"Signal names that were detected on the page."},"signals":{"type":"object","additionalProperties":false,"description":"Boolean scan results for common enterprise compliance and security signals.","properties":{"soc2":{"type":"boolean","description":"True when the page references SOC 2 or SOC2 compliance language."},"iso27001":{"type":"boolean","description":"True when the page references ISO 27001 certification or compliance language."},"gdpr":{"type":"boolean","description":"True when the page references GDPR or the General Data Protection Regulation."},"hipaa":{"type":"boolean","description":"True when the page references HIPAA compliance language."},"dpa":{"type":"boolean","description":"True when the page references a data processing agreement or DPA."},"subprocessorList":{"type":"boolean","description":"True when the page references subprocessors or a subprocessor list."},"sso":{"type":"boolean","description":"True when the page references SSO or single sign-on."},"scim":{"type":"boolean","description":"True when the page references SCIM provisioning."},"encryption":{"type":"boolean","description":"True when the page references encryption, data encrypted at rest, or data encrypted in transit."},"dataResidency":{"type":"boolean","description":"True when the page references data residency, data regions, or regional storage controls."}},"required":["soc2","iso27001","gdpr","hipaa","dpa","subprocessorList","sso","scim","encryption","dataResidency"]},"pageLength":{"type":"integer","description":"Size of the fetched page body in characters."},"error":{"type":"string","description":"Fetch or parsing error when the page could not be analyzed."}},"required":["url"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"test_hypothesis","title":"Multi-step Hypothesis Test","description":"Run a small verification plan made of concrete live checks and summarize whether a hypothesis is supported.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"hypothesis":{"type":"string","description":"Claim to test, for example 'there are fewer than 50 MCP email servers on npm'."},"tests":{"type":"array","minItems":1,"maxItems":10,"description":"Ordered list of one to ten checks to run.","items":{"type":"object","description":"One explicit check in the plan. Supported types are endpoint_exists, npm_count_above, npm_count_below, and response_contains."}}},"required":["hypothesis","tests"]},"outputSchema":{"type":"object","additionalProperties":false,"properties":{"hypothesis":{"type":"string","description":"Hypothesis that was evaluated."},"tests":{"type":"array","description":"Per-test execution results in input order.","items":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"type":{"type":"string","enum":["endpoint_exists","npm_count_above","npm_count_below","response_contains"]},"passed":{"type":"boolean"},"actual":{"type":["string","number","null"]}},"required":["description","type","passed","actual"]}},"verdict":{"type":"object","additionalProperties":false,"description":"High-level verdict for the hypothesis.","properties":{"passed":{"type":"integer"},"failed":{"type":"integer"},"summary":{"type":"string","enum":["SUPPORTED","REFUTED","PARTIALLY SUPPORTED"]}},"required":["passed","failed","summary"]}},"required":["hypothesis","tests","verdict"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}}],"resources":[],"prompts":[]}