Skip to main content
Glama
laszlopere

mcp-gnu-units

by laszlopere

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a distinct purpose: convert handles general conversions, convert_to_si reduces to SI base units, define_unit shows definitions, find_units searches the database, info provides server health, and list_prefixes enumerates prefixes. No overlap in functionality.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in lowercase with underscores (e.g., convert, define_unit, list_prefixes). There is no mixing of conventions or vague verbs.

    Tool Count5/5

    With 6 tools, the server is well-scoped for unit conversion. It covers all essential operations: conversion, SI reduction, definition lookup, search, prefix listing, and server info without being bloated or thin.

    Completeness5/5

    The tool set appears complete for the domain of unit conversion. It provides conversion, SI reduction, search, definition inspection, prefix enumeration, and server metadata. There are no obvious gaps like missing batch conversion or undo functionality.

  • Average 4.6/5 across 6 of 6 tools scored.

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

    • No community issues in the last 6 months
    • 36 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under GPL 3.0.

  • 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.

  • This repository includes a glama.json configuration file.

  • 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

  • Behavior5/5

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

    No annotations provided, so description carries full burden. It discloses edge cases (single-letter names, nonlinear units), error conditions (unknown unit, malformed expression), and return fields (expr, result, value, dimension, exact). 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?

    Front-loaded with a clear one-sentence summary, followed by explanation, return field list, example, and edge case notes. Every sentence is informative; no redundancy.

    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 one parameter, no output schema, and no annotations, the description fully covers tool behavior: purpose, return fields, example, errors, and unit quirks. Sufficient for an agent to use correctly.

    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% with a detailed parameter description. The tool description repeats the same parameter info but adds contextual examples and return field descriptions. It adds value but not beyond what the schema already provides for the parameter itself.

    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 it reduces to SI base units, with examples like 'kW*hour' -> '3600000 kg m^2 / s^2'. It distinguishes from siblings by specifying it reveals 'what a quantity *really* is dimensionally', whereas sibling 'convert' likely does generic unit conversion.

    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 says 'Use it to compare or sanity-check units, or to get a magnitude in coherent SI.' It hints at when not to use by noting nonlinear units like tempF error. It does not explicitly compare to alternatives but the context implies it's for SI base reduction, not arbitrary conversions.

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

  • Behavior5/5

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

    Despite no annotations, the description fully discloses the tool's behavior: it returns seven specific keys with details, mentions that toolsets is empty until the engine lands, and notes data is read from shipped file headers to avoid drift. This is comprehensive for a read-only health-check 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?

    The description is concise yet informative, front-loading the purpose and then listing return keys with context. Every sentence adds value, and the example clarifies the structure. No unnecessary words.

    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 has no parameters and no output schema, the description fully covers what the tool does and what it returns, including an example. It is complete for an agent to understand and use the tool correctly.

    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 tool has zero parameters, so the description adds no parameter info. However, baseline for 0 parameters is 4, and the description explains the return structure in detail, which aids understanding without needing parameter guidance.

    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 is a 'Discovery / health-check entrypoint' that reports availability and version info, distinguishing it from sibling tools which deal with unit conversions and definitions.

    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 purpose implies usage as a health-check, but there is no explicit guidance on when to use it versus alternatives or when not to use it. Since siblings are distinct, the need for explicit guidance is lower, but still absent.

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

  • Behavior4/5

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

    No annotations provided, but the description discloses return structure (count and list of objects with name and multiplier), sorting order, exactness of values, and gives an example. It mentions a TODO but does not indicate any destructive behavior or rate limits.

    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 well-structured: a concise summary line, followed by explanation of contents, usage, return format, and example. Every sentence adds value and it is front-loaded.

    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 parameters, no output schema, and low complexity, the description is complete. It covers purpose, usage, return format, and an example. The TODO note is minor and does not detract.

    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 tool has no parameters, so the input schema fully covers the meaning. The description adds context about the output structure and purpose, but no parameter explanation is needed.

    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 it lists all SI and binary prefixes from the GNU units database, sorted by descending magnitude. It distinguishes itself from sibling tools by specifying its use for discovering prefix spellings and values.

    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 says it is useful for discovering prefix spellings for convert or convert_to_si expressions, and for seeing exact numeric values. It implies usage context but does not explicitly state 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.

  • Behavior5/5

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

    With no annotations, the description fully carries the burden. It clearly explains behavior: substring search, case-insensitive, excludes prefixes, returns in native order, capped at limit. It also details the return structure comprehensively, including which fields are omitted for non-reducing hits.

    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 lengthy but well-structured: a lead sentence, then details on search behavior, result fields, and an example. Every sentence contributes meaning. Slight redundancy could be trimmed, but it remains clear and organized.

    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, the description provides a complete specification of the return format, including an example. It covers search behavior, parameters, and all result fields with edge cases. For a search tool, this is fully comprehensive.

    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%, baseline is 3. Description adds value by explaining that 'query' is a case-insensitive substring matching both name and definition, with a concrete example. For 'limit', it clarifies default, maximum, and stopping condition, going beyond the schema's basic description.

    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 ('search') and clearly identifies the resource ('GNU units database'). It states the action: find units whose name or definition contains a keyword. This distinguishes it from siblings like 'convert' or 'info', which are for different tasks.

    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 tells when to use the tool: 'Use this to discover the exact spelling of a unit before calling a conversion tool.' It implies context but does not explicitly state when not to use it or list alternatives, though the sibling list provides some context.

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

  • Behavior5/5

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

    No annotations provided, so description carries full burden. Clearly explains linear vs nonlinear behavior, return fields (from, to, result, value, exact), error handling (unknown unit, malformed expression, non-conformable), and provides a concrete example. Fully transparent.

    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?

    Description is well-structured and concise. Front-loaded with purpose, followed by behavior, return values, error handling, and example. No unnecessary words.

    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?

    For a tool with 2 params fully described in schema and no output schema, the description covers input, output, error cases, and an example completely. Fits the complexity well.

    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 description coverage is 100%. The description adds significant meaning beyond the schema: explains that from_expr can carry a numeric coefficient and compound expressions, to_expr must be dimensionally conformable or a nonlinear target, and suggests using find_units for exact spelling.

    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?

    Clearly states verb 'convert' and resource 'value or unit expression'. Distinguishes from sibling tools by calling itself 'the universal conversion core' covering all categories, which sets it apart from convert_to_si, find_units, etc.

    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?

    Describes the tool as the universal conversion core and implicitly covers when to use it. Mentions find_units for discovering unit spelling, hinting at alternatives. Could be more explicit about when to use convert_to_si, but still provides useful context.

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

  • Behavior5/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 thoroughly describes the return object fields (name, kind, definition, dimension, base_value, function), explains cases where fields are omitted (non-reducing hits), covers error handling (cleanly with isError), and details the function output for nonlinear units. This fully discloses 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 appropriately sized for the complexity: a concise one-line summary, then structured elaboration. Every sentence adds value—examples, field explanations, error behavior, and usage notes. No redundancy, no wasted words. It is well-organized 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 no output schema, the description fully and clearly documents the return object, including all possible fields, their meanings, and conditions for omission. The parameter is thoroughly explained with examples. Error handling is described. The tool's place among siblings is clear. The description leaves no significant gaps for an AI agent to select and invoke correctly.

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

    Parameters5/5

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

    The single required parameter 'name' has a schema description that adds context: 'exact name', 'not an expression', and advice to use 'find_units' for uncertain spelling. The tool description reinforces this with examples of valid names. Schema coverage is 100%, and the description adds complementary meaning, making parameter semantics very clear.

    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 starts with a clear one-liner 'Show a single unit/prefix/constant's definition, kind, dimension, and base value', specifying verb and resource. It explicitly distinguishes from sibling 'convert' and 'find_units', and provides examples like 'newton' and 'tempF', making the purpose unmistakable.

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

    Usage Guidelines5/5

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

    The description states what types of names are accepted (units, prefixes, constants, functions, tables) and explicitly tells when to use 'find_units' for uncertain spelling. It contrasts with 'convert' by stating it is the 'inspect/define counterpart'. There is clear guidance on when to use and when not to use (e.g., not for compound expressions).

    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

mcp-gnu-units MCP server

Copy to your README.md:

Score Badge

mcp-gnu-units 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/laszlopere/mcp-gnu-units'

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