Skip to content
Back to NanoTools

Card snapshot

nano.stacknodehost.com · 2026-10-02 11:25:30 UTC · 1d3f4c407faedfda2a822ad5da878925e167dee44c4a07a89feb5be159f81009

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "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"
      ]
    },
    {
      "description": "Full SEO audit report of a domain: health score 0-100, prioritized issues list, title/description/H1/canonical, robots.txt review, word count. Returns ready markdown report. ?url=https://example.com",
      "id": "seo-report",
      "name": "seo report",
      "tags": [
        "seo report",
        "site audit",
        "seo audit",
        "on-page seo",
        "domain analysis"
      ]
    }
  ],
  "url": "https://nano.stacknodehost.com"
}