_ registry / mcp streamable-http · checked 1h ago

Jinero

https://jinero.online

Registry code: 53ea82ae998fafd0

api record

Jinero exposes the design tools of jinero.online to LLM agents: search and embed free fonts (Google-Fonts-compatible CSS), identify a font from an image (recognize_font — powered by our own CNN embedding model trained on the catalog: matches by visual shape, no OCR/text needed, Latin & Cyrillic; accepts a public image URL or a base64-encoded local image), browse color palettes, check WCAG contrast and generate tints/shades, minify/beautify/convert code, optimize SVG and produce data URIs, and fetch SCSS mixins and fluid clamp() values. All data comes from the same public API documented at…

endpoint
https://jinero.online/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is Jinero live?
Yes — it answered the hub's last check (checked 1h ago). It answered 97% of checks over the last 30 days.
Is Jinero free to use?
Yes — the hub reached it with no key and no payment.
What tools does Jinero have?
15 tools: recognize_font, get_font, get_fonts_css, get_font_download_url, get_color_shades, extract_colors, minify_code, detect_code, ….
Is Jinero safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
96.8%

90 days 97.2%· all time 97.2%

latency
606ms

last good check

priced tools
0

of 15 tools

_ answered our checks, 90 days 321 checks · signed record
  • degraded → live
  • live → degraded· HTTP 522
  • degraded → live
  • live → degraded· HTTP 522
  • degraded → live
_ what it is for
used for
  • identify a font from an image
  • search free fonts and get css
  • check wcag color contrast
  • extract color palette from image
  • minify or convert code
