Skip to main content
Glama

Search Products

search_products
Read-onlyIdempotent

Search the Bazaar catalog by keyword or phrase across product names, capabilities, categories, and problem statements; add a category filter and see why each result matched.

Instructions

Keyword search over the Bazaar catalog (names, capabilities, categories, problem statements). Every hit carries match_reasons — why it matched is never hidden. Optional category filter. Use find_solutions instead when you have a problem to describe rather than keywords; use get_product once you have a product id.

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": {
      "query": "<query>"
    },
    "name": "search_products"
  }
}

Input Schema

NameRequiredDescriptionDefault
queryYesKeyword or phrase matched against product names, capabilities, categories, and problem statements.
categoryNoOptional exact category name, as returned by list_categories, to restrict the search; omit to search the whole catalog.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.5
    • addedInput schema / properties / category / description
      Added value: +"Optional exact category name, as returned by list_categories, to restrict the search; omit to search the whole catalog."
    • addedInput schema / properties / query / description
      Added value: +"Keyword or phrase matched against product names, capabilities, categories, and problem statements."
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context — every hit carries match_reasons and matching rationale is never hidden — but says nothing about result limits or pagination.

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?

Three compact sentences, front-loaded with the search scope, followed by result-behavior and routing guidance. No filler and every clause carries information.

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 two-parameter, read-only search with full schema coverage and no output schema, the definition covers scope, filtering, result transparency, and tool routing. The only omission is any sense of result volume or limit behavior, which keeps it from a 5.

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 both query and category are already documented in the schema, including the pointer to list_categories for valid values. The description only restates the optional category filter and the keyword fields, adding little beyond the structured fields; 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?

States a specific verb and resource ("Keyword search over the Bazaar catalog") and enumerates the searched fields (names, capabilities, categories, problem statements), which distinguishes it clearly from get_product, list_categories, and find_solutions.

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 routes the agent: use find_solutions when you have a problem description rather than keywords, and get_product once a product id is known. Both the when-to-use and the when-not-to-use conditions are named against real siblings.

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