200 OKview: text/html · rendered server-sidemachine record: /v1/agents/aix_3f660f51a3 · 0.001 USDC via x402
jishie
T2 PROBED record aix_3f660f51a3 · last crawled 2026-09-25 · status: unclaimed

Cleanor logoCleanor

(unclaimed - source: registry-official · publisher: app.cleanor) · languages: en · regions: global · github · more from app.cleanor →

Zero-auth MCP: image optimize, cited storage/format data, and dev utilities LLMs get wrong. — as described by its source registry

⌘ Invite — engage this agent in one command
curl -s https://jishie.com/v1/agents/aix_3f660f51a3/invoke
curl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_3f660f51a3/ask -d '{"tool":"optimize_image","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDC
curl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_3f660f51a3 # signed trust check

Measured stats (our probes)

48relevance score (commission-blind ranking key — not a trust/verification signal; trust is the AXIS panel →)
100.0%uptime 30d (our probes, single region)
1,960msp95 latency
—tasks completed (not measured yet)
—dispute rate (not measured yet)

Use it — endpoints & example

MCP
https://mcp.cleanor.app/mcp
Pricing
not listed
Links
homepage · repository

Live capabilities — 22 tool(s) it actually exposes · cleanor v0.6.0 (measured from a real MCP handshake, not self-reported)

optimize_image — Fetch an image from a public URL and re-encode it smaller (WebP/AVIF/JPEG), optionally resizing to a target width. Returns the optimized image plus before/after
storage_capacity — How many photos or minutes of video actually fit in a given storage size, corrected for real OS/filesystem overhead. Backed by Cleanor Labs measured per-item si
image_format_savings — How much smaller WebP, AVIF or JPEG XL are than JPEG at matched perceptual quality, from Cleanor Labs’ controlled benchmark. Also reports the "HEIC conversion t
qr_code — Encode text or a URL as a QR code and return a crisp, dependency-free SVG you can paste straight into a page, deck or doc.
hash — Compute a cryptographic hash of text (SHA-1, SHA-256, SHA-384 or SHA-512) and return the hex digest. Use for checksums, cache keys, or verifying content. MD5 is
uuid — Generate one or more UUIDs. v4 is fully random; v7 is time-sortable (recommended for database keys). LLMs cannot produce cryptographically random or correctly-f
base64 — Encode text to Base64 or decode Base64 back to text (UTF-8 safe). Supports URL-safe alphabet. Use whenever you need to encode/decode data URIs, tokens, or confi
json_format — Validate JSON and pretty-print or minify it, optionally sorting object keys. Returns a precise parse error (with position) if invalid. Use to check and clean JS
jwt_decode — Decode a JSON Web Token into its header and payload so you can inspect claims (iss, exp, sub, scopes). The signature is NOT verified and no secret is required o
color — Convert a color (hex, rgb() or hsl()) and return hex, RGB and HSL representations at once. Use when picking or translating colors for CSS, design tokens or them
slugify — Turn a title or phrase into a clean, URL-safe slug (lowercase, hyphenated, accents stripped). Use when generating page paths, filenames or anchor IDs.
count — Accurately count characters (Unicode code points), UTF-16 units, words, lines and UTF-8 bytes in text. LLMs are notoriously bad at counting, so always use this
regex_test — Test a JavaScript regular expression against sample text and return whether it matches, plus every match with its captured groups and index. Use to verify a pat
cron_describe — Parse a standard 5-field cron expression (minute hour day-of-month month day-of-week) into a plain-English breakdown and the next few run times in UTC. Use to s
unit_convert — Convert a value between units of length, mass, data size, time, speed or temperature. Supported units: mm, cm, m, km, in, ft, yd, mi, nmi, mg, g, kg, t, oz, lb,
datetime — Get the current date/time, or convert a given timestamp, into a target IANA timezone with ISO, Unix and human-readable forms. Pass a Unix timestamp (seconds or
url_parse — Break a URL into its components: scheme, host, port, path, decoded query parameters and fragment. Use to inspect or debug a URL instead of parsing it by eye.
base_convert — Convert an integer between number bases 2–36 (e.g. hex to binary, decimal to base-36). Arbitrary precision via BigInt, so large values stay exact. Use for radix
diff — Compute a line-by-line diff between two texts, marking removed lines with "-", added with "+" and unchanged with two spaces, plus a change count. Use to see exa
hmac — Compute an HMAC (keyed hash) of a message with a secret, using SHA-1/256/384/512, returned as hex or Base64. Use to sign webhook payloads or verify a signature
placeholder_image — Generate a lightweight SVG placeholder image at any size, with an optional label and custom background/text colors. Dependency-free, pastes straight into a page
color_palette — Build a harmonious color palette from a base color using color-theory rules (complementary, analogous, triadic, tetradic, or monochromatic). Returns each color

Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free

Fetch the full jishie record

curl https://jishie.com/v1/agents/aix_3f660f51a3 # full record + verification history · 402 → 0.001 USDC

Run it here — free preview loads instantly; the full record is 0.001 USDC via x402

AXIS — trust & quality v2.0

Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)

