← The evidence ledger
Evidence row 2973814
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 991807fc-ed87-4e3b-98d0-80a34a7e126b
- Recorded
- Previous row
- #1817924
- Body SHA-256
- fd48a3de471936008102887d01a7af635463dae03d1051abca22f44c79c5261c
- Leaf
- 0x4212b5a103050976779049b896b26195459451e61ce993e1e4ae732496e70045
What was observed
{
"count": 30,
"tools": [
{
"description": "Score one short-form video or feed ad (script, on-screen text, caption) on hook, clarity, CTA, platform fit, pacing and credibility, with concrete rewrites. Use before running or after drafting an ad on TikTok, Instagram Reels, YouTube Shorts or Meta feed. Needs platform, objective, product and at least one of script, onScreenText or caption. Returns overall 0-100, a score and reason per dimension, fixes[] with suggested replacement text, predictedRisk and the measured metrics. Price: $0.25 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"creative": {
"description": "One ad creative. Needs platform, objective, product and at least one of script, onScreenText or caption",
"properties": {
"audience": {
"description": "Who it is for, e.g. new parents",
"type": "string"
},
"caption": {
"description": "Post caption or primary text",
"type": "string"
},
"durationSec": {
"description": "Video length in seconds",
"type": "number"
},
"hookSec": {
"description": "Seconds until the first value statement; estimated from the script when omitted",
"type": "number"
},
"id": {
"description": "Your own label, echoed back in the result",
"type": "string"
},
"objective": {
"description": "What the ad is meant to do",
"enum": [
"awareness",
"conversion",
"app-install"
],
"type": "string"
},
"onScreenText": {
"description": "Text overlays in display order",
"items": {
"type": "string"
},
"type": "array"
},
"platform": {
"description": "Where the ad will run",
"enum": [
"tiktok",
"instagram-reels",
"youtube-shorts",
"meta-feed"
],
"type": "string"
},
"product": {
"description": "The product or offer advertised, e.g. Loop earplugs",
"type": "string"
},
"script": {
"description": "Voiceover or transcript of what is said",
"type": "string"
}
},
"required": [
"platform",
"objective",
"product"
],
"type": "object"
}
},
"required": [
"creative"
],
"type": "object"
},
"name": "ad_creative_score"
},
{
"description": "Score up to 10 ad creatives in one call. Same as ad_creative_score for up to 10 variants, e.g. to pick the strongest hook. Returns {count, results[]} in input order. Price: $2.00 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"creatives": {
"description": "Up to 10 creatives, scored in order",
"items": {
"description": "One ad creative. Needs platform, objective, product and at least one of script, onScreenText or caption",
"properties": {
"audience": {
"description": "Who it is for, e.g. new parents",
"type": "string"
},
"caption": {
"description": "Post caption or primary text",
"type": "string"
},
"durationSec": {
"description": "Video length in seconds",
"type": "number"
},
"hookSec": {
"description": "Seconds until the first value statement; estimated from the script when omitted",
"type": "number"
},
"id": {
"description": "Your own label, echoed back in the result",
"type": "string"
},
"objective": {
"description": "What the ad is meant to do",
"enum": [
"awareness",
"conversion",
"app-install"
],
"type": "string"
},
"onScreenText": {
"description": "Text overlays in display order",
"items": {
"type": "string"
},
"type": "array"
},
"platform": {
"description": "Where the ad will run",
"enum": [
"tiktok",
"instagram-reels",
"youtube-shorts",
"meta-feed"
],
"type": "string"
},
"product": {
"description": "The product or offer advertised, e.g. Loop earplugs",
"type": "string"
},
"script": {
"description": "Voiceover or transcript of what is said",
"type": "string"
}
},
"required": [
"platform",
"objective",
"product"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"creatives"
],
"type": "object"
},
"name": "ad_creative_score_batch"
},
{
"description": "AI brand visibility report: how often AI assistants recommend a brand for buyer questions in its category (20 prompts, every engine Exepal runs). Use when someone asks whether AI assistants recommend their brand, how they compare with competitors in AI answers, or for GEO/AEO (generative engine optimisation) audits. The brand is never named in the prompts. Each result names the engine and model that answered. Returns score 0-100, per-engine visibility and rank, share of voice, prompts where competitors won, domains the engines cite and plain-language recommendations, plus every prompt and answer. Price: $3.00 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"brand": {
"description": "Brand to measure, e.g. Notion",
"type": "string"
},
"category": {
"description": "Product category the prompts are about, e.g. note-taking apps",
"type": "string"
},
"competitors": {
"description": "Competitor brand names",
"items": {
"type": "string"
},
"type": "array"
},
"domain": {
"description": "Brand website, e.g. notion.com",
"type": "string"
},
"engines": {
"description": "Subset of openai, anthropic, google, perplexity; default every engine that is enabled",
"items": {
"type": "string"
},
"type": "array"
},
"market": {
"description": "Country or market, e.g. US",
"type": "string"
},
"promptCount": {
"description": "Prompts to ask, capped by the tier",
"type": "number"
},
"prompts": {
"description": "Your own buyer questions instead of generated ones",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"brand",
"category"
],
"type": "object"
},
"name": "ai_visibility"
},
{
"description": "AI brand visibility deep report (50 prompts, all engines). Same as ai_visibility with 50 prompts, for a statistically steadier score or a client report. Use ai_visibility first unless the user asks for depth. Price: $7.00 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"brand": {
"description": "Brand to measure, e.g. Notion",
"type": "string"
},
"category": {
"description": "Product category the prompts are about, e.g. note-taking apps",
"type": "string"
},
"competitors": {
"description": "Competitor brand names",
"items": {
"type": "string"
},
"type": "array"
},
"domain": {
"description": "Brand website, e.g. notion.com",
"type": "string"
},
"engines": {
"description": "Subset of openai, anthropic, google, perplexity; default every engine that is enabled",
"items": {
"type": "string"
},
"type": "array"
},
"market": {
"description": "Country or market, e.g. US",
"type": "string"
},
"promptCount": {
"description": "Prompts to ask, capped by the tier",
"type": "number"
},
"prompts": {
"description": "Your own buyer questions instead of generated ones",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"brand",
"category"
],
"type": "object"
},
"name": "ai_visibility_deep"
},
{
"description": "AI brand visibility, quick check: how often an AI assistant recommends a brand for buyer questions in its category (5 prompts, 1 engine). Use for a fast, cheap read on whether ChatGPT-style assistants mention a brand before paying for the full report. Returns score 0-100, per-engine visibility, share of voice vs competitors, missed prompts, cited domains and recommendations. Price: $0.50 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"brand": {
"description": "Brand to measure, e.g. Notion",
"type": "string"
},
"category": {
"description": "Product category the prompts are about, e.g. note-taking apps",
"type": "string"
},
"competitors": {
"description": "Competitor brand names",
"items": {
"type": "string"
},
"type": "array"
},
"domain": {
"description": "Brand website, e.g. notion.com",
"type": "string"
},
"engines": {
"description": "Subset of openai, anthropic, google, perplexity; default every engine that is enabled",
"items": {
"type": "string"
},
"type": "array"
},
"market": {
"description": "Country or market, e.g. US",
"type": "string"
},
"promptCount": {
"description": "Prompts to ask, capped by the tier",
"type": "number"
},
"prompts": {
"description": "Your own buyer questions instead of generated ones",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"brand",
"category"
],
"type": "object"
},
"name": "ai_visibility_quick"
},
{
"description": "Company enrichment for one domain: name, description, industry, size, HQ, socials, contacts, tech stack, pricing page and recent news. Use to research a company from its website (sales prospecting, CRM enrichment, due diligence). Returns name, description, industry, tagline, foundedYear, hqLocation, employeeRange, socials, contact {emails, phones}, techStack[], pricingPage, recentNews[] and a 0-1 confidence per field group. For DNS, email security and registration data use domain instead (cheaper). Price: $0.10 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"domain": {
"description": "Company domain, e.g. stripe.com",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "company_enrich"
},
{
"description": "Company enrichment for up to 10 domains in one call. Same as company_enrich for up to 10 domains at a lower price per company. Returns {count, results[]} in input order. Price: $0.80 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"domains": {
"description": "Company domains",
"items": {
"type": "string"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"domains"
],
"type": "object"
},
"name": "company_enrich_batch"
},
{
"description": "Creator vetting for one Instagram, TikTok or YouTube profile: fake-follower risk, engagement quality, consistency, red flags and a fair sponsored-post rate. Use before paying or partnering with an influencer, to judge whether the audience is real and what a fair rate is. Fetches the profile itself unless you pass stats. Returns score, fakeFollowerRisk, engagementQuality, consistency (all 0-100), estimatedRateUsd {min, max}, redFlags[], summary and the metrics behind them. For raw profile numbers without a verdict use social_instagram/social_tiktok/social_youtube (cheaper). Price: $0.20 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"handle": {
"description": "Creator handle without @",
"type": "string"
},
"platform": {
"description": "Social platform",
"enum": [
"instagram",
"tiktok",
"youtube"
],
"type": "string"
},
"profile": {
"description": "Optional profile stats you already have; skips the fetch",
"type": "object"
}
},
"required": [
"platform",
"handle"
],
"type": "object"
},
"name": "creator_vetting"
},
{
"description": "Domain intel: DNS, MX, SPF/DMARC/DKIM grade, registrar and dates (RDAP), hosting, tech stack, risk flags. Use to check a domain before trusting, emailing or buying from it: who hosts it and its mail, how old it is, when it expires, whether email is protected against spoofing, and what the site runs on. Accepts a URL or an email address too. Returns dns, email {provider, spf, dmarc, dkim, grade A-F}, registration {registrar, createdAt, expiresAt, ageDays}, web {reachable, status, tech[]}, hosting, flags[] (e.g. registered-recently, no-dmarc, parked) and a one-line summary. Price: $0.005 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"domain": {
"description": "Domain to inspect, e.g. stripe.com (a URL or email address is accepted and reduced to its domain)",
"type": "string"
},
"registration": {
"description": "Look up registrar and dates via RDAP (default true; some ccTLDs such as .np have no RDAP)",
"type": "boolean"
},
"web": {
"description": "Probe the website for status, server, HSTS, title and tech stack (default true)",
"type": "boolean"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domain"
},
{
"description": "Email address check without sending mail: syntax, MX/null-MX, disposable (214k-domain list), role account, free provider, typo suggestion, SPF/DMARC grade, deliverability score. Use before sending to, storing or trusting an email address (sign-up checks, list cleaning, lead qualification). Does not send mail, so it cannot prove the mailbox exists. Returns deliverable (likely, risky, undeliverable), score 0-100, valid, disposable, role, freeProvider, provider, suggestion (typo fix, e.g. gmial.com to gmail.com), normalized and flags[]. For many addresses use email_batch. Price: $0.002 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"email": {
"description": "The address to check",
"type": "string"
}
},
"required": [
"email"
],
"type": "object"
},
"name": "email"
},
{
"description": "Email check for up to 10 addresses in one call. Same as email for up to 10 addresses at a lower price per address. Returns {count, summary {likely, risky, undeliverable, unknown}, results[]}. Price: $0.015 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"emails": {
"description": "Up to 10 addresses",
"items": {
"type": "string"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"emails"
],
"type": "object"
},
"name": "email_batch"
},
{
"description": "Local business leads: up to 10 Google Maps businesses for a search and place, each with address, phone, website, rating, reviews, plus emails (checked), phones and social profiles found on its website. Use to find businesses of a kind in a place with ways to contact them, e.g. 'dentists in Austin, TX' or 'hotels in Pokhara'. Returns summary counts and leads[] {name, category, address, phone, website, rating, reviews, mapsUrl, contacts {emails[] with deliverability, phones[], socials}}. Price: $0.10 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"contacts": {
"description": "Visit each website for emails, phones and social links (default true)",
"type": "boolean"
},
"language": {
"description": "Language for Maps fields, e.g. en (default)",
"type": "string"
},
"limit": {
"description": "Businesses to return, up to the tier cap (10 or 20)",
"type": "number"
},
"location": {
"description": "Where, e.g. Kathmandu, Nepal or Austin, TX (optional if the query names the place)",
"type": "string"
},
"query": {
"description": "What to search for on Google Maps, e.g. dentists, coworking space, hotels",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "leads"
},
{
"description": "Local business leads, up to 20 businesses per call (same fields as /v1/leads). Same as leads with up to 20 businesses per call. Price: $0.20 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"contacts": {
"description": "Visit each website for emails, phones and social links (default true)",
"type": "boolean"
},
"language": {
"description": "Language for Maps fields, e.g. en (default)",
"type": "string"
},
"limit": {
"description": "Businesses to return, up to the tier cap (10 or 20)",
"type": "number"
},
"location": {
"description": "Where, e.g. Kathmandu, Nepal or Austin, TX (optional if the query names the place)",
"type": "string"
},
"query": {
"description": "What to search for on Google Maps, e.g. dentists, coworking space, hotels",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "leads_deep"
},
{
"description": "Page reader: one URL to clean markdown (or text) with title, description, author, date and links. Use whenever you need the text of a web page: articles, docs, blog posts, product or pricing pages. Strips navigation, ads and cookie banners so the result is small and fits your context. Static HTML only (no JavaScript rendering, no logins). Returns content, title, description, author, publishedAt, siteName, lang, wordCount, truncated, links[] and finalUrl. Not charged when the page cannot be fetched. Price: $0.005 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"format": {
"description": "markdown (default) keeps headings, links, lists, tables and code; text strips them",
"enum": [
"markdown",
"text"
],
"type": "string"
},
"images": {
"description": "Keep images as markdown (default true)",
"type": "boolean"
},
"links": {
"description": "Return the links found in the content (default true)",
"type": "boolean"
},
"maxChars": {
"description": "Cap on content length, 1000-200000 (default 60000)",
"type": "number"
},
"url": {
"description": "Page to read, e.g. https://example.com/blog/post. Public http(s) URLs only; static HTML (no JavaScript rendering)",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "read"
},
{
"description": "Page reader for up to 10 URLs in one call. Same as read for up to 10 URLs at once (cheaper per page; 20,000 characters per page by default). A page that fails is reported inline as {url, error}. Returns {count, failed, results[]}. Price: $0.03 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"format": {
"enum": [
"markdown",
"text"
],
"type": "string"
},
"images": {
"type": "boolean"
},
"links": {
"type": "boolean"
},
"maxChars": {
"description": "Cap per page, default 20000",
"type": "number"
},
"urls": {
"description": "Pages to read",
"items": {
"format": "uri",
"type": "string"
},
"maxItems": 10,
"type": "array"
}
},
"required": [
"urls"
],
"type": "object"
},
"name": "read_batch"
},
{
"description": "Prompt-injection scanner: checks a web page, document or tool result for hidden instructions aimed at AI agents (hidden HTML, white text, comments, Unicode smuggling, base64) and injection phrases; verdict, 0-100 score, findings, optional cleaned text. Use before reading or acting on content you did not write: a fetched web page, an email, a PDF's text, another tool's result. Pass url (fetched for you), html or text. Deterministic rules, not a model. Returns verdict (clean, suspicious, likely_injection), score 0-100, findings[] {rule, severity, message, evidence, location} where location says whether the text was hidden from humans (css-hidden, white-text, html-comment, unicode-tags...), hidden {segments, chars, kinds}, summary and, with clean: true, the visible text with hidden content removed, safe to pass on. Price: $0.002 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"clean": {
"description": "Also return `clean`: the visible text with hidden and invisible content removed (default false)",
"type": "boolean"
},
"html": {
"description": "Raw HTML to scan instead of a url",
"type": "string"
},
"text": {
"description": "Plain text or markdown to scan instead of a url (a document, email, tool result)",
"type": "string"
},
"url": {
"description": "Public page to fetch and scan (HTML is inspected for hidden elements, comments and meta tags)",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"name": "scan_injection"
},
{
"description": "MCP server audit: connects to a remote MCP server (or takes its tools, resources and prompts), grades it A-F for tool poisoning, hidden Unicode, raw command/path inputs, destructive tools without annotations, name shadowing, resources pointing at credentials, poisoned prompts and insecure transport. Use before connecting an agent to an MCP server you did not write, or when a user asks whether an MCP server is safe. Pass url (Streamable HTTP; initialize, tools/list and, when advertised, resources/list and prompts/list are called, nothing is invoked or read) or tools[] (plus optional resources[] and prompts[]) from your own list calls for stdio servers. Returns grade A-F, score 0-100, verdict, server {name, version, protocolVersion, https, auth, capabilities}, toolCount, resourceCount, promptCount, findings[] {rule, severity, message, tool|resource|prompt, evidence}, tools[], resources[] and prompts[] each with risk and finding count. Any poisoning finding caps the grade at D. Not charged when the server is down or needs auth. Price: $0.005 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"headers": {
"description": "With url: headers to send, e.g. {\"Authorization\": \"Bearer ...\"}. Used for the audit only, never stored",
"type": "object"
},
"instructions": {
"description": "With tools[]: the server's instructions string from initialize",
"type": "string"
},
"prompts": {
"description": "With tools[]: the server's prompts from prompts/list",
"items": {
"type": "object"
},
"type": "array"
},
"resources": {
"description": "With tools[]: the server's resources from resources/list and resources/templates/list",
"items": {
"type": "object"
},
"type": "array"
},
"tools": {
"description": "Instead of url: the server's tools as returned by tools/list (for stdio servers or servers behind auth)",
"items": {
"type": "object"
},
"type": "array"
},
"url": {
"description": "Remote MCP server URL (Streamable HTTP), e.g. https://example.com/mcp",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"name": "scan_mcp"
},
{
"description": "PII detector and redactor: finds emails, phone numbers, payment cards (Luhn), IBANs, Aadhaar (Verhoeff), Indian PAN, US SSN, UK NI numbers, Nepal citizenship numbers, passports, dates of birth, IP and wallet addresses in text or a URL; masked findings with positions, optional redacted copy with stable placeholders. Use before logging, storing, summarising or sending text to a third-party model, or to check what personal data a document, transcript or tool result contains. Pass text or url, redact: true for a copy with each value replaced by a placeholder like [EMAIL_1] (same value, same placeholder), and types[] to limit what is reported. Returns found, count, severity, findings[] {type, category (contact, financial, government-id, personal, network), severity, confidence, masked, placeholder, line, column, detail}, byType, byCategory, summary and redacted. Names and street addresses are not detected. Nothing is stored. Price: $0.002 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"redact": {
"description": "Also return `redacted`: the text with every value replaced by its placeholder, e.g. [EMAIL_1], [CARD_1], [PHONE_2] (default false)",
"type": "boolean"
},
"text": {
"description": "Text to scan: a transcript, document, form, log, CSV or tool output (up to 2,000,000 characters)",
"type": "string"
},
"types": {
"description": "Only report these types: email, phone, credit-card, iban, aadhaar, india-pan, us-ssn, uk-nino, nepal-citizenship, passport, date-of-birth, ip-address, crypto-address (default all)",
"items": {
"type": "string"
},
"type": "array"
},
"url": {
"description": "Public URL to fetch and scan instead of text",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"name": "scan_pii"
},
{
"description": "Secrets leak detector: finds API keys, tokens, private keys, seed phrases, JWTs and connection strings (AWS, GitHub, OpenAI, Anthropic, Stripe, Slack, Google and 30+ more) in text or a URL; masked findings with line numbers, optional redacted copy. Use before logging, committing, pasting, summarising or sending text that might hold credentials: configs, .env files, logs, diffs, tool output. Pass text or url. Returns found, count, severity (high, medium, low or none), findings[] {type e.g. aws-access-key-id or github-token, provider, severity, confidence, masked, line, column}, byProvider counts, summary and, with redact: true, the same text with each secret replaced by [REDACTED:type]. Nothing is stored. Price: $0.002 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"redact": {
"description": "Also return `redacted`: the text with every secret replaced by [REDACTED:type] (default false)",
"type": "boolean"
},
"text": {
"description": "Text to scan: a config, log, diff, prompt, document or tool output (up to 2,000,000 characters)",
"type": "string"
},
"url": {
"description": "Public URL to fetch and scan instead of text",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"name": "scan_secrets"
},
{
"description": "Google rank, AI Overview citation and AI-assistant mention for up to 10 keywords (1 AI engine). Use to track where a site ranks on Google and whether Google's AI Overview and AI assistants cite it, per keyword. Pass the previous response's snapshot as previousSnapshot to get what changed. Returns searchVisibility and aiVisibility 0-100, a summary, keywords[] {rank, rankedUrl, topUrls, aiOverview, aiEngines[]} and snapshot. Price: $0.70 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"brand": {
"description": "Brand name to look for in AI answers",
"type": "string"
},
"country": {
"description": "Two-letter country code, e.g. us",
"type": "string"
},
"domain": {
"description": "Your site, e.g. notion.com",
"type": "string"
},
"keywords": {
"description": "Keywords to check, capped by the tier",
"items": {
"type": "string"
},
"type": "array"
},
"language": {
"description": "Two-letter language code, e.g. en",
"type": "string"
},
"previousSnapshot": {
"description": "A previous response, to get rank changes",
"type": "object"
}
},
"required": [
"domain",
"keywords"
],
"type": "object"
},
"name": "serp_ai_monitor"
},
{
"description": "Google rank, AI Overview citation and AI-assistant mentions for up to 25 keywords on all AI engines. Same as serp_ai_monitor for up to 25 keywords, checked on every AI engine. Price: $2.50 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"brand": {
"description": "Brand name to look for in AI answers",
"type": "string"
},
"country": {
"description": "Two-letter country code, e.g. us",
"type": "string"
},
"domain": {
"description": "Your site, e.g. notion.com",
"type": "string"
},
"keywords": {
"description": "Keywords to check, capped by the tier",
"items": {
"type": "string"
},
"type": "array"
},
"language": {
"description": "Two-letter language code, e.g. en",
"type": "string"
},
"previousSnapshot": {
"description": "A previous response, to get rank changes",
"type": "object"
}
},
"required": [
"domain",
"keywords"
],
"type": "object"
},
"name": "serp_ai_monitor_deep"
},
{
"description": "Instagram profile lookup: followers, bio, category, verified, engagement rate, avg likes/comments/views, posting cadence, recent posts, follower history and 30-day growth where tracked. Use to get public numbers for an Instagram account: followers, engagement rate, how often it posts and its recent posts. Returns name, bio, verified, category, followers, following, posts, metrics {engagementRate, avgLikes, avgComments, avgViews, postsPerWeek, tier}, recentPosts[], and for tracked accounts history[] and growth30d. Private or missing profiles fail and are not charged. Price: $0.01 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"handle": {
"description": "Handle (with or without @) or profile URL, e.g. virat.kohli, https://www.tiktok.com/@khaby.lame, @MrBeast or a YouTube channel id (UC...)",
"type": "string"
},
"maxAgeHours": {
"description": "Oldest data you accept, 1-720 hours (default 72). Fresher than that is fetched live",
"type": "number"
}
},
"required": [
"handle"
],
"type": "object"
},
"name": "social_instagram"
},
{
"description": "TikTok profile lookup: followers, likes, bio, verified, engagement rate, avg views, posting cadence and recent videos. Use to get public numbers for a TikTok account. Returns name, bio, verified, followers, following, posts, metrics {engagementRate, avgViews, viewRate, postsPerWeek, tier} and recentPosts[] with likes, comments and views. Price: $0.02 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"handle": {
"description": "Handle (with or without @) or profile URL, e.g. virat.kohli, https://www.tiktok.com/@khaby.lame, @MrBeast or a YouTube channel id (UC...)",
"type": "string"
},
"maxAgeHours": {
"description": "Oldest data you accept, 1-720 hours (default 72). Fresher than that is fetched live",
"type": "number"
}
},
"required": [
"handle"
],
"type": "object"
},
"name": "social_tiktok"
},
{
"description": "YouTube channel lookup: subscribers, video count, description, verified, avg views/likes/comments, view rate, upload cadence and recent videos. Use to get public numbers for a YouTube channel (handle, URL or UC... id). Returns name, bio, verified, followers (subscribers), posts (videos), metrics {avgViews, viewRate, engagementRate, postsPerWeek, tier} and recentPosts[]. For what a video says use youtube_transcript. Price: $0.02 USDC per call (x402 on Base); not charged if the call fails.",
"inputSchema": {
"properties": {
"handle": {
"description": "Handle (with or without @) or profile URL, e.g. virat.kohli, https://www.tiktok.com/@khaby.lame, @MrBeast or a YouTube channel id (UC...)",
"type": "string"
},
"maxAgeHours": {
"description": "Oldest data you accept, 1-720 hours (default 72). Fresher than that is fetched live",
"type": "number"
}
},
"required": [
"handle"
],
"type": "object"
},
"name": "social_youtube"
},
{
"description": "Bikram Sambat (Nepali) <-> Gregorian date conversion with weekday, Nepali month names, Devanagari digits and Nepal fiscal year. Use for any Nepali (BS / Bikram Sambat / Vikram Samvat) date: converting to or from AD, finding the weekday, writing it in Nepali, or finding the Nepal fiscal year. Models often get BS dates wrong; this is an exact table (1970-2090 BS). Returns bs {iso, text, textNe, monthName, daysInMonth}, ad {iso}, weekday, weekdayNe, fiscalYear and isSaturday. Price: $0.001 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"date": {
"description": "A date: 2083-01-15, 15-01-2083, '15 Baisakh 2083' or '१५ बैशाख २०८३'. Supported 1970-2090 BS / 1913-2034 AD",
"type": "string"
},
"from": {
"description": "Calendar of the input. auto (default): Devanagari digits, Nepali month names or a year above 2034 mean BS; otherwise AD is assumed",
"enum": [
"bs",
"ad",
"auto"
],
"type": "string"
}
},
"required": [
"date"
],
"type": "object"
},
"name": "south_asia_date"
},
{
"description": "Official Nepal Rastra Bank exchange rates (NPR buy/sell per currency) for any day since 2000, AD or BS date, with amount conversion and up to 31-day series. Use for Nepali rupee (NPR) exchange rates or conversions: today's or a past day's official rate, converting an amount to or from NPR, or a rate series. Returns rate {buy, sell, mid, unit}, conversion {nprAtBuy, nprAtSell, nprAtMid}, the full table rates[] when no currency is given, series[] for a range, and rateDate (the table actually used; holidays fall back to the previous day). Price: $0.001 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"amount": {
"description": "With currency: amount to convert to NPR (also returns the reverse)",
"type": "number"
},
"currency": {
"description": "ISO 4217 code to return alone, e.g. USD, INR, EUR, AED. Omit for the full table",
"type": "string"
},
"date": {
"description": "Day to quote, AD (2026-10-31) or BS (2083-07-14); default today in Nepal. Holidays fall back to the last published table",
"type": "string"
},
"from": {
"description": "Start date for a series (max 31 days before date); requires currency",
"type": "string"
}
},
"type": "object"
},
"name": "south_asia_forex"
},
{
"description": "GSTIN (checksum + state), Indian PAN, Aadhaar (Verhoeff), IFSC (bank) and Nepal PAN/VAT format checks. Use to check an Indian GSTIN, PAN, Aadhaar or IFSC code, or a Nepal PAN/VAT number, before accepting it (KYC, invoices, vendor onboarding). Format and checksum only, no government registry lookup. Returns type, valid, reason and details (GSTIN state and embedded PAN, PAN holder type, IFSC bank name). Price: $0.001 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"id": {
"description": "GSTIN (15), Indian PAN (10), Aadhaar (12 digits), IFSC (11) or Nepal PAN/VAT (9 digits)",
"type": "string"
},
"type": {
"description": "Force a type; default auto-detect by shape",
"enum": [
"gstin",
"pan-in",
"aadhaar",
"ifsc",
"pan-np"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "south_asia_id"
},
{
"description": "Number to Devanagari digits, lakh/crore grouping, and words in English (Indian system) and Nepali; NPR/INR amount wording. Use to write an amount the South Asian way: 12,34,567 grouping, 'twelve lakh thirty-four thousand...' words, Nepali words, Devanagari digits, or rupee/paisa wording for invoices and cheques. Returns devanagari, grouped, units {crore, lakh, ...}, wordsEnglish, wordsNepali and, with currency, currency {formatted, wordsEnglish, wordsNepali}. Price: $0.001 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"currency": {
"description": "Add rupee/paisa wording and formatting",
"enum": [
"NPR",
"INR"
],
"type": "string"
},
"value": {
"description": "Number or numeric string; Devanagari digits, commas and currency signs are accepted",
"type": [
"string",
"number"
]
}
},
"required": [
"value"
],
"type": "object"
},
"name": "south_asia_number"
},
{
"description": "Nepal (+977) and India (+91) phone number check: valid, mobile/landline, operator or region, E.164. Use to validate or normalise a Nepali or Indian phone number before saving or messaging it. Format rules only, no carrier lookup. Returns valid, type (mobile, landline, tollfree), operator (e.g. Nepal Telecom, Ncell), region, e164 and reason when invalid. Price: $0.001 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"country": {
"description": "Default: detected from the country code, else NP",
"enum": [
"NP",
"IN"
],
"type": "string"
},
"phone": {
"description": "Phone number in any common format, e.g. +977 984-123-4567, 9841234567, 01-4123456, +91 98765 43210",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
},
"name": "south_asia_phone"
},
{
"description": "YouTube transcript: full text and timed segments in any caption language, plus title, channel, duration, views, publish date, description, keywords and chapters. Not charged when a video has no transcript. Use whenever you need to know what is said in a YouTube video: to summarise it, quote it, search it or answer questions about it. Returns text, wordCount, segments[] {start, dur, text}, language, availableLanguages[], title, channel, durationSeconds, views, publishDate and chapters[]. Price: $0.002 USDC per call (x402 on Base); not charged if the call fails. Includes free daily calls, no wallet needed.",
"inputSchema": {
"properties": {
"lang": {
"description": "Preferred caption language code, e.g. en, hi, ne (default en, else the first available)",
"type": "string"
},
"maxChars": {
"description": "Cap on transcript text, 1000-500000 (default 200000)",
"type": "number"
},
"segments": {
"description": "Include timed segments (default true)",
"type": "boolean"
},
"video": {
"description": "YouTube URL (watch, youtu.be, shorts, live) or 11-character video id",
"type": "string"
}
},
"required": [
"video"
],
"type": "object"
},
"name": "youtube_transcript"
}
]
}What the leaf hashes
{"body":"fd48a3de471936008102887d01a7af635463dae03d1051abca22f44c79c5261c","id":2973814,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793779053427277,"prev":1817924,"subject":"991807fc-ed87-4e3b-98d0-80a34a7e126b","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (424109 rows).
- 0x4212c98818daec7e344ab3fbb908dc9bed4419dd66507b25d514dde6a0132b46
- 0x26b064f123d94f9e4976bac4fefb37a5d515da5ba806dbe79fa1e0f49c959729
- 0x52da837f9f936f30dec2c95921fbb434d2d39ea3353ad09f6e0971039c72a752
- 0xeb3aed96f7b9149db93612a0995794b277fd251d13bea2ee6aee38a242e105a6
- 0xf4a811676b7409836bed925a0c6e8057696535f2c188feda30ca95fa0719fe28
- 0xb9503eb04ad910530c0e8f8cd398782cb82a320988b1ae31c0203984a66fe5c0
- 0x0b70ead02500819d343fb7d907d11ed3923758ea76e319ff43d425768504495c
- 0x5f65fa2b129b52d06af389da173fc8fb9eb84328f3404587ad99d644ca4b5468
- 0x6c30ab6a6411fed0400792e2706a83664ce66ae6b1cb2a5b2f38b18c9211e88a
- 0x6770667144bf7fe36c88c60d3e44637ec188f2d823743957c7bd13c31229d3ce
- 0x0656dda4751c4804e495e145d9198d8a6cda19a1328c08763ad760bf25e8c712
- 0xbdda5f176c3a636429efcc2bd7e224b6d87c183ce4ac4c58bccaf2447f526e1b
- 0xc891f2c456a44ccf48c1194eaebc9fc84069eb5884bdb601396da034c0b1df27
- 0x3775ac98947ea3444f8e9066b97ed6d5e0ed4bfd990afc8683a340b7b187697f
- 0x0e7da910ed6633cc83110a62e4cfaf050cec994a935be0ff6262890125f0d2d8
- 0xc8267b28cec4406122f99bfc9732f9bb7e0af530b05633084110c1bdbc4a7cd5
- 0x84ade16fc3dc3a4a6aa46b581fe43195d593a51802c7d0a75e650bfd9c3ea4df
- 0x02f64ca19e7d9b09718851d2ce3abf641982580de99411626d894607cf386cd5
- 0x10067354f57fa0cd86b7423e67cc1c7d107d7c9c6823df5246c4fb63b60575e5
- Day root
- 0xd4eed8c0ea3c90ec6f262b19fcc3b849f30cb82a0f84b8b89569e48af7d0c1ee
- Chained
- 0x59305749c32724a02a23c368834d8a36ae9908da93a915e2962fffe01b4e591b
- Published
- On Arc Testnet, block 70772483: 0x813d56041c1efd407e56047129b597b154a1cb26458bb2768fd0a4630ac97345