mcpField
J
Jinero

Jinero

远程服务
jinero.online媒体与设计12 周前更新

关于 Jinero

Jinero 是面向 AI Agent 的托管 MCP 服务,提供字体、颜色、调色板、代码、SVG 和 SCSS 等只读设计工具。工具分析或转换提交的数据,不会执行或存储代码和 SVG。

主要功能

  1. 01搜索字体并识别图片中的字体
  2. 02生成字体 CSS 并查询文件信息
  3. 03分析颜色并检查 WCAG 对比度
  4. 04搜索调色板并提取图片颜色
  5. 05压缩、转换和检测代码格式
  6. 06优化 SVG 并提供 SCSS 辅助工具

适用场景

  1. 01根据截图查找字体
  2. 02检查颜色对比度并构建调色板
  3. 03在 Agent 工作流中转换代码或优化 SVG

MCP 相关

Jinero 通过托管的 Streamable HTTP MCP 端点提供 22 个只读且幂等的工具。MCP 客户端无需身份验证即可使用字体、颜色、调色板、代码、SVG 和 SCSS 工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://jinero.online/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

22
参数类型必填说明
namestring否模糊名称匹配。
pageinteger否页码。
sortenum否排序方向。asc | desc
langsstring否逗号分隔的语言代码,例如 'latin,cyrillic'——必须全部受支持。
orderenum否排序字段,默认值为 'likes'。likes | downloads | views | name | created_at
stylestring否逗号分隔的样式标签,例如 'handwriting,condensed'——必须全部匹配。可选值:handwriting、script、display、slab、rounded、condensed、expanded、stencil、pixel、blackletter、outline、retro。
categorystring否逗号分隔的类别,例如 'serif,sans'。
per_pageinteger否每页结果数(默认值为 24)。
variableboolean否仅限可变字体。
monospaceboolean否仅限等宽字体。
styles_maxinteger否样式数量上限。
styles_mininteger否样式数量下限。

详细介绍

Jinero MCP 服务

jinero-mcp MCP server smithery badge

online.jinero/jinero — 托管的远程 Model Context Protocol 服务,为 AI Agent(Claude、Cursor、Cline、Zed、Gemini CLI……)提供 jinero.online 的设计工具:22 个只读工具,涵盖字体(搜索、CSS、文件、从图像识别)、颜色计算(WCAG 对比度、色阶、命名、调色板提取)、精选调色板、代码压缩/转换/检测、SVG 优化和 SCSS 辅助工具。

  • 端点:https://jinero.online/mcp(Streamable HTTP)
  • **身份验证:**无 — 匿名且免费,每个 IP 每分钟限流 60 次请求(此外,较重的工具还有各自的限制,见下文)
  • **注册表:**官方 MCP 注册表中的 online.jinero/jinero
  • 清单:/.well-known/mcp/server.json
  • 用户文档:jinero.online/dev/mcp — 完整参考文档,包含响应示例

连接

Claude Code(CLI):

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

Claude Desktop / Cursor / Cline(配置):

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

较旧的纯 stdio 客户端可使用 npx mcp-remote https://jinero.online/mcp 建立桥接。

信任与安全

每个工具都声明了 MCP 注解,可在 tools/list 中验证:

  • 所有 22 个工具均为 readOnlyHint: true 和 idempotentHint: true;
  • 提交的代码/SVG 只会作为文本解析和转换 — 绝不会执行,也绝不会存储;
  • 上传的图像(字体识别、颜色提取)会在内存中处理并立即删除;
  • 只有三个工具会获取用户提供的 URL(recognize_font、extract_colors、svg_to_datauri)— 标记为 openWorldHint: true,并采用防 SSRF、限制大小的获取方式。

**给自动化风险扫描器的说明:**某些目录会根据动词将 minify_code、convert_code、generate_clamp 或 recognize_font 归类为“写入”工具。它们都是纯函数 — 输入文本/数学运算,输出文本;不会修改服务端或调用方的任何内容。权威依据是 22 个工具各自在 tools/list 中声明的 readOnlyHint: true 注解(已快照保存于 tools.json)。

速率限制

整个端点每个 IP 每分钟最多处理 60 次请求。此外,计算量较大的工具还会实施各自的每工具、每 IP 限制(服务 v1.4.0+);超出限制时会返回明确的工具错误和重试提示 — 每项限制也会在工具描述中说明:

工具限制原因
recognize_font5/minCNN 模型推理
extract_colors10/min图像分析子进程
minify_code、convert_code、optimize_svg30/min解析器子进程
svg_to_datauri30/min可能获取外部 URL

测试与 CI

tests/tools.test.mjs 会针对在线端点测试所有已声明的工具(零依赖,Node 20+):

npm test

