Skip to main content
Glama

Search the gear catalog

search_catalog
Read-onlyIdempotent

Fuzzy search of Mahonia's cited gear catalog by brand, product or kind of gear ("duplex", "zpacks", "quilt"). Each result carries a catalog id, the cited weight in grams and whether it is verified. Use get_catalog_product for every variant of one product.

Input Schema

NameRequiredDescriptionDefault
limitNoUp to 25. Default 12.
queryYesTwo characters or more; a single Chinese character is enough.

Output Schema

NameRequiredDescriptionDefault
queryYesThe query as searched: trimmed, at most 100 characters.
resultsYesBest first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"Two characters or more."New value: +"Two characters or more; a single Chinese character is enough."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "query": {
      +      "description": "The query as searched: trimmed, at most 100 characters.",
      +      "type": "string"
      +    },
      +    "results": {
      +      "description": "Best first.",
      +      "items": {
      +        "properties": {
      +          "brand": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "category": {
      +            "description": "The catalog's category: shelter, sleep, pack, and so on.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "display_name": {
      +            "description": "Brand, name and variant joined.",
      +            "type": "string"
      +          },
      +          "gear_type": {
      +            "description": "What kind of thing it is: Tent, Quilt, Trail runners.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "The catalog row id, the one add_items and create_list take as catalog_id.",
      +            "type": "integer"
      +          },
      +          "kcal": {
      +            "description": "Calories per unit, on food.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "description": "The product name, without brand or variant.",
      +            "type": "string"
      +          },
      +          "variant": {
      +            "description": "Size, length or rating; null on a product sold one way.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "verified": {
      +            "description": "Whether the cited weight has been verified.",
      +            "type": "boolean"
      +          },
      +          "weight_g": {
      +            "description": "The cited weight in grams, to a tenth.",
      +            "type": "number"
      +          },
      +          "weight_source": {
      +            "description": "Where the weight comes from.",
      +            "enum": [
      +              "manufacturer",
      +              "measured",
      +              "community",
      +              "imported"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "variant",
      +          "weight_g",
      +          "verified",
      +          "weight_source",
      +          "kcal",
      +          "brand",
      +          "name",
      +          "display_name",
      +          "gear_type",
      +          "category"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "query",
      +    "results"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds genuinely non-structured behavior: matching is fuzzy (not exact), and each result carries a catalog id, weight in grams, and a verified flag, which sets expectations about result quality and shape.

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, zero filler, with the tool's scope front-loaded before the routing hint to the sibling tool. Every clause carries information.

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?

Annotations cover the safety profile, the input schema fully documents both parameters with constraints, and an output schema exists to describe results, so the description need not explain return values. Nothing required to call this tool correctly 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; the description goes slightly beyond by giving concrete query exemplars that show the intended granularity (brand vs. product vs. material term), which helps the agent formulate the query string. The limit parameter is left to 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?

States a specific verb and resource ('Fuzzy search of Mahonia's cited gear catalog') plus the dimensions searched (brand, product, kind of gear), and concretely differentiates itself from the sibling get_catalog_product. An agent can route between the two without opening either schema.

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?

Explicitly names the alternative tool and the condition that selects it: use get_catalog_product for every variant of one product, implying this tool is for cross-catalog fuzzy discovery. Query examples ('duplex', 'zpacks', 'quilt') further show what inputs belong here.

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.