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):
Claude Desktop / Cursor / Cline (config):
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:
Tests & CI
tests/tools.test.mjs exercises every declared tool against the live endpoint (zero dependencies, Node 20+):
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
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
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
get_font
Get full metadata for one font family by slug: styles, weights, axes, license, subsets and download/CSS URLs.
read-only · idempotent
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
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
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
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
get_color_shades
Generate tints and shades for a base color (lighter/darker steps) with hex values.
read-only · idempotent
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
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
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
get_palette
Get one color palette by id: its colors (hex), name/derived title, mood, harmony, temperature and tags.
read-only · idempotent
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
detect_code
Detect the language/format of a code snippet. Static analysis only — the snippet is never executed and never stored.
read-only · idempotent
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
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
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
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
get_scss_mixin
Get one SCSS mixin by id: full source, parameters and usage example.
read-only · idempotent
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
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.