CI 会在每次推送和每周运行测试套件([工作流](.github/workflows/test.yml);tools.json 是在线 tools/list 的已提交快照,包含架构和注解(运行 npm run update-snapshot 可刷新)。

无需客户端即可试用

# List all tools
curl -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"}'

更多可运行示例见 examples/。

工具参考

根据当前服务版本在线返回的 tools/list 生成。

字体
search_fonts

按名称、类别、样式标签、语言覆盖范围、可变字体/等宽字体标记和样式数量搜索免费字体目录。返回分页的字体系列列表。

只读 · 幂等

ParameterTypeDescription
namestring模糊匹配名称。
categorystring以逗号分隔的类别,例如 'serif,sans'。
langsstring以逗号分隔的语言代码,例如 'latin,cyrillic'——必须全部支持。
stylestring以逗号分隔的样式标签,例如 'handwriting,condensed'——必须全部匹配。可选值:handwriting、script、display、slab、rounded、condensed、expanded、stencil、pixel、blackletter、outline、retro。
variableboolean仅限可变字体。
monospaceboolean仅限等宽字体。
styles_mininteger样式数量下限。
styles_maxinteger样式数量上限。
orderstring: likes | downloads | views | name | created_at排序字段,默认值为 'likes'。
sortstring: asc | desc排序方向。
per_pageinteger每页结果数(默认值为 24)。
pageinteger页码。
recognize_font

识别图像中使用的字体。由我们自有的 CNN 嵌入模型提供支持,该模型基于 jinero 字体目录训练而成——它根据视觉形状/风格匹配字体,因此无需 OCR,也无需文本(支持拉丁字母和西里尔字母)。发送一行文字的紧密裁剪图像,可使用 image_url(公开 URL)或 image_base64(base64/data-URI,例如本地截图)。图像在内存中处理后立即删除——绝不存储。返回视觉上最相似的字体系列及其分数。速度快(约 200 ms)。

只读 · 幂等 · 获取外部 URL

ParameterTypeDescription
image_urlstring图像的公开 URL——图像应为一行文字的紧密裁剪图。提供此参数或 image_base64。通过视觉形状进行识别(无需 OCR/文本);支持拉丁字母和西里尔字母。
image_base64stringBase64 编码的图像(原始 base64 或 data:image/...;base64 URI),解码后最大 8 MB——使用此参数发送本地文件/截图,无需托管。提供此参数或 image_url。
top_kinteger返回的字体匹配数量(3–20,默认值为 8)。
get_font

通过 slug 获取一个字体系列的完整元数据:样式、字重、轴、许可证、子集以及下载/CSS URL。

只读 · 幂等

ParameterTypeDescription
slug (required)string字体系列 slug,例如 'inter'、'playfair-display'。
get_font_files

列出某字体系列的所有字体文件(字重/斜体/格式及直接 woff2/ttf URL)——便于构建自定义 @font-face 规则。

只读 · 幂等

ParameterTypeDescription
slug (required)string字体系列 slug,例如 'inter'。
get_fonts_css

为字体系列规格生成可直接使用的 @font-face CSS(兼容 Google Fonts),例如 "inter:wght@400,700" 或可变范围 "inter:[email protected]"。返回 CSS 文本。

只读 · 幂等

ParameterTypeDescription
family (required)string字体系列规格,例如 "inter:wght@400,700" 或 "inter:[email protected]"。
displaystring: swap | auto | block | fallback | optionalfont-display 值(默认值为 swap)。
get_font_download_url

返回字体系列的直接 ZIP 下载 URL(包含所有样式和可直接使用的 fonts.css)。不会下载——将 URL 提供给用户,或单独获取该 URL。

只读 · 幂等

ParameterTypeDescription
slug (required)string字体系列 slug,例如 'inter'。
颜色
check_contrast

检查前景色与背景色之间的 WCAG 对比度,并判断普通文本和大文本是否通过 AA/AAA 标准。

只读 · 幂等

参数类型描述
fg (required)string前景色(hex、rgb() 或 hsl())。
bg (required)string背景色(hex、rgb() 或 hsl())。
get_color_shades

为基础颜色生成色调和阴影(逐步变浅/变深),并提供 hex 值。

只读 · 幂等

参数类型描述
hex (required)stringhex、rgb() 或 hsl() 格式的基础颜色。
stepstring: 5 | 10 | 20 | 25步进百分比(默认值为 10)。
limitinteger色调/阴影数量上限(默认填充至约 100%)。
name_color

获取一个或多个颜色最接近的易读名称。传入单个 hex 值或多个逗号分隔的值(例如 "#3b82f6,#000,#ff7f50");返回每个输入颜色及其最接近的颜色名称、参考 hex 值、是否完全匹配的标记和感知距离。

只读 · 幂等

参数类型描述
hex (required)string一个 hex 颜色值,或多个逗号分隔的值(例如 "#3b82f6,#000,#ff7f50")。一次最多 100 个。
extract_colors

从图像中提取主色调色板。传入公开的 image_url 或 image_base64(base64/数据 URI,例如本地屏幕截图)。图像仅在内存中处理,绝不会存储。每种颜色都会返回其 hex、rgb、hsl、在图像中的占比以及最接近的颜色名称,一次调用即可获得带名称的调色板。

只读 · 幂等 · 获取外部 URL

参数类型描述
image_urlstring用于提取调色板的图像公开 URL。提供此项或 image_base64。
image_base64stringBase64 编码的图像(原始 base64 或 data:image/...;base64 URI),解码后最大 10 MB — 可用此项发送无需托管的本地文件/屏幕截图。提供此项或 image_url。
countinteger返回的颜色数量(2–16,默认值为 8)。
modestring调色板模式:"balanced"(默认)、"vibrant" 或 "muted"。
调色板
search_palettes

按名称、色调、色温、氛围、色彩和谐关系、确切颜色数量及标签搜索调色板目录。返回分页列表。

只读 · 幂等

参数类型描述
namestring模糊名称匹配。
tonestring: light | dark | mixed整体色调。
temperaturestring: warm | cool | neutral色温。
moodstring例如 pastel、muted、earthy、vibrant、monochrome。
harmonystring例如 analogous、complementary、triadic、monochromatic、split-complementary、tetradic。
color_countinteger确切的颜色数量。
tagsarray标签 slug — 必须全部匹配(AND)。
orderstring: newest | popular | name排序方式(默认 newest)。
per_pageinteger每页结果数(默认值为 24)。
pageinteger页码。
get_palette

按 id 获取一个调色板:其颜色(hex)、名称/派生标题、氛围、色彩和谐关系、色温和标签。

只读 · 幂等

参数类型描述
id (required)integer调色板 id。
代码
minify_code

压缩或美化 JS、CSS、HTML、SVG、JSON 或 XML 文本。将 type 设为 auto 可自动识别语言。代码只会被解析并重新输出 — 绝不会执行或存储。

只读 · 幂等

参数类型描述
code (required)string要转换的源代码。
type (required)string: js | css | html | svg | json | xml | auto源语言,或使用 'auto' 自动识别。
modestring: minify | beautify默认值为 minify。
keep_licenseboolean压缩时保留 /*! ... */ 许可证注释。
detect_code

检测代码片段的语言/格式。仅进行静态分析——不会执行或存储代码片段。

只读 · 幂等

参数类型描述
code (必填)string要检查的代码片段。最多 200,000 个字符。
convert_code

在文本格式之间转换代码(例如 JSON↔YAML、CSS↔SCSS)。仅进行文本转换:解析并重新序列化源代码,不会执行或存储。使用 list_code_converters 获取有效的 from/to ID 和各转换器的选项。

只读 · 幂等

参数类型描述
code (必填)string要转换的源代码。
from (必填)string源格式 ID(参见 list_code_converters)。
to (必填)string目标格式 ID。
optionsobject各转换器的选项(参见 list_code_converters 中的 optionsSchema)。
list_code_converters

列出可用的代码转换器及其 from/to ID 和各转换器的选项架构。

只读 · 幂等

无参数。

SVG
optimize_svg

优化/清理 SVG 标记(SVGO)。仅进行标记转换——不会执行或存储任何内容。返回压缩后的 SVG 以及转换前后的大小。

只读 · 幂等

参数类型描述
svg (必填)stringSVG 源代码。最多 500,000 个字符。
presetstring: safe | balanced | aggressive优化预设(默认值为 balanced)。
svg_to_datauri

将 SVG(或获取的图像)编码为适用于 CSS 的 data: URI。请提供原始 svg 或 url。

只读 · 幂等 · 获取外部 URL

参数类型描述
svgstring原始 SVG 标记。不能与 url 同时使用。
urlstring服务将获取的公开图像 URL。
encodingstring: utf8 | base64默认值:SVG 使用 utf8,光栅图像使用 base64。
quotesstring: single | doubledata URI 的引号样式(默认值为 double)。
list_svg_presets

列出可用的 SVG 优化预设及其功能。

只读 · 幂等

无参数。

开发
list_scss_mixins

列出 SCSS mixin 目录(ID、标题、简短描述),可按分组或搜索内容进行筛选。

只读 · 幂等

参数类型描述
groupstring例如 Bootstrap、Project、Pattern、Placeholder。
searchstring在 ID/标题/简短描述/描述中模糊匹配子字符串。
fieldsstring: summary | full详细程度(默认值为 summary)。
get_scss_mixin

按 ID 获取一个 SCSS mixin:完整源码、参数和用法示例。

只读 · 幂等

参数类型描述
id (必填)stringMixin ID(kebab-case),例如 'centerer'、'media-breakpoint-up'。
generate_clamp

计算用于在两个视口宽度之间实现响应式尺寸的流体 CSS clamp() 表达式。仅进行计算——返回 CSS 代码片段,不会写入或存储任何内容。

只读 · 幂等

参数类型描述
min_fs (必填)number最小尺寸,单位为 px。
max_fs (必填)number最大尺寸,单位为 px。
min_vwnumber对应 min_fs 的视口宽度(默认值为 320)。
max_vwnumber对应 max_fs 的视口宽度(默认值为 1440)。
unitstring: px | rem | both输出单位(默认值为 rem)。
rootnumberrem 转换所用的根字号,单位为 px(默认值为 16)。

关于

由 jinero.online 构建并运营——提供字体、图标、颜色和代码相关的免费设计工具。MCP 服务是同一 公开 REST API 的轻量封装:使用同一份契约,行为完全一致。

此代码库包含该服务的公开文档和示例。欢迎在此提交有关工具的问题和功能请求。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。