Skip to main content
Glama

Compare AkulaCyber KVM models

akulacyber_compare_kvms
Read-onlyIdempotent

Compare two to six GL.iNet Comet KVM over IP models side by side: one row per fact (computers controlled, video, Ethernet, PoE, Wi-Fi, cellular, HDMI out, screen, power, size, weight) with one value per model in the order given, plus each model's live price in UAH, stock and page URL. Use it when the user weighs KVM models against each other; find candidates first with akulacyber_search_products (category kvm), and use akulacyber_get_product for one product or any accessory. An accessory or unknown product returns an error naming it and listing the KVM slugs. A null value means the model lacks the feature.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "products": "<products>"
    },
    "name": "akulacyber_compare_kvms"
  }
}

Input Schema

NameRequiredDescriptionDefault
langNoLanguage of the texts and page URLs in the answer: uk (Ukrainian, the default), ru (Russian) or en (English). Use the language the user writes in.uk
productsYesTwo to six KVMs, each a slug or model code as in search results, e.g. ["gl-rm1", "GL-RM1PE"].

Output Schema

NameRequiredDescriptionDefault
rowsYes
modelsYes
currencyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / lang / description
      Previous value: -"Language of the answer: uk (Ukrainian), ru (Russian) or en (English). Use the language of the user."New value: +"Language of the texts and page URLs in the answer: uk (Ukrainian, the default), ru (Russian) or en (English). Use the language the user writes in."
    • changedInput schema / properties / products / description
      Previous value: -"Two to six KVM slugs or model codes, e.g. [\"gl-rm1\", \"GL-RM1PE\"]."New value: +"Two to six KVMs, each a slug or model code as in search results, e.g. [\"gl-rm1\", \"GL-RM1PE\"]."
  2. Changed4 schema fields changed
    • addedOutput schema / properties / models / items / properties / image
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / models / items / properties / on_sale
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / models / items / properties / regular_price_uah
      Added value: +{
      +  "type": "number"
      +}
    • changedOutput schema / properties / models / items / required
      Previous value: -[
      -  "slug",
      -  "name",
      -  "price_uah",
      -  "availability",
      -  "url"
      -]New value: +[
      +  "slug",
      +  "name",
      +  "price_uah",
      +  "regular_price_uah",
      +  "on_sale",
      +  "availability",
      +  "url",
      +  "image"
      +]
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered; the description adds behavior the annotations cannot express. It discloses the row-per-fact result layout with values ordered per input model, that prices are live and in UAH, that stock and page URL are included, the error path for accessories/unknown slugs (naming the item and listing valid KVM slugs), and that a null means the feature is absent.

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?

It is front-loaded with the comparison action and result shape, then moves to when-to-use and error semantics, with no filler sentences. It is dense — the result-shape sentence is long — but every clause carries operational information an agent needs.

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 two-parameter, read-only comparison tool with an output schema, the description covers everything an agent needs to select and call it: input bounds, ordering semantics, result contents, failure behavior, and the sibling tools to use instead. No important decision-relevant detail is missing.

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%, so the baseline is 3, but the description adds meaning beyond the schema by stressing that output values follow "the order given", making input ordering semantically significant. It also reiterates the 2-6 bound, which is only implied by minItems/maxItems in the schema; the lang parameter's effect on page URLs is left to the schema, which already covers it.

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 names a specific verb and resource ("Compare two to six GL.iNet Comet KVM over IP models side by side") and enumerates the returned facts, so an agent knows exactly what the tool produces. It is clearly distinguishable from akulacyber_get_product (one product) and akulacyber_search_products (candidate discovery), both named explicitly.

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?

It states the triggering condition ("when the user weighs KVM models against each other") and routes the agent to the correct sibling for adjacent needs: search_products with category kvm to find candidates, get_product for a single product or accessory. It also warns that accessories/unknown products error out, which pre-empts a foreseeable misuse.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources