Jinero

online.jineroPublished by jinero.onlineOfficial publisherv1.4.0Updated Oct 24, 2026

AI-agent design tools: fonts, font recognition, palettes, color naming, contrast, code, SVG, CSS.

VerifiedStreamable HTTPWeb executableDeveloper ToolsMedia & Design

Overview

AI-generated overview

Hosted, read-only design toolbox for AI assistants: font search and recognition, color math and palettes, code/SVG/CSS helpers.

What you can do
  • Search the free font catalog, fetch family metadata, files, @font-face CSS and download URLs, and identify a font from an image crop
  • Check WCAG contrast, generate tints and shades, name colors, and extract a dominant palette from an image
  • Search and read curated color palettes by tone, mood, harmony and tags
  • Minify or beautify code, detect a snippet's language, convert between text formats, and list available converters
  • Optimize SVG markup, turn SVG or images into data URIs, and list optimization presets
  • List and read SCSS mixins, and compute fluid CSS clamp() expressions
When to use it
Useful when an assistant is doing front-end or design work: picking and wiring up fonts, checking color contrast for accessibility, building a palette from a screenshot, or cleaning up SVG and CSS. It saves the assistant from guessing at font names, color values or clamp math.
Requirements
Nothing to install: a remote Streamable HTTP endpoint at jinero.online/mcp, with no authentication, API key or environment variables. Older stdio-only clients need a bridge such as mcp-remote. Network access is required, and the endpoint is rate-limited per IP.
Before you install
Anonymous and free, but rate-limited (60 requests/min per IP, with tighter per-tool caps on font recognition, color extraction and parser tools). Three tools fetch a user-supplied URL, so images or URLs you pass are sent to the service; uploaded images are described as processed in memory and not stored. Code and SVG are sent to a third party for parsing, though the server states they are never executed or stored.

Installation

In SourceWeft

  1. Open Jinero in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/online.jinero%2Fjinero/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "jinero": {
      "type": "http",
      "url": "https://jinero.online/mcp"
    }
  }
}

README

Jinero MCP Server

[jinero-mcp MCP server] [smithery badge]

online.jinero/jinero — a hosted, remote Model Context Protocol server that gives AI agents (Claude, Cursor, Cline, Zed, Gemini CLI…) the design tools of jinero.online: 22 read-only tools for fonts (search, CSS, files, recognition from an image), color math (WCAG contrast, shades, naming, palette extraction), curated palettes, code minify/convert/detect, SVG optimization and SCSS helpers.

Connect

Claude Code (CLI):

bash
claude mcp add --transport http jinero https://jinero.online/mcp

Claude Desktop / Cursor / Cline (config):

json
{  "mcpServers": {    "jinero": { "type": "http", "url": "https://jinero.online/mcp" }  }}

Older stdio-only clients can bridge with npx mcp-remote https://jinero.online/mcp.

Trust & safety

Every tool declares MCP annotations, verifiable in tools/list:

  • all 22 tools are readOnlyHint: true and idempotentHint: true;
  • submitted code/SVG is parsed and transformed as text — never executed, never stored;
  • uploaded images (font recognition, color extraction) are processed in memory and deleted immediately;
  • only three tools fetch a user-supplied URL (recognize_font, extract_colors, svg_to_datauri) — marked openWorldHint: true, with SSRF-guarded, size-capped fetches.

A note for automated risk scanners: some directories classify minify_code, convert_code, generate_clamp or recognize_font as "write" tools based on their verbs. They are pure functions — text/math in, text out; nothing on the server or the caller's side is modified. The authoritative signal is the readOnlyHint: true annotation each of the 22 tools declares in tools/list (snapshotted in tools.json).

Rate limits

The whole endpoint is capped at 60 requests/min per IP. On top of that, compute-heavy tools enforce their own per-tool per-IP caps (server v1.4.0+), returned as a clean tool error with a retry hint when exceeded — each cap is also stated in the tool's description:

ToolCapWhy
recognize_font5/minCNN model inference
extract_colors10/minimage analysis subprocess
minify_code, convert_code, optimize_svg30/minparser subprocesses
svg_to_datauri30/minmay fetch external URLs

Tests & CI

tests/tools.test.mjs exercises every declared tool against the live endpoint (zero dependencies, Node 20+):

bash
npm test

CI runs the suite on every push and weekly (workflow), and tools.json is a committed snapshot of the live tools/list — schemas and annotations included (npm run update-snapshot to refresh).

Try it without a client

bash
# List all toolscurl -s -X POST https://jinero.online/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

More runnable examples in examples/.

Tool reference

Generated from the live tools/list of the current server version.

Fonts

search_fonts

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

read-only · idempotent

ParameterTypeDescription
namestringFuzzy name match.
categorystringComma-separated categories, e.g. 'serif,sans'.
langsstringComma-separated language codes, e.g. 'latin,cyrillic' — ALL must be supported.
stylestringComma-separated style tags, e.g. 'handwriting,condensed' — ALL must match. One of: handwriting, script, display, slab, rounded, condensed, expanded, stencil, pixel, blackletter, outline, retro.
variablebooleanOnly variable fonts.
monospacebooleanOnly monospace fonts.
styles_minintegerMinimum number of styles.
styles_maxintegerMaximum number of styles.
orderstring: likes | downloads | views | name | created_atSort field, default 'likes'.
sortstring: asc | descSort direction.
per_pageintegerResults per page (default 24).
pageintegerPage number.
recognize_font

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. Fast (~200 ms).

read-only · idempotent · fetches external URLs

ParameterTypeDescription
image_urlstringPublic 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_base64stringBase64-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.
top_kintegerNumber of font matches to return (3–20, default 8).
get_font

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

read-only · idempotent

ParameterTypeDescription
slug (required)stringFamily slug, e.g. 'inter', 'playfair-display'.
get_font_files

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

read-only · idempotent

ParameterTypeDescription
slug (required)stringFamily slug, e.g. 'inter'.
get_fonts_css

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.

read-only · idempotent

ParameterTypeDescription
family (required)stringFamily spec, e.g. "inter:wght@400,700" or "inter:[email protected]".
displaystring: swap | auto | block | fallback | optionalfont-display value (default swap).
get_font_download_url

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.

read-only · idempotent

ParameterTypeDescription
slug (required)stringFamily slug, e.g. 'inter'.

Colors

check_contrast

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

read-only · idempotent

ParameterTypeDescription
fg (required)stringForeground color (hex, rgb(), or hsl()).
bg (required)stringBackground color (hex, rgb(), or hsl()).
get_color_shades

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

read-only · idempotent

ParameterTypeDescription
hex (required)stringBase color in hex, rgb(), or hsl().
stepstring: 5 | 10 | 20 | 25Step percentage (default 10).
limitintegerCap on tints/shades (default fills to ~100%).
name_color

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.

read-only · idempotent

ParameterTypeDescription
hex (required)stringA hex color, or several comma-separated (e.g. "#3b82f6,#000,#ff7f50"). Up to 100 at once.
extract_colors

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.

read-only · idempotent · fetches external URLs

ParameterTypeDescription
image_urlstringPublic URL of the image to pull the palette from. Provide either this or image_base64.
image_base64stringBase64-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.
countintegerHow many colors to return (2–16, default 8).
modestringPalette mode: "balanced" (default), "vibrant", or "muted".

Palettes

search_palettes

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

read-only · idempotent

ParameterTypeDescription
namestringFuzzy name match.
tonestring: light | dark | mixedOverall tone.
temperaturestring: warm | cool | neutralColor temperature.
moodstringe.g. pastel, muted, earthy, vibrant, monochrome.
harmonystringe.g. analogous, complementary, triadic, monochromatic, split-complementary, tetradic.
color_countintegerExact number of colors.
tagsarrayTag slugs — ALL must match (AND).
orderstring: newest | popular | nameSort order (default newest).
per_pageintegerResults per page (default 24).
pageintegerPage number.
get_palette

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

read-only · idempotent

ParameterTypeDescription
id (required)integerPalette id.

Code

minify_code

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.

read-only · idempotent

ParameterTypeDescription
code (required)stringSource code to transform.
type (required)string: js | css | html | svg | json | xml | autoSource language, or 'auto' to sniff.
modestring: minify | beautifyDefault minify.
keep_licensebooleanPreserve /*! ... */ license comments when minifying.
detect_code

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

read-only · idempotent

ParameterTypeDescription
code (required)stringSnippet to inspect. Max 200,000 chars.
convert_code

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.

read-only · idempotent

ParameterTypeDescription
code (required)stringSource code to convert.
from (required)stringSource format id (see list_code_converters).
to (required)stringTarget format id.
optionsobjectPer-converter options (see optionsSchema in list_code_converters).
list_code_converters

List available code converters with their from/to ids and per-converter option schemas.

read-only · idempotent

No parameters.

SVG

optimize_svg

Optimize/clean SVG markup (SVGO). Pure markup transformation — nothing is executed or stored. Returns minified SVG plus before/after sizes.

read-only · idempotent

ParameterTypeDescription
svg (required)stringSVG source. Max 500,000 chars.
presetstring: safe | balanced | aggressiveOptimization preset (default balanced).
svg_to_datauri

Encode an SVG (or fetched image) as a CSS-ready data: URI. Provide either raw svg or a url.

read-only · idempotent · fetches external URLs

ParameterTypeDescription
svgstringRaw SVG markup. Mutually exclusive with url.
urlstringPublic image URL the server will fetch.
encodingstring: utf8 | base64Defaults: utf8 for SVG, base64 for raster.
quotesstring: single | doubleQuote style for the data URI (default double).
list_svg_presets

List the available SVG optimization presets and what each one does.

read-only · idempotent

No parameters.

Dev

list_scss_mixins

List the SCSS mixin catalog (id, title, short description), optionally filtered by group or search.

read-only · idempotent

ParameterTypeDescription
groupstringe.g. Bootstrap, Project, Pattern, Placeholder.
searchstringFuzzy substring across id/title/short/desc.
fieldsstring: summary | fullDetail level (default summary).
get_scss_mixin

Get one SCSS mixin by id: full source, parameters and usage example.

read-only · idempotent

ParameterTypeDescription
id (required)stringMixin id (kebab-case), e.g. 'centerer', 'media-breakpoint-up'.
generate_clamp

Calculate a fluid CSS clamp() expression for responsive sizing between two viewport widths. Pure calculation — returns a CSS snippet, writes and stores nothing.

read-only · idempotent

ParameterTypeDescription
min_fs (required)numberMinimum size in px.
max_fs (required)numberMaximum size in px.
min_vwnumberViewport width at min_fs (default 320).
max_vwnumberViewport width at max_fs (default 1440).
unitstring: px | rem | bothOutput unit (default rem).
rootnumberRoot font-size in px for rem conversion (default 16).

About

Built and operated by jinero.online — free design tools for fonts, icons, colors and code. The MCP server is a thin wrapper over the same public REST API: one contract, identical behavior.

This repository holds the public documentation and examples for the server. Issues and feature requests for the tools are welcome here.

Source: README.md at commit d0e5fb8

Tools

22

search_fonts

Search Fonts Tool

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

Parametersnamepagesortlangsorderstylecategoryper_pagevariablemonospacestyles_maxstyles_min

recognize_font

Recognize Font Tool

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).

Parameterstop_kimage_urlimage_base64

get_font

Get Font Tool

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

Parametersslugrequired

get_font_files

Get Font Files Tool

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

Parametersslugrequired

get_fonts_css

Get Fonts Css Tool

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.

Parametersfamilyrequireddisplay

get_font_download_url

Get Font Download Url Tool

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.

Parametersslugrequired

check_contrast

Check Contrast Tool

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

Parametersbgrequiredfgrequired

get_color_shades

Get Color Shades Tool

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

Parametershexrequiredsteplimit

name_color

Name Color Tool

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.

Parametershexrequired

extract_colors

Extract Colors Tool

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.

Parametersmodecountimage_urlimage_base64

search_palettes

Search Palettes Tool

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

Parametersmoodnamepagetagstoneorderharmonyper_pagecolor_counttemperature

get_palette

Get Palette Tool

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

Parametersidrequired

minify_code

Minify Code Tool

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.

Parameterscoderequiredmodetyperequiredkeep_license

detect_code

Detect Code Tool

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

Parameterscoderequired

convert_code

Convert Code Tool

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.

Parameterstorequiredcoderequiredfromrequiredoptions

list_code_converters

List Code Converters Tool

List available code converters with their from/to ids and per-converter option schemas.

Takes no parameters.

optimize_svg

Optimize Svg Tool

Optimize/clean SVG markup (SVGO). Pure markup transformation — nothing is executed or stored. Returns minified SVG plus before/after sizes. Rate limit: 30 calls/min per IP.

Parameterssvgrequiredpreset

svg_to_datauri

Svg To Data Uri Tool

Encode an SVG (or fetched image) as a CSS-ready data: URI. Provide either raw svg or a url. Rate limit: 30 calls/min per IP.

Parameterssvgurlquotesencoding

list_svg_presets

List Svg Presets Tool

List the available SVG optimization presets and what each one does.

Takes no parameters.

list_scss_mixins

List Scss Mixins Tool

List the SCSS mixin catalog (id, title, short description), optionally filtered by group or search.

Parametersgroupfieldssearch

get_scss_mixin

Get Scss Mixin Tool

Get one SCSS mixin by id: full source, parameters and usage example.

Parametersidrequired

generate_clamp

Generate Clamp Tool

Calculate a fluid CSS clamp() expression for responsive sizing between two viewport widths. Pure calculation — returns a CSS snippet, writes and stores nothing.

Parametersrootunitmax_fsrequiredmax_vwmin_fsrequiredmin_vw

Version history

1
  1. v1.4.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts