{"capabilities":{"streaming":false,"x402":true},"defaultInputModes":["text"],"defaultOutputModes":["application/json"],"description":"44 pay-per-call x402 tools for AI agents: Google Trends, Google & Yandex SERP, SEO audits, screenshots/PDF via headless Chromium, OG images, weather, FX, whois, RSS, and 25+ utilities. $0.001-$0.03 per call, USDC on Base, no signup.","name":"NanoTools","preferredTransport":"HTTP","protocolVersion":"0.2.9","provider":{"organization":"NanoTools","url":"https://nano.stacknodehost.com"},"skills":[{"description":"Base64 encode or decode. ?op=enc|dec&data=... Tolerant to missing padding.","id":"base64","name":"base64","tags":["base64","encode","decode","encoding"]},{"description":"Convert colors between hex, rgb, hsl. ?color=#ff0000 or rgb(255,0,0)","id":"color-convert","name":"color convert","tags":["color","hex","rgb","hsl","convert"]},{"description":"Explain a cron expression: next 3 run times in UTC. ?expr=*/5 * * * *","id":"cron-parse","name":"cron parse","tags":["cron","schedule","crontab","parser"]},{"description":"Convert CSV to JSON array. ?data=<csv urlencoded>&delim=,","id":"csv2json","name":"csv2json","tags":["csv","json","convert","data"]},{"description":"Unified diff of two texts with changed line count. ?a=<text>&b=<text>","id":"diff","name":"diff","tags":["diff","compare","texts","changes"]},{"description":"DNS lookup: A, AAAA, MX, TXT, NS, CNAME records for a domain. ?name=example.com&type=A","id":"dns","name":"dns","tags":["dns","lookup","domain","mx","nameserver"]},{"description":"MD5, SHA-1, SHA-256, SHA-512 in one call. ?text=...","id":"hash-multi","name":"hash multi","tags":["hash","md5","sha1","sha256","checksum"]},{"description":"Escape or unescape HTML entities. ?op=enc|dec&data=<text>","id":"html-entities","name":"html entities","tags":["html","entities","escape","unescape"]},{"description":"Validate + pretty-print JSON. ?data={...} (urlencoded).","id":"json","name":"json","tags":["json","validate","format","pretty"]},{"description":"Decode a JWT header and payload WITHOUT signature verification. ?token=<jwt>","id":"jwt-decode","name":"jwt decode","tags":["jwt","token","decode","auth","claims"]},{"description":"Lorem ipsum placeholder generator. ?paras=3 or ?words=50","id":"lorem","name":"lorem","tags":["lorem","ipsum","placeholder","text generator"]},{"description":"Convert Markdown to HTML (tables, fenced code). ?text=<markdown urlencoded>","id":"markdown2html","name":"markdown2html","tags":["markdown","html","convert","md"]},{"description":"Secure random password. ?len=16&symbols=1","id":"password","name":"password","tags":["password","generator","secure","random"]},{"description":"QR code generator. ?data=<text>&size=256 -> PNG as base64 in JSON.","id":"qr","name":"qr","tags":["qr","qrcode","generator","image","encode"]},{"description":"Cryptographically secure random number. ?min=&max= (ints, default 0..100).","id":"random","name":"random","tags":["random","rng","number","dice","lottery"]},{"description":"Test a regex against text: matches with groups and positions. ?pattern=<re>&text=<text>&flags=i","id":"regex","name":"regex","tags":["regex","regexp","match","test","pattern"]},{"description":"SHA-256 and SHA-512 digests for any text (?text=). Deterministic, local, stable JSON.","id":"sha256","name":"sha256","tags":["hash","sha256","sha512","checksum","digest"]},{"description":"URL slug from any text. ?text=Hello%20World -> hello-world","id":"slug","name":"slug","tags":["slug","url","seo","text"]},{"description":"Text statistics: words, chars, sentences, reading time. ?text=...","id":"text-stats","name":"text stats","tags":["text","words","count","statistics","seo"]},{"description":"Unix timestamp <-> ISO8601 both ways. ?ts=1690000000 or ?iso=2026-01-01T00:00:00Z","id":"timestamp","name":"timestamp","tags":["timestamp","unix","epoch","date","time"]},{"description":"Convert TOML to JSON. ?data=<toml urlencoded>","id":"toml2json","name":"toml2json","tags":["toml","json","convert","config"]},{"description":"Convert units: length, weight, volume, data size, temperature. ?value=100&from=cm&to=inch","id":"unit-convert","name":"unit convert","tags":["unit","convert","length","weight","temperature"]},{"description":"URL encode/decode. ?op=enc|dec&data=...","id":"urlcode","name":"urlcode","tags":["url","encode","decode","percent"]},{"description":"Generate UUIDv4 (and optional count ?n= up to 100).","id":"uuid","name":"uuid","tags":["uuid","guid","identifier","unique id"]},{"description":"Convert YAML to JSON. ?data=<yaml urlencoded>","id":"yaml2json","name":"yaml2json","tags":["yaml","json","convert","config"]},{"description":"ECB reference currency exchange rates. ?base=USD&symbols=EUR,GBP or ?date=2026-01-15","id":"fx-rates","name":"fx rates","tags":["currency","exchange rate","fx","forex","ecb"]},{"description":"IP geolocation and network info: country, city, ASN/org, timezone. ?ip=1.2.3.4","id":"ip-info","name":"ip info","tags":["ip","geolocation","asn","network","lookup"]},{"description":"Parse any RSS or Atom feed into clean JSON items. ?url=<feed>&limit=10","id":"rss","name":"rss","tags":["rss","atom","feed","news","parse"]},{"description":"Google web search. ?q=query&num=5 returns organic results with title, link, snippet.","id":"search","name":"search","tags":["search","google","web","serp","find"]},{"description":"Current weather + 7-day forecast by city name or lat/lon (open-meteo, no key needed). ?city=Moscow","id":"weather","name":"weather","tags":["weather","forecast","temperature","climate"]},{"description":"Text readability: Flesch score, level, avg sentence length, keyword density, top words. ?text=<text>&keyword=","id":"readability","name":"readability","tags":["readability","flesch","seo","content","keyword density"]},{"description":"Fetch a web page and return clean readable text. ?url=https://example.com","id":"scrape","name":"scrape","tags":["scrape","extract","web page","reader","crawl"]},{"description":"Domain registration data via RDAP: registrar, created/updated/expires, status, nameservers. ?domain=example.com","id":"whois","name":"whois","tags":["whois","domain","rdap","registrar","expiry"]},{"description":"Audit robots.txt + sitemap.xml of a site: rules, sitemaps listed, sitemap reachable, URL counts. ?url=<site root>","id":"robots-audit","name":"robots audit","tags":["robots","sitemap","seo","audit","crawl"]},{"description":"SEO snapshot of a page: title, description, OG/Twitter meta, h1s, h2 count, canonical, robots meta, lang, word count. ?url=","id":"seo-meta","name":"seo meta","tags":["seo","meta","opengraph","title","description"]},{"description":"Google SERP: organic results with position, ads count, related searches. ?q=&num=5&gl=us","id":"serp-google","name":"serp google","tags":["serp","google","search","ranking","keywords"]},{"description":"Yandex SERP for RU-market keyword research (region by ?lr=). ?q=&lr=213","id":"serp-yandex","name":"serp yandex","tags":["yandex","serp","search","russian","ranking"]},{"description":"Generate an Open Graph image 1200x630 from title/subtitle/theme. ?title=&subtitle=&theme=indigo|dark|green|red|blue","id":"og-image","name":"og image","tags":["og image","open graph","social preview","banner generator","image"]},{"description":"Render a JS-heavy page in a real browser and return the visible text. ?url=","id":"render-text","name":"render text","tags":["render","javascript","spa","scrape","browser"]},{"description":"Render any page to PDF (A4, print background) via headless Chrome. ?url=","id":"pdf","name":"pdf","tags":["pdf","convert","print","browser","render"]},{"description":"Real browser screenshot of any page as PNG (base64), JS rendered. ?url=&width=1280&height=800&full=0|1","id":"screenshot","name":"screenshot","tags":["screenshot","capture","browser","render","image"]},{"description":"Google Trends interest over time for a keyword (weekly points, peak). ?q=casino&geo=US&time=12-m|5-y","id":"trends","name":"trends","tags":["google trends","interest over time","keyword research","search trends","seo"]},{"description":"Google Trends interest by region/country for a keyword. ?q=casino&geo=&time=12-m","id":"trends-region","name":"trends region","tags":["google trends","interest by region","geo","keyword research","seo"]},{"description":"Google Trends related queries: top and rising search terms for a keyword. ?q=casino&geo=&time=12-m","id":"trends-related","name":"trends related","tags":["google trends","related queries","keyword ideas","search trends","seo"]}],"url":"https://nano.stacknodehost.com"}
