Skip to main content
Glama

Server Details

Free design tools for AI agents: fonts, palettes, contrast, code, SVG and CSS utilities.

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 3.8/5 across 15 of 15 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation5/5

Tools are clearly separated into three distinct domains: color/contrast/palette, code transformation, and font/SVG utilities. Within each group, each tool has a unique purpose with no overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., check_contrast, get_font, minify_code), making the set predictable and easy to navigate for an agent.

Tool Count5/5

With 15 tools spanning three utility domains, the count is well-scoped. Each tool serves a specific function without excessive granularity or gaps.

Completeness4/5

The tool surface covers core operations for each domain: colors (contrast, shades, palettes), code (conversion, detection, minification, SVG optimization), and fonts (search, metadata, download URLs, CSS generation). Minor gaps exist (e.g., no palette creation/modification), but the overall coverage is strong.

Available Tools

15 tools
check_contrastCheck Contrast ToolAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
bgYesBackground color (hex, rgb(), or hsl()).
fgYesForeground color (hex, rgb(), or hsl()).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions AA/AAA pass/fail, adding behavioral context, but does not disclose error handling, color validation, or other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the main action, containing no waste or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool without output schema, the description covers the key output (AA/AAA pass/fail) and input formats, though it could mention return value structure or error behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter described. The description adds no additional parameter meaning beyond what the schema provides, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks the WCAG contrast ratio between a foreground and background color, including AA/AAA pass/fail for normal and large text. This specific verb-resource combination effectively distinguishes it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking contrast but provides no explicit guidance on when to use this tool versus alternatives, nor any conditions where it 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.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget format id.
codeYesSource code to convert.
fromYesSource format id (see list_code_converters).
optionsNoPer-converter options (see optionsSchema in list_code_converters).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description carries full burden. It omits behavioral details like error handling, idempotency, or size limits. However, the operation is straightforward and non-destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded purpose and example. No unnecessary words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with no output schema, the description covers purpose and parameter sourcing adequately. Could mention the output type (converted code) but it's implied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 4 parameters with descriptions. Description adds value by linking 'from' and 'to' to list_code_converters, and mentions per-converter options, going beyond schema information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Convert' and resource 'code', with examples (JSON↔YAML, CSS↔SCSS) that differentiate it from sibling tools like minify_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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly directs to use list_code_converters for valid ids and options, providing actionable guidance. Lacks explicit 'when not to use' statement but siblings cover distinct functions.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSnippet to inspect. Max 200,000 chars.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so description carries full burden. It only states the general purpose without mentioning limitations, accuracy, or what is detected (e.g., programming languages only).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with no extraneous information; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is too sparse. It does not explain the return format (e.g., language name, confidence score) or any constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema description for 'code' is adequate. The tool description adds no additional parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool's action ('Detect') and resource ('language/format of a code snippet'), distinguishing it from siblings like convert_code or minify_code.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use when you need to identify code language. However, no explicit when-not-to-use 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_color_shadesGet Color Shades ToolAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
hexYesBase color in hex, rgb(), or hsl().
stepNoStep percentage (default 10).
limitNoCap on tints/shades (default fills to ~100%).
Behavior3/5

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 states it generates tints/shades with hex values but omits output format (array of hex strings? objects?), error handling for invalid colors, or whether the function is idempotent/no side effects. The schema covers parameter constraints (step enum, limit range), but behavioral traits like rate limits, auth, or destructive potential are unaddressed. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence of 14 words that efficiently captures the core functionality. It is front-loaded with the action 'Generate' and specifies the resource. Every word is necessary; there is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters, no output schema, and empty annotations, the description is missing key context about return values (e.g., list of hex strings, possibly with metadata). While the schema parameter descriptions are detailed, the overall tool behavior (e.g., default step of 10, how limit interacts with step) is not explicitly stated. The description is minimally adequate but would benefit from specifying output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides complete descriptions for all three parameters (100% coverage), so the description's addition of 'tints and shades' does not enhance parameter meaning beyond the schema. The description does not clarify parameter relationships or provide example values beyond what's in the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: generate tints and shades (lighter/darker steps) from a base color, providing hex values. This distinguishes it from sibling tools like get_palette (which creates multi-color palettes from images) and check_contrast (contrast checking). The verb 'Generate' and resource 'tints and shades' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a monochromatic color variation is needed but does not explicitly state when to use this tool versus alternatives like get_palette, search_palettes, or convert_code. No when-not instructions or prerequisite conditions are provided, leaving the agent to infer based on tool name alone.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesFamily slug, e.g. 'inter', 'playfair-display'.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With empty annotations, description carries full burden. It lists returned metadata categories but does not disclose side effects, error conditions, or network requirements. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with key info, zero wasted words. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description lists major metadata categories. For a single-param retrieval tool, this is nearly complete; could add example response format or structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter with description). Description adds no extra meaning beyond schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Get' and resource 'full metadata for one font family by slug', listing specific fields returned. Distinguishes from siblings like search_fonts or get_font_download_url.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when you have a known font slug and need detailed metadata, but no explicit when-to-use or when-not-to-use guidance compared to siblings. Lacks exclusions or alternative contexts.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesFamily slug, e.g. 'inter'.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It explains what the tool returns (ZIP URL with all styles and CSS) and what it doesn't do (no download). This is transparent enough for safe invocation, though it doesn't discuss URL expiration or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two precise sentences, no fluff. The negative clarification is front-loaded, making the description efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema), the description fully covers what the tool does and what it returns. No gaps are evident.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (1 parameter fully described), so baseline is 3. The description adds value by explaining that the slug identifies a font family and that the URL contains all styles plus a fonts.css, giving context beyond the schema's minimal 'Family slug'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Return the direct ZIP download URL for a font family', which is a specific verb+resource. It implicitly distinguishes itself from sibling tools like get_font, get_font_files, and get_fonts_css by focusing solely on the download URL.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly clarifies that it does not download the file, telling the agent to 'hand the URL to the user or fetch it separately'. This provides clear usage guidance, though it could be more explicit about 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.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesFamily slug, e.g. 'inter'.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description bears full responsibility for behavioral disclosure. It accurately describes the tool as listing files with URLs, implying read-only behavior. However, it does not explicitly state side effects, caching, or safety guarantees, which is acceptable for a simple list tool 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core functionality and use case without any unnecessary words. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one parameter and no output schema, the description adequately covers input and hints at output structure (weight/italic/format + URL). It is sufficient for an agent to understand the tool, though a more explicit output structure would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter, slug, with description). The description does not add additional semantics beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: listing all font files (weight, italic, format, direct URLs) for a family. It uses a specific verb ('List') and resource ('font files'), and includes a use case ('building custom @font-face rules'), effectively distinguishing it from siblings like get_font (single font info) or get_fonts_css (CSS rules).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for building custom @font-face rules but does not explicitly state when to use it over alternatives like get_font_download_url or get_fonts_css. It offers a clear context but lacks explicit exclusions or comparisons to siblings.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
familyYesFamily spec, e.g. "inter:wght@400,700" or "inter:wght@300..900".
displayNofont-display value (default swap).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It states the tool returns CSS text, which is transparent for a read-only generation operation, but lacks details on error handling or what happens with invalid specs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two sentences with no wasted words, front-loading the core purpose and example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description minimally explains the return value ('Returns CSS text'). It is sufficient for a simple tool, but could benefit from clarifying output format or length.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions; it only repeats examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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, providing examples and indicating the output type. It distinguishes from sibling tools like get_font (returns font data) and get_font_download_url (returns URL).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for generating CSS but does not explicitly state when to use this tool versus alternatives like get_font or get_font_files. No guidance on when not to use it is provided.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPalette id.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so description must disclose behavior. It lists returned fields but does not state that the operation is read-only, has no side effects, or any auth/rate-limit considerations. The 'get' verb implies safety, but not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundancy, every word adds value. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and empty annotations, the description provides sufficient detail about the return value (colors, name, mood, harmony, temperature, tags). The input is simple (one id), so the tool is fully described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema defines 'id' as 'Palette id.' The description adds contextual meaning by explaining that using this ID yields colors, name, mood, etc., which enriches understanding beyond the minimal schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (Get), the resource (one color palette by id), and the data returned (colors, name, mood, harmony, temperature, tags). Distinguishes from sibling tools like search_palettes, which are for finding palettes by criteria.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., search_palettes). The description implies it is for known IDs, but lacks explicit when-to-use or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_code_convertersList Code Converters ToolAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the return information but does not explicitly state that the tool is read-only or has no side effects, nor does it mention any limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the purpose and key details without any wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of parameters and output schema, the description adequately explains what the tool returns. However, it could be more complete by hinting at how the returned data connects to other tools (e.g., convert_code).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so baseline is 4. The description does not need to add parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists available code converters and specifies what information is returned (from/to ids and option schemas), distinguishing it from siblings 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied but not explicitly stated; it's clear this tool is meant for discovering converters before using convert_code, but no exclusions or when-not-to-use information is provided.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSource code to transform.
modeNoDefault minify.
typeYesSource language, or 'auto' to sniff.
keep_licenseNoPreserve /*! ... */ license comments when minifying.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so description carries full burden. It states the action (minify/beautify) but does not disclose side effects, error behavior, or whether the transformation is lossy or reversible. Lacks depth for a mutation-like tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that convey core purpose efficiently. Front-loaded with main functionality, no superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 parameters and no output schema, description covers basic functionality but lacks details on return format, error handling, or performance. Adequate but incomplete for a transformation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds minimal extra value beyond schema, e.g., clarifying type=auto sniffs language. Not enough to raise score significantly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it minifies or beautifies code in multiple languages (JS, CSS, HTML, etc.) with a specific verb and resource. It distinguishes from sibling tools like convert_code and optimize_svg by focusing on minification/beautification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a usage hint (type=auto to sniff) but does not explicitly state when to use this tool over alternatives or any exclusions. Implied usage is present but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimize_svgOptimize Svg ToolAInspect

