Jinero
Server Details
AI-agent design tools: fonts, font recognition, palettes, color naming, contrast, code, SVG, CSS.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 15 of 15 tools scored. Lowest: 3.2/5.
Each tool has a clearly distinct purpose. Color tools target different aspects (contrast, extraction, shades, naming), code tools cover conversion, detection, and minification, and font/palette tools are separate and well-defined.
All tool names follow a consistent verb_noun pattern with underscores (e.g., check_contrast, extract_colors, search_fonts), making the API predictable and easy to navigate.
15 tools is within the ideal range for a focused server. The count covers two domains (code utilities and design utilities) without being overwhelming or sparse.
The tool set covers core operations for code (conversion, detection, minification) and design (colors, fonts, palettes) comprehensively. Minor gaps exist, such as a dedicated color format conversion tool, but overall the surface is well-rounded.
Available Tools
15 toolscheck_contrastCheck Contrast ToolAInspect
Check the WCAG contrast ratio between a foreground and background color, with AA/AAA pass/fail for normal and large text.
| Name | Required | Description | Default |
|---|---|---|---|
| bg | Yes | Background color (hex, rgb(), or hsl()). | |
| fg | Yes | Foreground color (hex, rgb(), or hsl()). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior fully. It states the ratio and pass/fail, but lacks details on output format, error handling for invalid colors, or edge cases. Adequate but could be more thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 18 words, front-loaded with key purpose. No wasted words; highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description covers the main return (ratio and pass/fail). For a simple tool, this is nearly complete, though output format specifics are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described in the schema. The description adds no new semantic info beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it checks WCAG contrast ratio between two colors and reports AA/AAA pass/fail for normal and large text. No other sibling tool does this, so it is well-distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies use for checking contrast compliance. While no explicit when-not or alternatives are given, there is no other contrast-checking sibling, so the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_codeConvert Code ToolAInspect
Convert code between formats (e.g. JSON↔YAML, CSS↔SCSS). Use list_code_converters for valid from/to ids and per-converter options.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target format id. | |
| code | Yes | Source code to convert. | |
| from | Yes | Source format id (see list_code_converters). | |
| options | No | Per-converter options (see optionsSchema in list_code_converters). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description implies a safe read-like operation ('convert') but does not disclose potential limitations (e.g., code size limits, error handling). Adequate for a straightforward conversion but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main purpose, no wasted words. Every sentence serves a clear purpose: defining the action and providing usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema, but the conversion nature makes output predictable. Provides enough context via examples and reference to list_code_converters. Complete for a conversion tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds extra value by noting the need to check list_code_converters for valid IDs and options, which supplements the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states it converts code between formats with concrete examples (JSON↔YAML, CSS↔SCSS) and directs to list_code_converters for valid IDs. This clearly distinguishes it from sibling tools, none of which perform format conversion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use list_code_converters for valid from/to IDs and per-converter options, giving the agent clear guidance on prerequisite actions. Does not specify when not to use, but the context is sufficient for typical usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_codeDetect Code ToolBInspect
Detect the language/format of a code snippet.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Snippet to inspect. Max 200,000 chars. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With empty annotations, the description must disclose all behaviors, but it only states the core function without mentioning return format, limitations, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no excess words, front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is adequate but lacks details about output format or successful detection criteria.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as the only parameter 'code' is described; the tool description adds no extra meaning beyond the schema's parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'detect' and resource 'language/format of a code snippet', clearly differentiating it from sibling tools like convert_code and minify_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; no usage context or conditional advice provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_colorsExtract Colors ToolAInspect
Extract a dominant-color palette from an image URL. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Palette mode: "balanced" (default), "vibrant", or "muted". | |
| count | No | How many colors to return (2–16, default 8). | |
| image_url | Yes | Public URL of the image to pull the palette from. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description carries full burden. It discloses output details (hex, rgb, hsl, share, color name) but lacks behavioral traits like whether it's readonly, destructive, or requires authentication. No contradictions with annotations since they are empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and key details. Every sentence adds value: first sentence states what the tool does, second specifies return information. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description must explain return values, which it does thoroughly. It covers all inputs (image_url, mode, count) and output details. Given 3 parameters and simple expectations, the description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (descriptions for all 3 params), so baseline is 3. The description adds value by explaining the output structure ('comes back with its hex, rgb, hsl, share of the image, and the closest human color name'), which helps understand parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Extract a dominant-color palette from an image URL', specifying the verb 'extract' and resource 'dominant-color palette'. It distinguishes from sibling tools like 'get_palette' and 'search_palettes' by focusing on extraction from an image URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when extracting a palette from an image URL, but provides no explicit guidance on when to use this tool vs alternatives (e.g., 'get_palette' for predefined palettes, 'search_palettes' for searching). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_color_shadesGet Color Shades ToolAInspect
Generate tints and shades for a base color (lighter/darker steps) with hex values.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | Base color in hex, rgb(), or hsl(). | |
| step | No | Step percentage (default 10). | |
| limit | No | Cap on tints/shades (default fills to ~100%). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only briefly mentions generating tints/shades with hex values. It does not disclose behavior such as error handling for invalid inputs, the number of tints/shades generated (default fills to ~100% based on step), or the exact format of the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 14-word sentence that is concise and front-loaded with the verb 'Generate'. It efficiently conveys the core purpose, though it could include a bit more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 documented parameters and no output schema, the description is partially complete. It specifies the return includes hex values but does not describe the output structure (e.g., order, separate arrays for tints/shades). For a simple tool this may suffice, but more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates tints and shades (lighter/darker steps) for a base color and returns hex values. This distinguishes it from sibling tools like get_palette (which generates palettes from images) or convert_code (which converts color formats).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating lighter/darker color variations but provides no explicit guidance on when to use this tool versus alternatives like get_palette or when not to use it (e.g., for color contrast calculations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fontGet Font ToolAInspect
Get full metadata for one font family by slug: styles, weights, axes, license, subsets and download/CSS URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Family slug, e.g. 'inter', 'playfair-display'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so description fully discloses behavior: returns comprehensive metadata. No mention of side effects or auth, but as a read tool it's sufficient. Clearly states output contents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, well-structured sentence front-loading the purpose. No redundant words, efficiently conveys all necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description fully covers what the agent needs to know: what it returns and how to specify the font. Complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description's example (e.g., 'inter', 'playfair-display') adds marginal value beyond the schema's description. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves full metadata for a font family by slug, listing specific data types (styles, weights, axes, license, subsets, URLs). Differentiates from sibling tools like search_fonts, get_font_files, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when you have a specific slug, but no explicit guidance on when to use this tool versus alternatives like search_fonts or get_fonts_css. Lacks when-not or contextual conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_font_download_urlGet Font Download Url ToolAInspect
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 | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Family slug, e.g. 'inter'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It clearly discloses the key behavioral trait: the tool returns a URL and does not perform a download. This is critical for an agent to understand it should not expect the file content directly. No further behaviors (e.g., side effects, auth) are expected for this simple read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, zero wasted words. The first sentence immediately states the core action and output. The second sentence clarifies an important behavioral boundary. It is perfectly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and no annotations, the description is complete. It covers the output (URL), contents of the ZIP, what not to expect, and the required input. No additional information is necessary for an agent to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for the 'slug' parameter. The description adds value by providing an example ('inter') and clarifying it is a 'family slug', which reinforces the schema and gives the agent confidence in parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Return' and the specific resource 'direct ZIP download URL for a font family', including what the ZIP contains (all styles + fonts.css). It distinguishes itself from downloading by explicitly saying 'Does NOT download', leaving no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on what the tool does (return a URL) and what it does not do (download). It instructs the user to 'hand the URL to the user or fetch it separately'. However, it does not explicitly mention when to use this tool over siblings like 'get_font_files' or 'get_fonts_css', which might share similar inputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_font_filesGet Font Files ToolAInspect
List every font file (weight/italic/format + direct woff2/ttf URL) for a family — handy for building custom @font-face rules.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Family slug, e.g. 'inter'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so description carries full burden. It implies a read-only listing operation, which is sufficient. However, it does not disclose any additional behavioral traits (e.g., pagination, rate limits, authentication), leaving some uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundant words. Information is front-loaded and every word contributes meaning. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description fully covers its purpose, inputs, and output behavior (list of files with URLs). No additional context is necessary for proper use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (only one parameter 'slug' with its description). The tool description does not add any new meaning beyond what the schema provides for that parameter, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists every font file (weight/italic/format with URLs) for a family, distinguishing it from sibling tools like get_font (single family details) or get_font_download_url (single URL). Verb 'List' and resource 'font files' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description specifies a use case ('handy for building custom @font-face rules'), which guides when to use it. However, it does not explicitly state when not to use or compare directly with alternatives like get_fonts_css, which also provides CSS rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fonts_cssGet Fonts Css ToolAInspect
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 | Required | Description | Default |
|---|---|---|---|
| family | Yes | Family spec, e.g. "inter:wght@400,700" or "inter:wght@300..900". | |
| display | No | font-display value (default swap). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description clearly states the output is CSS text. It does not mention side effects, which is acceptable for a generation tool. The behavior is sufficiently disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with an example, no unnecessary words. Front-loads the purpose and provides immediate clarification with examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-param tool with no output schema, the description explains the input format and output (CSS text) completely. No additional context needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%. The description provides the same example as the schema, adding no extra information beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates @font-face CSS for a family spec, with examples and compatibility mention. It is distinct from sibling tools like get_font or get_font_download_url which return other formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when CSS is needed) but does not explicitly compare to sibling tools or specify when not to use. The context is present, but no exclusion or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_paletteGet Palette ToolAInspect
Get one color palette by id: its colors (hex), name/derived title, mood, harmony, temperature and tags.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Palette id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description must carry full behavioral disclosure. It accurately describes a read operation ('Get one color palette') with no side effects. However, it does not mention error conditions or authentication requirements, which is acceptable for a simple get-by-id tool but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the action and what is returned. Every element adds value, and there is no redundancy or wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description sufficiently explains the return fields and purpose. It lacks details on error handling or pagination, but these are not critical for such a lookup; still, minor gaps prevent a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value over the schema's param description ('Palette id.'). The description restates 'by id' but does not elaborate on format, constraints, or usage, meeting the baseline but not exceeding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a single color palette by ID and lists the specific fields returned (colors, name/title, mood, harmony, temperature, tags). This verb+resource with explicit output fields distinguishes it from sibling tools like search_palettes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies using the tool when you have a specific palette ID, but it does not explicitly state when to use this tool vs. alternatives like search_palettes. No when-not-to-use or prerequisite guidance is provided, leaving the agent to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
minify_codeMinify Code ToolAInspect
Minify or beautify JS, CSS, HTML, SVG, JSON or XML. Set type=auto to sniff the language.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Source code to transform. | |
| mode | No | Default minify. | |
| type | Yes | Source language, or 'auto' to sniff. | |
| keep_license | No | Preserve /*! ... */ license comments when minifying. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states the transformation behavior but lacks details on side effects, output format, error handling, or authorization needs. The behavior is clear but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no redundant information, and front-loads the core purpose. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does not explain the return value (expected to be the transformed code). The tool has moderate complexity with 4 parameters, and the description covers usage but omits details on limitations, errors, or post-conditions. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by suggesting to set 'type=auto' for language sniffing, which supplements the schema. However, it does not significantly enhance understanding beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action (minify or beautify) and the supported code languages (JS, CSS, HTML, SVG, JSON, XML). It also mentions the 'type=auto' feature to sniff language, which differentiates it from sibling tools like 'convert_code' or 'detect_code'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a guideline to use 'type=auto' for language sniffing, but does not explicitly compare with sibling tools or specify when to choose this tool over others. There is no mention of prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
name_colorName Color ToolAInspect
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 | Required | Description | Default |
|---|---|---|---|
| hex | Yes | A hex color, or several comma-separated (e.g. "#3b82f6,#000,#ff7f50"). Up to 100 at once. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With empty annotations, the description carries full burden. It discloses that the tool accepts up to 100 comma-separated hex values and returns each with a name, reference hex, exact-match flag, and perceptual distance. No side effects or permissions info, but sufficient for a read-only naming tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second elaborates input and output. No wasted words, front-loaded, and structured logically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains return values (name, reference hex, exact-match flag, perceptual distance). Parameter count is low, and all necessary information for an AI agent to use the tool correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'hex' parameter in detail (format, comma-separated, up to 100). The description adds no new parameter information but reinforces the format. Baseline 3 as schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the closest human-readable name for one or more colors.' It specifies the verb 'Get', the resource 'human-readable name for colors', and distinguishes from siblings (e.g., check_contrast, get_color_shades) by focusing on naming rather than contrast or shades.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a color name is needed, but does not explicitly state when to use this tool versus alternatives like check_contrast or extract_colors. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recognize_fontRecognize Font ToolAInspect
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). Pass a public image URL of a tight crop of one line of text; returns the most visually similar font families with scores. Fast (~200 ms).
| Name | Required | Description | Default |
|---|---|---|---|
| top_k | No | Number of font matches to return (3–20, default 8). | |
| image_url | No | Public URL of an image — a tight crop of one line of text. Recognition is by visual shape (no OCR/text needed); Latin & Cyrillic supported. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and provides key behavioral details: uses custom CNN, no OCR, supports Latin/Cyrillic, requires a tight crop of one line, returns top font families with scores, and is fast (~200 ms). It does not disclose limitations like reliance on the jinero catalog or potential inaccuracies, but overall is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first sentence states the core purpose, second sentence provides essential details (model, input requirements, output, speed). It is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains input requirements, model behavior, and output (font families with scores). It lacks a detailed return format description but is sufficient given no output schema. It does not explicitly compare with sibling tools, but the purpose is clear enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema: for image_url, it explains the 'tight crop of one line' requirement and that recognition is visual (no OCR); for top_k, it reiterates the range and default. This helps the agent understand format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear verb+resource: 'Identify which font is used in an image.' It specifies the technique (CNN model, no OCR), supported scripts (Latin, Cyrillic), and input requirements (tight crop of one line). This distinguishes it from sibling tools like search_fonts (which likely searches by name) and get_font (which retrieves details).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does and its input requirements, but does not explicitly state when to use this tool versus alternatives like search_fonts or extract_colors. It implies usage for image-based font identification but lacks when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fontsSearch Fonts ToolAInspect
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 | Required | Description | Default |
|---|---|---|---|
| name | No | Fuzzy name match. | |
| page | No | Page number. | |
| sort | No | Sort direction. | |
| langs | No | Comma-separated language codes, e.g. 'latin,cyrillic' — ALL must be supported. | |
| order | No | Sort field, default 'likes'. | |
| style | No | 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 | No | Comma-separated categories, e.g. 'serif,sans'. | |
| per_page | No | Results per page (default 24). | |
| variable | No | Only variable fonts. | |
| monospace | No | Only monospace fonts. | |
| styles_max | No | Maximum number of styles. | |
| styles_min | No | Minimum number of styles. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions the tool is a search returning a paginated list, implying read-only behavior, but does not explicitly state that no modifications occur, rate limits, or authentication needs. This is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first lists what it searches, the second states the return type. Every word is necessary; there is no redundancy or wasted space. It is well-structured and front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, no output schema, no annotations), the description provides a high-level overview but lacks details on how filters combine (AND logic), default sorting, or the exact return structure beyond 'list of families.' The schema fills some gaps, but for a search tool, more context on result format and behavior would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context that the search is over a 'free font catalog' and returns 'families', but it does not add meaning beyond what the schema already provides for each parameter. The schema descriptions are thorough, so the description's additional value is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'search[es] the free font catalog' by multiple criteria (name, category, style tags, etc.) and returns a paginated list of families. It uses a specific verb ('Search') and identifies the resource ('free font catalog'), making the purpose unambiguous and distinct from sibling tools like get_font or search_palettes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives such as get_font (for retrieving a specific font) or search_palettes (for palettes). The description only states what the tool does, not when it should or should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_palettesSearch Palettes ToolBInspect
Search the color-palette catalog by name, tone, temperature, mood, harmony, exact color count and tags. Returns a paginated list.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | e.g. pastel, muted, earthy, vibrant, monochrome. | |
| name | No | Fuzzy name match. | |
| page | No | Page number. | |
| tags | No | Tag slugs — ALL must match (AND). | |
| tone | No | Overall tone. | |
| order | No | Sort order (default newest). | |
| harmony | No | e.g. analogous, complementary, triadic, monochromatic, split-complementary, tetradic. | |
| per_page | No | Results per page (default 24). | |
| color_count | No | Exact number of colors. | |
| temperature | No | Color temperature. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool 'Returns a paginated list', which is behavioral. However, it does not mention authentication, rate limits, non-destructive nature, or any side effects. Pagination is a useful but minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence to list filters, one sentence to explain pagination. No extraneous words. The structure is front-loaded with the purpose, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters, no output schema, and no annotations, the description is too minimal. It does not describe the response format (e.g., fields returned per palette), pagination metadata (e.g., total count), or default ordering (though implied by schema default). This leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds no new semantics beyond the schema. Baseline of 3 is appropriate; the description lists searchable fields (repeated from schema) and mentions pagination, but does not clarify value formats, constraints, or relationships between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'color-palette catalog'. It lists specific searchable dimensions (name, tone, temperature, mood, harmony, color count, tags), making the purpose distinct from siblings like get_palette (which retrieves a single palette by ID) and extract_colors (which extracts colors from an image).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives (e.g., get_palette for specific palettes, extract_colors for extraction). It only lists capabilities without inclusion/exclusion criteria, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!