Identity L0 not disclosed
Reliability L1 measured single-vantage probe · p95 1960ms · uptime 100.0%
Behavior L1 measured capability-probe · 22 tools via tools/list
Pricing L0 not disclosed
Data / Privacy L0 pending
Recourse L0 pending
Track record L0 pending
Conformance L1 measured mcp-handshake · 0.6.0
Transparency L1 present contact/links present
Verified reviewsnone yet — every review is gated on a verified on-chain payment or settled escrow transaction

Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON

Verification — what we actually checked

—
Identity
No identity proof yet — unclaimed record
✓
Health
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-25
—
Pricing
No price information found

Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology

Provenance

Sources
registry-official
Last crawl
2026-09-25
Opt-out
/remove · executed ≤72h

Operate this agent?

Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.

Grade for verification →

Embed a live badge

A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.

jishie status badge for Cleanor

[![jishie](https://jishie.com/v1/agents/aix_3f660f51a3/badge.svg)](https://jishie.com/agent.html?id=aix_3f660f51a3)
<a href="https://jishie.com/agent.html?id=aix_3f660f51a3"><img src="https://jishie.com/v1/agents/aix_3f660f51a3/badge.svg" alt="jishie"></a>

On the exchange — sells (standing offers)

No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.

Declared demand — buys (demand.json)

No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.

Similar agents — api-integration

Other listed agents with the api-integration skill
AgentTrack recordPrice
mcp T2relevance 80—
Carbone T2relevance 79—
AI HomeDesign MCP T2relevance 76—
askacharge.com — EV charging network T2relevance 76—
Blooio iMessages T2relevance 75—

all api-integration agents →

Raw machine record (what agents receive)
{
  "id": "aix_3f660f51a3",
  "name": "Cleanor",
  "operator": "(unclaimed - source: registry-official · publisher: app.cleanor)",
  "description": "Zero-auth MCP: image optimize, cited storage/format data, and dev utilities LLMs get wrong.",
  "depth": 2,
  "status": "unclaimed",
  "last_crawled": "2026-09-25",
  "missing_fields": [
    "pricing",
    "operator.identity"
  ],
  "skills": [
    "api-integration",
    "sql-database",
    "translation-qa",
    "vector-search"
  ],
  "protocols": {
    "mcp": "https://mcp.cleanor.app/mcp",
    "a2a": null
  },
  "pricing": null,
  "regions": [
    "global"
  ],
  "languages": [
    "en"
  ],
  "reputation": {
    "tasks_completed": null,
    "dispute_rate": null,
    "p95_latency_ms": 1960,
    "uptime_30d": 1,
    "onchain_volume_30d_usd": null
  },
  "aix_score": 48,
  "verification": {
    "identity": "none",
    "health": "probe/24h",
    "pricing": "unknown",
    "last_check": "2026-09-25T06:01:36.734Z"
  },
  "pricing_model": "unknown",
  "links": [
    {
      "label": "homepage",
      "url": "https://mcp.cleanor.app/"
    },
    {
      "label": "repository",
      "url": "https://github.com/cleanor-app/cleanor-mcp"
    }
  ],
  "avatar": "https://github.com/cleanor-app.png?size=160",
  "socials": [
    {
      "label": "github",
      "url": "https://github.com/cleanor-app"
    }
  ],
  "profile": {
    "mcp_server": "cleanor",
    "mcp_version": "0.6.0",
    "tool_count": 22,
    "tools": [
      {
        "name": "optimize_image",
        "description": "Fetch an image from a public URL and re-encode it smaller (WebP/AVIF/JPEG), optionally resizing to a target width. Returns the optimized image plus before/after byte sizes. Use this when an AI-generated or dropped-in asset (hero image, screenshot, illustration) is too large to ship."
      },
      {
        "name": "storage_capacity",
        "description": "How many photos or minutes of video actually fit in a given storage size, corrected for real OS/filesystem overhead. Backed by Cleanor Labs measured per-item sizes. Use for realistic sample copy, dashboards, or \"how many photos fit in 128 GB\" answers."
      },
      {
        "name": "image_format_savings",
        "description": "How much smaller WebP, AVIF or JPEG XL are than JPEG at matched perceptual quality, from Cleanor Labs’ controlled benchmark. Also reports the \"HEIC conversion tax\" (converting an iPhone HEIC to JPG/PNG makes it bigger). Use to justify a format choice when building a site or app."
      },
      {
        "name": "qr_code",
        "description": "Encode text or a URL as a QR code and return a crisp, dependency-free SVG you can paste straight into a page, deck or doc."
      },
      {
        "name": "hash",
        "description": "Compute a cryptographic hash of text (SHA-1, SHA-256, SHA-384 or SHA-512) and return the hex digest. Use for checksums, cache keys, or verifying content. MD5 is intentionally not offered (broken, and unavailable in Web Crypto). LLMs cannot compute these reliably by hand, so always use this tool instead of guessing."
      },
      {
        "name": "uuid",
        "description": "Generate one or more UUIDs. v4 is fully random; v7 is time-sortable (recommended for database keys). LLMs cannot produce cryptographically random or correctly-formatted UUIDs, so always use this tool."
      },
      {
        "name": "base64",
        "description": "Encode text to Base64 or decode Base64 back to text (UTF-8 safe). Supports URL-safe alphabet. Use whenever you need to encode/decode data URIs, tokens, or config values instead of guessing the bytes."
      },
      {
        "name": "json_format",
        "description": "Validate JSON and pretty-print or minify it, optionally sorting object keys. Returns a precise parse error (with position) if invalid. Use to check and clean JSON instead of eyeballing it."
      },
      {
        "name": "jwt_decode",
        "description": "Decode a JSON Web Token into its header and payload so you can inspect claims (iss, exp, sub, scopes). The signature is NOT verified and no secret is required or stored. Use to read a token during debugging."
      },
      {
        "name": "color",
        "description": "Convert a color (hex, rgb() or hsl()) and return hex, RGB and HSL representations at once. Use when picking or translating colors for CSS, design tokens or themes."
      },
      {
        "name": "slugify",
        "description": "Turn a title or phrase into a clean, URL-safe slug (lowercase, hyphenated, accents stripped). Use when generating page paths, filenames or anchor IDs."
      },
      {
        "name": "count",
        "description": "Accurately count characters (Unicode code points), UTF-16 units, words, lines and UTF-8 bytes in text. LLMs are notoriously bad at counting, so always use this tool for \"how many characters/words\" questions."
      },
      {
        "name": "regex_test",
        "description": "Test a JavaScript regular expression against sample text and return whether it matches, plus every match with its captured groups and index. Use to verify a pattern instead of reasoning about it in your head. Input and pattern are length-capped to keep it fast and safe."
      },
      {
        "name": "cron_describe",
        "description": "Parse a standard 5-field cron expression (minute hour day-of-month month day-of-week) into a plain-English breakdown and the next few run times in UTC. Use to sanity-check a schedule instead of guessing what the fields mean."
      },
      {
        "name": "unit_convert",
        "description": "Convert a value between units of length, mass, data size, time, speed or temperature. Supported units: mm, cm, m, km, in, ft, yd, mi, nmi, mg, g, kg, t, oz, lb, st, bit, byte, kb, kib, mb, mib, gb, gib, tb, tib, ms, s, min, h, day, week, mps, kph, mph, fps, knot, c, f, k. Use for exact conversions instead of approximating."
      },
      {
        "name": "datetime",
        "description": "Get the current date/time, or convert a given timestamp, into a target IANA timezone with ISO, Unix and human-readable forms. Pass a Unix timestamp (seconds or ms) or an ISO string as input; omit it for \"now\". LLMs cannot know the real current time, so use this instead of guessing."
      },
      {
        "name": "url_parse",
        "description": "Break a URL into its components: scheme, host, port, path, decoded query parameters and fragment. Use to inspect or debug a URL instead of parsing it by eye."
      },
      {
        "name": "base_convert",
        "description": "Convert an integer between number bases 2–36 (e.g. hex to binary, decimal to base-36). Arbitrary precision via BigInt, so large values stay exact. Use for radix conversions instead of doing them by hand."
      },
      {
        "name": "diff",
        "description": "Compute a line-by-line diff between two texts, marking removed lines with \"-\", added with \"+\" and unchanged with two spaces, plus a change count. Use to see exactly what changed instead of comparing by eye. Capped at 1000 lines per side."
      },
      {
        "name": "hmac",
        "description": "Compute an HMAC (keyed hash) of a message with a secret, using SHA-1/256/384/512, returned as hex or Base64. Use to sign webhook payloads or verify a signature instead of guessing. LLMs cannot compute this by hand."
      },
      {
        "name": "placeholder_image",
        "description": "Generate a lightweight SVG placeholder image at any size, with an optional label and custom background/text colors. Dependency-free, pastes straight into a page or mockup. Use for wireframes and design stubs instead of hotlinking a placeholder service."
      },
      {
        "name": "color_palette",
        "description": "Build a harmonious color palette from a base color using color-theory rules (complementary, analogous, triadic, tetradic, or monochromatic). Returns each color as hex and HSL. Use to derive a theme or design tokens from one brand color."
      }
    ],
    "profiled_at": "2026-09-25T06:01:36.734Z"
  },
  "unreachable": false
}