Jinero
REMOTE · JINERO.ONLINE · SCANNED SEP 20
AI-agent design tools: fonts, font recognition, palettes, color naming, contrast, code, SVG, CSS.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 22 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability79
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2465 tokens (~112/item across 22 items; 22 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Jinero MCP server?
Jinero is a hosted endpoint at https://jinero.online/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · jinero.online
claude mcp add --transport http online-jinero-jinero 'https://jinero.online/mcp'
{
"mcpServers": {
"online-jinero-jinero": {
"url": "https://jinero.online/mcp"
}
}
} {
"servers": {
"online-jinero-jinero": {
"type": "http",
"url": "https://jinero.online/mcp"
}
}
} [mcp_servers.online-jinero-jinero] url = "https://jinero.online/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"online-jinero-jinero": {
"type": "remote",
"url": "https://jinero.online/mcp",
"enabled": true
}
}
} openclaw mcp add online-jinero-jinero --url 'https://jinero.online/mcp' --transport streamable-http
mcp_servers:
online-jinero-jinero:
url: "https://jinero.online/mcp" {
"McpServers": {
"online-jinero-jinero": {
"Transport": "http",
"Url": "https://jinero.online/mcp"
}
}
} assistant mcp add online-jinero-jinero -t streamable-http -u 'https://jinero.online/mcp'
{
"mcpServers": {
"online-jinero-jinero": {
"type": "http",
"url": "https://jinero.online/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 0
- Stability: 0.97 → pass security
- 24 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Aug 26 0
- Tool “recognize_font” rewrote its description, which is the text the model reads security
- 20 Aug 26 0
- Tool “convert_code” rewrote its description, which is the text the model reads security
- Tool “extract_colors” rewrote its description, which is the text the model reads security
- Tool “minify_code” rewrote its description, which is the text the model reads security
- Tool “optimize_svg” rewrote its description, which is the text the model reads security
- Tool “recognize_font” rewrote its description, which is the text the model reads security
- Tool “svg_to_datauri” rewrote its description, which is the text the model reads security
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 10 Aug 26 0
- Server version: 1.3.0 → 1.3.1 functional
- 6 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “convert_code” rewrote its description, which is the text the model reads security
- Tool “detect_code” rewrote its description, which is the text the model reads security
- Tool “extract_colors” rewrote its description, which is the text the model reads security
- Tool “generate_clamp” rewrote its description, which is the text the model reads security
- Tool “minify_code” rewrote its description, which is the text the model reads security
- Tool “optimize_svg” rewrote its description, which is the text the model reads security
- Tool “recognize_font” rewrote its description, which is the text the model reads security
- Schema quality: pass → fail ▼ functional
- Server version: 1.1.0 → 1.3.0 functional
- “extract_colors” added an optional parameter “image_base64” cosmetic
- “recognize_font” added an optional parameter “image_base64” cosmetic
- “extract_colors” reworded the description of “image_url” cosmetic
- “recognize_font” reworded the description of “image_url” cosmetic
- “extract_colors” made “image_url” optional cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://jinero.online/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=jinero.online | CN=YE1,O=Let's Encrypt,C=US | 26 Jul 2026 | 24 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 6dfec84d7473496b3bea155036d25809a12 |
| SANs: *.jinero.online, jinero.online | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of jinero.online. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| online. | present | 30961 | 13 | Verified |
| jinero.online. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://jinero.online/mcp | Verified | 200 | |
| http (plaintext) | http://jinero.online/mcp | HTTPS enforced | 301 | https://jinero.online/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_contrast Check Contrast Tool ~72
Check the WCAG contrast ratio between a foreground and background color, with AA/AAA pass/fail for normal and large text.
| Name | Type | Req | Description |
|---|---|---|---|
| bg | string | yes | Background color (hex, rgb(), or hsl()). |
| fg | string | yes | Foreground color (hex, rgb(), or hsl()). |
No output schema declared.
No examples provided.
convert_code Convert Code Tool ~131
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.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Source code to convert. |
| from | string | yes | Source format id (see list_code_converters). |
| options | object | – | Per-converter options (see optionsSchema in list_code_converters). |
| to | string | yes | Target format id. |
No output schema declared.
No examples provided.
detect_code Detect Code Tool ~49
Detect the language/format of a code snippet. Static analysis only — the snippet is never executed and never stored.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Snippet to inspect. Max 200,000 chars. |
No output schema declared.
No examples provided.
extract_colors Extract Colors Tool ~217
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.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | How many colors to return (2–16, default 8). |
| image_base64 | string | – | 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. |
| image_url | string | – | Public URL of the image to pull the palette from. Provide either this or image_base64. |
| mode | string | – | Palette mode: "balanced" (default), "vibrant", or "muted". |
No output schema declared.
No examples provided.
generate_clamp Generate Clamp Tool ~131
Calculate a fluid CSS clamp() expression for responsive sizing between two viewport widths. Pure calculation — returns a CSS snippet, writes and stores nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| max_fs | number | yes | Maximum size in px. |
| max_vw | number | – | Viewport width at max_fs (default 1440). |
| min_fs | number | yes | Minimum size in px. |
| min_vw | number | – | Viewport width at min_fs (default 320). |
| root | number | – | Root font-size in px for rem conversion (default 16). |
| unit | string | – | Output unit (default rem). |
No output schema declared.
No examples provided.
get_color_shades Get Color Shades Tool ~79
Generate tints and shades for a base color (lighter/darker steps) with hex values.
| Name | Type | Req | Description |
|---|---|---|---|
| hex | string | yes | Base color in hex, rgb(), or hsl(). |
| limit | integer | – | Cap on tints/shades (default fills to ~100%). |
| step | string | – | Step percentage (default 10). |
No output schema declared.
No examples provided.
get_font Get Font Tool ~53
Get full metadata for one font family by slug: styles, weights, axes, license, subsets and download/CSS URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Family slug, e.g. 'inter', 'playfair-display'. |
No output schema declared.
No examples provided.
get_font_download_url Get Font Download Url Tool ~59
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.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Family slug, e.g. 'inter'. |
No output schema declared.
No examples provided.
get_font_files Get Font Files Tool ~57
List every font file (weight/italic/format + direct woff2/ttf URL) for a family — handy for building custom @font-face rules.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Family slug, e.g. 'inter'. |
No output schema declared.
No examples provided.
get_fonts_css Get Fonts Css Tool ~100
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:wght@300..900". Returns CSS text.
| Name | Type | Req | Description |
|---|---|---|---|
| display | string | – | font-display value (default swap). |
| family | string | yes | Family spec, e.g. "inter:wght@400,700" or "inter:wght@300..900". |
No output schema declared.
No examples provided.
get_palette Get Palette Tool ~42
Get one color palette by id: its colors (hex), name/derived title, mood, harmony, temperature and tags.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | Palette id. |
No output schema declared.
No examples provided.
get_scss_mixin Get Scss Mixin Tool ~55
Get one SCSS mixin by id: full source, parameters and usage example.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Mixin id (kebab-case), e.g. 'centerer', 'media-breakpoint-up'. |
No output schema declared.
No examples provided.
list_code_converters List Code Converters Tool ~26
List available code converters with their from/to ids and per-converter option schemas.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_scss_mixins List Scss Mixins Tool ~79
List the SCSS mixin catalog (id, title, short description), optionally filtered by group or search.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | string | – | Detail level (default summary). |
| group | string | – | e.g. Bootstrap, Project, Pattern, Placeholder. |
| search | string | – | Fuzzy substring across id/title/short/desc. |
No output schema declared.
No examples provided.
list_svg_presets List Svg Presets Tool ~22
List the available SVG optimization presets and what each one does.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
minify_code Minify Code Tool ~116
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.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Source code to transform. |
| keep_license | boolean | – | Preserve /*! ... */ license comments when minifying. |
| mode | string | – | Default minify. |
| type | string | yes | Source language, or 'auto' to sniff. |
No output schema declared.
No examples provided.
name_color Name Color Tool ~108
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.
| Name | Type | Req | Description |
|---|---|---|---|
| hex | string | yes | A hex color, or several comma-separated (e.g. "#3b82f6,#000,#ff7f50"). Up to 100 at once. |
No output schema declared.
No examples provided.
optimize_svg Optimize Svg Tool ~75
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.
| Name | Type | Req | Description |
|---|---|---|---|
| preset | string | – | Optimization preset (default balanced). |
| svg | string | yes | SVG source. Max 500,000 chars. |
No output schema declared.
No examples provided.
recognize_font Recognize Font Tool ~278
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).
| Name | Type | Req | Description |
|---|---|---|---|
| image_base64 | string | – | 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. |
| image_url | string | – | 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. |
| top_k | integer | – | Number of font matches to return (3–20, default 8). |
No output schema declared.
No examples provided.
search_fonts Search Fonts Tool ~248
Search the free font catalog by name, category, style tags, language coverage, variable/monospace flags and style count. Returns a paginated list of families.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Comma-separated categories, e.g. 'serif,sans'. |
| langs | string | – | Comma-separated language codes, e.g. 'latin,cyrillic' — ALL must be supported. |
| monospace | boolean | – | Only monospace fonts. |
| name | string | – | Fuzzy name match. |
| order | string | – | Sort field, default 'likes'. |
| page | integer | – | Page number. |
| per_page | integer | – | Results per page (default 24). |
| sort | string | – | Sort direction. |
| style | string | – | 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. |
| styles_max | integer | – | Maximum number of styles. |
| styles_min | integer | – | Minimum number of styles. |
| variable | boolean | – | Only variable fonts. |
No output schema declared.
No examples provided.
search_palettes Search Palettes Tool ~178
Search the color-palette catalog by name, tone, temperature, mood, harmony, exact color count and tags. Returns a paginated list.
| Name | Type | Req | Description |
|---|---|---|---|
| color_count | integer | – | Exact number of colors. |
| harmony | string | – | e.g. analogous, complementary, triadic, monochromatic, split-complementary, tetradic. |
| mood | string | – | e.g. pastel, muted, earthy, vibrant, monochrome. |
| name | string | – | Fuzzy name match. |
| order | string | – | Sort order (default newest). |
| page | integer | – | Page number. |
| per_page | integer | – | Results per page (default 24). |
| tags | array | – | Tag slugs — ALL must match (AND). |
| temperature | string | – | Color temperature. |
| tone | string | – | Overall tone. |
No output schema declared.
No examples provided.
svg_to_datauri Svg To Data Uri Tool ~108
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.
| Name | Type | Req | Description |
|---|---|---|---|
| encoding | string | – | Defaults: utf8 for SVG, base64 for raster. |
| quotes | string | – | Quote style for the data URI (default double). |
| svg | string | – | Raw SVG markup. Mutually exclusive with url. |
| url | string | – | Public image URL the server will fetch. |
No output schema declared.
No examples provided.
What is the Jinero MCP server?
Jinero is an MCP server listed in the public MCP registry as online.jinero/jinero. AI-agent design tools: fonts, font recognition, palettes, color naming, contrast, code, SVG, CSS. This page covers its hosted endpoint (https://jinero.online/mcp).
Is the Jinero MCP server safe to use?
Jinero scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Jinero MCP server expose?
Jinero exposes 22 tools: search_fonts, recognize_font, get_font, get_font_files, get_fonts_css, and 17 more. Their descriptions and schemas cost roughly 2,283 tokens of context every time the server is loaded.
Does the Jinero MCP server require authentication?
No. We connected to Jinero without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Jinero MCP server still maintained?
Jinero is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.