takes → gives
images, code, text → data, code
tools
15 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 15 tools
2 open 13 never probed 2 of 15 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • search_fonts reads open 43d ago

    Search the free font catalog by name, category, style tags, language coverage, variable/monospace flags and style count. Returns a paginated list of families.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Fuzzy name match."
        },
        "page": {
          "type": "integer",
          "minimum": 1,
          "description": "Page number."
        },
        "sort": {
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string",
          "description": "Sort direction."
        },
        "langs": {
          "type": "string",
          "description": "Comma-separated language codes, e.g. 'latin,cyrillic' — ALL must be supported."
        },
        "order": {
          "enum": [
            "likes",
            "downloads",
            "views",
            "name",
            "created_at"
          ],
          "type": "string",
          "description": "Sort field, default 'likes'."
        },
        "style": {
          "type": "string",
          "description": "Comma-separated style tags, e.g. 'handwriting,condensed' — ALL must match. One of: handwriting, script, display, slab, rounded, condensed, expanded, stencil, pixel, blackletter, outline, retro."
        },
        "category": {
          "type": "string",
          "description": "Comma-separated categories, e.g. 'serif,sans'."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page (default 24)."
        },
        "variable": {
          "type": "boolean",
          "description": "Only variable fonts."
        },
        "monospace": {
          "type": "boolean",
          "description": "Only monospace fonts."
        },
        "styles_max": {
          "type": "integer",
          "description": "Maximum number of styles."
        },
        "styles_min": {
          "type": "integer",
          "description": "Minimum number of styles."
        }
      }
    }
    arguments 67 lines
  • search_palettes reads open 43d ago

    Search the color-palette catalog by name, tone, temperature, mood, harmony, exact color count and tags. Returns a paginated list.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "mood": {
          "type": "string",
          "description": "e.g. pastel, muted, earthy, vibrant, monochrome."
        },
        "name": {
          "type": "string",
          "description": "Fuzzy name match."
        },
        "page": {
          "type": "integer",
          "minimum": 1,
          "description": "Page number."
        },
        "tags": {
          "type": "array",
          "description": "Tag slugs — ALL must match (AND)."
        },
        "tone": {
          "enum": [
            "light",
            "dark",
            "mixed"
          ],
          "type": "string",
          "description": "Overall tone."
        },
        "order": {
          "enum": [
            "newest",
            "popular",
            "name"
          ],
          "type": "string",
          "description": "Sort order (default newest)."
        },
        "harmony": {
          "type": "string",
          "description": "e.g. analogous, complementary, triadic, monochromatic, split-complementary, tetradic."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page (default 24)."
        },
        "color_count": {
          "type": "integer",
          "maximum": 10,
          "minimum": 2,
          "description": "Exact number of colors."
        },
        "temperature": {
          "enum": [
            "warm",
            "cool",
            "neutral"
          ],
          "type": "string",
          "description": "Color temperature."
        }
      }
    }
    arguments 65 lines
  • recognize_font reads unknown 43d ago

    Identify which font is used in an image. Powered by our OWN CNN embedding model, trained on the jinero font catalog — it matches fonts by visual shape/style, so it needs NO OCR and NO text (works for Latin and Cyrillic). Send a tight crop of one line of text as either image_url (public URL) or image_base64 (base64/data-URI, e.g. a local screenshot). The image is processed in memory and deleted immediately — never stored. Returns the most visually similar font families with scores. Typically 0.3-1.7 s (an OCR-assisted rerank of top candidates engages when retrieval is uncertain). Rate limit: 5 calls/min per IP (model inference is compute-heavy).

    mcp-tool

    {
      "type": "object",
      "properties": {
        "top_k": {
          "type": "integer",
          "maximum": 20,
          "minimum": 3,
          "description": "Number of font matches to return (3–20, default 8)."
        },
        "image_url": {
          "type": "string",
          "description": "Public URL of an image — a tight crop of one line of text. Provide either this or image_base64. Recognition is by visual shape (no OCR/text needed); Latin & Cyrillic supported."
        },
        "image_base64": {
          "type": "string",
          "description": "Base64-encoded image (raw base64 or a data:image/...;base64 URI), max 8 MB decoded — use this to send a local file/screenshot without hosting it. Provide either this or image_url."
        }
      }
    }
    arguments 19 lines
  • get_font reads unknown never probed

    Get full metadata for one font family by slug: styles, weights, axes, license, subsets and download/CSS URLs.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Family slug, e.g. 'inter', 'playfair-display'."
        }
      }
    }
    arguments 12 lines
  • get_fonts_css reads unknown never probed

    Generate ready-to-use @font-face CSS for a family spec (Google-Fonts-compatible), e.g. "inter:wght@400,700" or a variable range "inter:[email protected]". Returns CSS text.

    mcp-tool

    {
      "type": "object",
      "required": [
        "family"
      ],
      "properties": {
        "family": {
          "type": "string",
          "description": "Family spec, e.g. \"inter:wght@400,700\" or \"inter:[email protected]\"."
        },
        "display": {
          "enum": [
            "swap",
            "auto",
            "block",
            "fallback",
            "optional"
          ],
          "type": "string",
          "description": "font-display value (default swap)."
        }
      }
    }
    arguments 23 lines
  • get_font_download_url reads unknown never probed

    Return the direct ZIP download URL for a font family (all styles + a ready fonts.css). Does NOT download — hand the URL to the user or fetch it separately.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Family slug, e.g. 'inter'."
        }
      }
    }
    arguments 12 lines
  • get_color_shades reads unknown never probed

    Generate tints and shades for a base color (lighter/darker steps) with hex values.

    mcp-tool

    {
      "type": "object",
      "required": [
        "hex"
      ],
      "properties": {
        "hex": {
          "type": "string",
          "description": "Base color in hex, rgb(), or hsl()."
        },
        "step": {
          "enum": [
            "5",
            "10",
            "20",
            "25"
          ],
          "type": "string",
          "description": "Step percentage (default 10)."
        },
        "limit": {
          "type": "integer",
          "maximum": 20,
          "minimum": 1,
          "description": "Cap on tints/shades (default fills to ~100%)."
        }
      }
    }
    arguments 28 lines
  • extract_colors reads unknown 43d ago

    Extract a dominant-color palette from an image. Send either a public image_url or image_base64 (base64/data-URI, e.g. a local screenshot). The image is processed in memory and never stored. Each color comes back with its hex, rgb, hsl, share of the image, and the closest human color name — a named palette in one call. Rate limit: 10 calls/min per IP.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "description": "Palette mode: \"balanced\" (default), \"vibrant\", or \"muted\"."
        },
        "count": {
          "type": "integer",
          "description": "How many colors to return (2–16, default 8)."
        },
        "image_url": {
          "type": "string",
          "description": "Public URL of the image to pull the palette from. Provide either this or image_base64."
        },
        "image_base64": {
          "type": "string",
          "description": "Base64-encoded image (raw base64 or a data:image/...;base64 URI), max 10 MB decoded — use this to send a local file/screenshot without hosting it. Provide either this or image_url."
        }
      }
    }
    arguments 21 lines
  • minify_code reads unknown never probed

    Minify or beautify JS, CSS, HTML, SVG, JSON or XML text. Set type=auto to sniff the language. The code is only parsed and re-printed — never executed and never stored. Rate limit: 30 calls/min per IP.

    mcp-tool

    {
      "type": "object",
      "required": [
        "code",
        "type"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Source code to transform."
        },
        "mode": {
          "enum": [
            "minify",
            "beautify"
          ],
          "type": "string",
          "description": "Default minify."
        },
        "type": {
          "enum": [
            "js",
            "css",
            "html",
            "svg",
            "json",
            "xml",
            "auto"
          ],
          "type": "string",
          "description": "Source language, or 'auto' to sniff."
        },
        "keep_license": {
          "type": "boolean",
          "description": "Preserve /*! ... */ license comments when minifying."
        }
      }
    }
    arguments 38 lines
  • detect_code reads unknown never probed

    Detect the language/format of a code snippet. Static analysis only — the snippet is never executed and never stored.

    mcp-tool

    {
      "type": "object",
      "required": [
        "code"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "Snippet to inspect. Max 200,000 chars."
        }
      }
    }
    arguments 12 lines
  • convert_code reads unknown never probed

    Convert code between text formats (e.g. JSON↔YAML, CSS↔SCSS). Pure text transformation: the source is parsed and re-serialized, never executed and never stored. Use list_code_converters for valid from/to ids and per-converter options. Rate limit: 30 calls/min per IP.

    mcp-tool

    {
      "type": "object",
      "required": [
        "code",
        "from",
        "to"
      ],
      "properties": {
        "to": {
          "type": "string",
          "description": "Target format id."
        },
        "code": {
          "type": "string",
          "description": "Source code to convert."
        },
        "from": {
          "type": "string",
          "description": "Source format id (see list_code_converters)."
        },
        "options": {
          "type": "object",
          "description": "Per-converter options (see optionsSchema in list_code_converters)."
        }
      }
    }
    arguments 26 lines
  • get_palette reads unknown never probed

    Get one color palette by id: its colors (hex), name/derived title, mood, harmony, temperature and tags.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "description": "Palette id."
        }
      }
    }
    arguments 12 lines
  • get_font_files reads unknown never probed

    List every font file (weight/italic/format + direct woff2/ttf URL) for a family — handy for building custom @font-face rules.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "description": "Family slug, e.g. 'inter'."
        }
      }
    }
    arguments 12 lines
  • check_contrast reads unknown never probed

    Check the WCAG contrast ratio between a foreground and background color, with AA/AAA pass/fail for normal and large text.

    mcp-tool

    {
      "type": "object",
      "required": [
        "fg",
        "bg"
      ],
      "properties": {
        "bg": {
          "type": "string",
          "description": "Background color (hex, rgb(), or hsl())."
        },
        "fg": {
          "type": "string",
          "description": "Foreground color (hex, rgb(), or hsl())."
        }
      }
    }
    arguments 17 lines
  • name_color reads unknown never probed

    Get the closest human-readable name for one or more colors. Pass a single hex or several comma-separated (e.g. "#3b82f6,#000,#ff7f50"); returns each input with its nearest color name, the reference hex, an exact-match flag and the perceptual distance.

    mcp-tool

    {
      "type": "object",
      "required": [
        "hex"
      ],
      "properties": {
        "hex": {
          "type": "string",
          "description": "A hex color, or several comma-separated (e.g. \"#3b82f6,#000,#ff7f50\"). Up to 100 at once."
        }
      }
    }
    arguments 12 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 53ea82ae998fafd0.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/53ea82ae998fafd0/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/53ea82ae998fafd0/badge.svg)](https://brick.blue/agent/53ea82ae998fafd0?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.