Skip to main content
Glama
ByteFlipper-58

material-icons-agent-skill

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct operation: searching, importing, updating, deleting, auditing, validating, migrating, generating wrappers, syncing offline catalog, previewing, and detecting environment. Even similar tools like audit_icons and validate_icon_usage are clearly separated by their focus (duplicates/unused vs accessibility labels).

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case. Singular nouns are used for single-item operations (import_icon, delete_icon) and plural nouns for multi-item operations (search_icons, preview_icons), demonstrating a clear and predictable semantic convention.

    Tool Count5/5

    11 tools is well within the ideal range for a specialized icon management skill. Each tool serves a distinct purpose in the workflow, and none are redundant or extraneous, making the set well-scoped for its domain.

    Completeness5/5

    The tool surface covers the full lifecycle of icon management: search, import, update, delete, audit, validate, migrate, generate wrappers, offline catalog, preview, and environment detection. There are no obvious gaps or dead ends for the stated purpose of managing Material Icons in projects.

  • Average 2.9/5 across 11 of 11 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 3 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    Without annotations, the description must disclose behavioral traits, but it only says 'write' a catalog, lacking details on file creation, side effects, or required permissions. It doesn't mention whether it modifies the project or what happens to existing catalogs.

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

    Conciseness3/5

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

    The description is concise but under-specified, lacking necessary details for a tool with two parameters and no schema coverage. It's not wastefully verbose, but it's too brief to be helpful.

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

    Completeness1/5

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

    With no annotations, no output schema, and 0% schema parameter coverage, the description must provide context, but it only offers a vague phrase. It fails to explain what the catalog contains, how 'root' is used, or the behavior of 'refresh', making the tool difficult to use correctly.

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

    Parameters1/5

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

    Schema coverage is 0%, and the description does not explain the 'root' or 'refresh' parameters. The description adds no meaning beyond the parameter names themselves.

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

    Purpose4/5

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

    The description states the tool writes a project-local catalog of icon names for offline lookup, which is a specific action. It distinguishes from sibling tools like import_icon or search_icons by focusing on creating a local catalog for offline access. However, it doesn't clarify the catalog's exact format or location.

    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 mentions the use case for offline or repeat lookup, implying when it's useful, but doesn't explicitly contrast with alternatives like search_icons or import_icon. There's no guidance on 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.

  • Behavior2/5

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

    With no annotations, the description carries the full burden. It mentions 'replace' but does not disclose that the operation overwrites an existing local file, requires network access, or that the 'confirm' parameter is a safety gate. This leaves the destructive nature implicit rather than 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?

    The description is a single sentence with no wasted words. It is front-loaded and concise, earning a high score for conciseness even though it lacks detail.

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

    Completeness1/5

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

    Given five parameters, no output schema, and no annotations, the description is severely under-specified. It fails to cover parameter meanings, usage context, side effects, or network requirements, making it inadequate for correct invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any of the five parameters (name, root, style, target, confirm). The agent must rely solely on field names and enums, so the description adds no value beyond the schema.

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

    Purpose4/5

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

    The description clearly states the action ('re-download and replace') and the resource ('an already imported local icon'), distinguishing it from import_icon (new icons) and delete_icon (removal). It lacks explicit sibling differentiation but the intent is unambiguous.

    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 instead of alternatives like delete_icon + import_icon, or the context for refreshing an icon. The word 'already imported' implies a precondition but there is no explicit when-to-use guidance.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only report and uses 'likely' to suggest heuristic analysis, but does not disclose permissions, scope, or whether any changes are made. No side effects or limitations are mentioned.

    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 redundant words. While concise, it may be under-specified, but it earns high marks for efficiency and directness.

    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 there is no output schema, no annotations, and only one parameter with no description, the tool description does not explain what the report contains, how 'likely missing' is determined, or what inputs are expected. It is minimally adequate but leaves clear gaps.

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

    Parameters1/5

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

    Schema coverage is 0% and the description makes no mention of the 'root' parameter. The parameter name is ambiguous (e.g., root directory, root element) and the description does not compensate for the lack of schema documentation.

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

    Purpose4/5

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

    The description uses a specific verb ('Report') and resource ('icon usage') to indicate it finds likely missing accessibility labels, which is distinct from sibling tools like 'audit_icons' that may perform broader audits. However, it does not elaborate on the scope or type of icons, so it is clear but not fully differentiated.

    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 given for when to use this tool versus alternatives like 'audit_icons' or 'search_icons'. The description does not mention context, prerequisites, or exclude cases, leaving the agent without usage direction.

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

  • Behavior2/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 confirmation requirement, but omits critical behavioral details for a destructive operation: whether deletion is permanent, what exactly gets deleted (file, path entry), side effects on dependent tools, or error conditions. This is minimal disclosure.

    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 front-loads the primary action and appends the key requirement, making it appropriately sized and easy to parse.

    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?

    The tool is a destructive operation with 4 required parameters, no annotations, and no output schema. The description is too sparse to guide correct invocation; it lacks parameter explanations, usage context, and expected outcomes. More detail is needed, especially given the irreversibility of deletion.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description must compensate. It does not explain any parameters beyond implying 'confirm'. The meanings of 'name', 'root', and 'target' are left entirely to the schema, which only provides types and constraints, not their contextual role in deletion.

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

    Purpose4/5

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

    The description states a specific action ('Delete') on a 'computed local icon path', which clearly indicates this tool removes an icon-related resource. It distinguishes itself from sibling tools like 'import_icon' or 'update_icon', though the exact object ('computed local icon path') is somewhat ambiguous.

    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 only mentions that explicit confirmation is required, which is a usage condition but gives no guidance on when to use this tool versus alternatives like 'audit_icons' or 'validate_icon_usage'. There is no context on scenarios where deletion is appropriate or inappropriate.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It implies a non-destructive audit ('Find'), but does not disclose output format, whether any files are modified, or how 'likely unused' is determined. Insufficient detail for an unannotated tool.

    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 sentence with no fluff, making it easy to parse and front-loaded with the core purpose. However, its brevity edges into under-specification, which limits its effectiveness.

    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?

    For a tool with one parameter, no output schema, and no annotations, the description is too thin. It omits crucial details such as what constitutes 'duplicate' vs 'unused', the output format, and how to invoke it (i.e., what 'root' means). Sibling tools overlap, yet no differentiation is given.

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

    Parameters1/5

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

    Schema coverage is 0% and the description does not explain the 'root' parameter. The single sentence mentions 'local icon assets' but never clarifies that 'root' likely refers to a project directory. This is a critical gap for a required parameter.

    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 ('Find') and the target ('duplicate and likely unused local Android/Flutter icon assets'), providing a specific verb and resource. It distinguishes itself from siblings like delete_icon and import_icon by focusing on analysis rather than mutation.

    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 validate_icon_usage or search_icons. There is no mention of prerequisites, use cases, or exclusions.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It does mention 'Never overwrites files,' which is a useful safety guarantee, but it fails to explain what happens on file conflict (skip vs error), whether it modifies configuration files like pubspec.yaml, or whether network access is required. This is a significant gap for a write operation.

    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 consists of two focused sentences. The first states the core action and target platforms; the second adds a critical safety guarantee. Both sentences earn their place, with no wasted words.

    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 5 parameters, 0% schema description coverage, no annotations, and no output schema, the description is far too sparse. It lacks explanations for parameters, conflict handling, and usage context. While it covers the basic purpose, it does not provide enough information for an agent to invoke the tool correctly in all scenarios.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description provides no parameter-level semantics. It does not explain 'name', 'root', 'style', or 'registerFlutterAsset'. The target parameter is only loosely implied by the phrase 'Android, Flutter, or SVG project assets' but not explicitly tied to the schema field. The description adds almost no value for parameter understanding.

    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 ('Download an official icon') and the target destinations ('Android, Flutter, or SVG project assets'). It distinguishes import_icon from sibling tools like delete_icon, search_icons, and update_icon by focusing on the import/download aspect.

    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 explicit guidance is given on when to use this tool versus alternatives. The description does not mention that search_icons should be used to find icons first, nor does it exclude cases where update_icon or delete_icon would be more appropriate. The usage context is only implied by the action.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the search intent and does not mention what the function returns, whether it is read-only, any rate limits, or how results are ordered. This is a significant transparency gap for a tool with no other metadata.

    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 extraneous words. However, its brevity contributes to the lack of detail in other dimensions, so while it is concise, it is not fully helpful.

    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?

    With no output schema or annotations, the description should explain the return value and behavior, but it does not. It fails to mention whether results are icon names, identifiers, or metadata, and does not describe the effect of the limit parameter, making the tool under-specified for an agent to fully understand its behavior.

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

    Parameters2/5

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

    The input schema has 0% description coverage, so the description must compensate for all parameters. It maps 'meaning' to the query parameter and 'style' to the style parameter, but it omits the limit parameter entirely and doesn't clarify what 'meaning' entails (e.g., search by name or tags). This partial coverage leaves the parameter semantics incomplete.

    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 the specific verb 'Search' and identifies the resource as 'official Material Symbols', with scope 'by meaning and style'. This clearly distinguishes it from sibling tools like delete_icon, import_icon, and update_icon, which are mutation operations.

    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 provides no explicit guidance on when to choose this tool over alternatives. It does not mention any exclusions or compare to sibling tools such as audit_icons or preview_icons, leaving the usage context implied rather than stated.

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

  • Behavior2/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 that a local HTML preview sheet is created, but does not disclose whether files are written, overwritten, or require permissions, nor any side effects. The agent is left uncertain about the tool's behavior beyond the basic output.

    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 sentence with no filler, getting straight to the point. However, it sacrifices necessary details for brevity, though conciseness itself is high.

    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?

    For a tool with 3 parameters and no output schema or annotations, this description is minimal. It explains the overall purpose but leaves out critical details about parameter usage and expected output, making it incomplete for correct invocation.

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

    Parameters1/5

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

    The schema has zero description coverage, and the description does not mention any parameters. It fails to explain the meaning of 'style' or 'output' parameters, or the expected format of 'names'. The agent must rely entirely on the schema enums and names without additional context.

    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 a specific verb ('Create') and resource ('local HTML preview sheet'), clearly distinguishing it from sibling tools like delete_icon or update_icon. The scope 'for a shortlist of icons' adds further context.

    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 shortlist of icons exists, but provides no explicit guidance on when to prefer this over alternatives like search_icons or audit_icons. No exclusions or alternative references are mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the burden of conveying behavioral traits. 'Detect' implies a read-only analysis, but the description does not state that it reads files without modifying anything, what evidence it looks for (beyond the listed types), or what the return value represents. This lack of detail is a gap for a tool with no annotation support.

    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 action and enumerates the detected environment types. There is no wasted wording or repetition of the tool name.

    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 absence of annotations and output schema, the description must explain the input and output behavior. It covers what environments are detected but not what 'root' refers to, how detection works, or what the returned evidence looks like. For a tool with one parameter, this is incomplete.

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

    Parameters1/5

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

    The input schema has one required parameter 'root' with no description, and schema description coverage is 0%. The tool description does not explain that 'root' should be a path to a project directory, leaving the agent to guess the parameter's meaning and format. With a single parameter, this is easily compensable but was not addressed.

    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 a specific verb 'Detect' and clearly enumerates the resources: Android Compose, Android Views, Flutter, and web evidence. It unambiguously distinguishes itself from the icon-focused 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 when needing to know a project's framework/environment, but it does not explicitly state when to use this tool versus alternatives or provide any exclusion criteria. No siblings overlap with detection, so it is acceptable but not fully explicit.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of disclosing behavior. It mentions two modes (dry-run/apply) and a safety rule ('complex expressions are reported, never guessed'), but it does not elaborate on the side effects of applying changes or the exact reporting format, 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.

    Conciseness4/5

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

    The description is concise with two sentences that front-load the core action, then add a prerequisite and a safety limitation. Every sentence earns its place with no waste, though a bit more structure could improve readability.

    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 two simple parameters and no output schema, the description covers the main actions, prerequisite, and a limitation. However, it omits details about what 'root' refers to and what the reporting output looks like, leaving some gaps for a migration tool.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description only hints at the 'apply' boolean through 'Dry-run or apply' but does not explain the 'root' parameter at all. The description adds minimal value beyond the raw schema and fails to compensate for the lack of parameter documentation.

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

    Purpose4/5

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

    The description clearly states the tool performs a dry-run or apply operation to migrate standard Compose Icons.* references to local painterResource replacements, which is a specific action. It distinguishes this from sibling tools like audit_icons or delete_icon, though the phrasing is slightly awkward and could be misread.

    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 provides a prerequisite ('Import drawables first') and hints at behavior regarding complex expressions, giving some guidance on when to use it. However, it does not explicitly mention alternatives or contrast with related tools, so users must infer the appropriate context.

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

  • Behavior2/5

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

    With no annotations, the description must explain behavioral traits, but it only states the generation action and language targets. It does not disclose side effects (e.g., creating or overwriting files), required permissions, or post-conditions. The 'OPTIONAL' prefix and abstraction condition hint at intent, but not at runtime behavior.

    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 one sentence plus a conditional clause, with no filler. It front-loads the action language and adds a usage condition efficiently. Every word contributes to either purpose or usage, making it highly concise and well-structured.

    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?

    For a tool with four required parameters, no annotations, no output schema, and 0% schema coverage, the description is insufficient. It explains the purpose and when to use it, but leaves parameter meanings, side effects, and output behavior unexplained. An agent cannot reliably invoke this tool without guessing at parameter semantics, making it incomplete for practical use.

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

    Parameters1/5

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

    The schema has 0% description coverage, and the description fails to explain any of the four required parameters (root, target, names, output). The only slight hint is 'Kotlin, Dart, or TypeScript' mapping to the target enum, but root, names, and output remain completely opaque. The description does not compensate for the lack of schema descriptions.

    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 icon constants for Kotlin, Dart, or TypeScript. This specific verb+resource distinguishes it from siblings like 'import_icon' or 'update_icon' which focus on individual icon operations rather than generating an abstraction layer.

    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 provides clear context for when to use the tool: 'Enable this only in projects that want an AppIcons abstraction.' This gives a conditional usage guideline. It does not explicitly mention alternatives or exclusions, but the condition is specific enough for an agent to make a basic decision.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

material-icons-agent-skill MCP server

Copy to your README.md:

Score Badge

material-icons-agent-skill MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ByteFlipper-58/material-icons-agent-skill'

If you have feedback or need assistance with the MCP directory API, please join our Discord server