Optimize/clean SVG markup (SVGO). Returns minified SVG plus before/after sizes.

ParametersJSON Schema
NameRequiredDescriptionDefault
svgYesSVG source. Max 500,000 chars.
presetNoOptimization preset (default balanced).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the tool uses SVGO and returns minified SVG with before/after sizes, but does not disclose specific behavioral traits like idempotency or side effects (e.g., removal of comments or metadata).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is front-loaded and conveys essential information efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 parameters and no output schema, the description covers the main behavior (optimization) and output (minified SVG + sizes). It is sufficient for an agent to understand what the tool does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 does not add meaning beyond the schema; it only mentions the tool name and output type. The schema already provides descriptions for both parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'optimize/clean' and resource 'SVG markup', clearly indicating the tool's function. It distinguishes from siblings like 'minify_code' (for code) and 'svg_to_datauri' (conversion to URI).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the tool optimizes/cleans SVG markup, but does not provide explicit guidance on when to use it versus alternatives like 'minify_code' or different presets. No exclusions or when-not-to-use are mentioned.

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, language coverage, variable/monospace flags and style count. Returns a paginated list of families.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFuzzy name match.
pageNoPage number.
sortNoSort direction.
langsNoComma-separated language codes, e.g. 'latin,cyrillic' — ALL must be supported.
orderNoSort field, default 'likes'.
categoryNoComma-separated categories, e.g. 'serif,sans'.
per_pageNoResults per page (default 24).
variableNoOnly variable fonts.
monospaceNoOnly monospace fonts.
styles_maxNoMaximum number of styles.
styles_minNoMinimum number of styles.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With empty annotations, the description carries the burden. It mentions pagination but does not disclose behavior like rate limits, authentication requirements, or how pagination results are structured (e.g., total pages). The description is adequate but lacks additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the key action and parameters. Every word is useful, with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters, high schema coverage, and no output schema or annotations, the description provides sufficient context for a search tool. However, it could mention default sorting by 'likes' or pagination details to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description adds minimal value beyond the schema. It reinforces fuzzy matching for 'name' and notes that 'langs' requires all language support, but these details are already in the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the free font catalog by various filters (name, category, language, variable/monospace, style count) and returns a paginated list of families. It effectively distinguishes from sibling tools like 'get_font' which likely retrieves a single font.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for searching fonts, but does not explicitly guide when to use it versus alternatives like 'get_font' or 'get_font_files'. No when-not-to-use or prerequisite information is provided.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoe.g. pastel, muted, earthy, vibrant, monochrome.
nameNoFuzzy name match.
pageNoPage number.
tagsNoTag slugs — ALL must match (AND).
toneNoOverall tone.
orderNoSort order (default newest).
harmonyNoe.g. analogous, complementary, triadic, monochromatic, split-complementary, tetradic.
per_pageNoResults per page (default 24).
color_countNoExact number of colors.
temperatureNoColor temperature.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only mentions 'returns a paginated list' but does not explain pagination details, rate limits, authentication needs, or what happens with no results. The disclosure is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two efficient sentences: first lists search dimensions, second states the result format. It front-loads the action ('Search') and includes no unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 10 parameters, no output schema, and no annotations, the description is too brief. It lacks details on pagination defaults, how multiple criteria combine, error handling, or default behavior. More context is needed for an agent to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 lists some parameter categories (name, tone, etc.) but adds no additional meaning beyond the schema descriptions. It does not clarify how parameters interact (e.g., AND logic for tags) or provide formatting examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the color-palette catalog with specific criteria (name, tone, temperature, mood, harmony, color count, tags) and returns a paginated list. This distinguishes it from sibling tools like get_palette (retrieves a single palette) or search_fonts (searches fonts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as whether to search by specific fields or combine criteria. The description only states what it does, lacking any usage context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

svg_to_datauriSvg To Data Uri ToolBInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
svgNoRaw SVG markup. Mutually exclusive with url.
urlNoPublic image URL the server will fetch.
quotesNoQuote style for the data URI (default double).
encodingNoDefaults: utf8 for SVG, base64 for raster.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description must disclose behavior. It only states the basic function; it does not mention error handling, size limits, network behavior when fetching URLs, what happens if both svg and url are provided, or the format of the resulting data URI.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the primary purpose, though it could be slightly more structured (e.g., separating input options).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With high schema coverage and no output schema, the description is adequate but incomplete. It lacks context about output format, error cases, and practical usage. The tool's complexity is moderate, so more detail would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description adds no additional meaning beyond summarizing the schema. Baseline 3 applies as schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Encode'), the resource ('an SVG or fetched image'), and the output ('CSS-ready data: URI'). It also indicates the two input options (raw SVG or URL), distinguishing it from sibling tools like optimize_svg.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives, when not to use it, or how to choose between parameters (e.g., svg vs url, encoding options). No explicit context about prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources