Skip to main content
Glama

Search

search
Read-onlyIdempotent

Full-text search.

Input Schema

NameRequiredDescriptionDefault
pageNo
queryYes
fieldsNoComma-sep return fields.
sort_byNounique_scans_n | product_name | created_t | last_modified_t | nutriscore_score | nova_score
page_sizeNo

Output Schema

NameRequiredDescriptionDefault
pageNoCurrent page number
countNoTotal results matching query
productsNoArray of matching products
page_sizeNoResults per page

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "query": "chocolate"
      +  },
      +  {
      +    "page": 1,
      +    "page_size": 20,
      +    "query": "organic milk",
      +    "sort_by": "nutriscore_score"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "count": {
      +      "description": "Total results matching query",
      +      "type": "number"
      +    },
      +    "page": {
      +      "description": "Current page number",
      +      "type": "number"
      +    },
      +    "page_size": {
      +      "description": "Results per page",
      +      "type": "number"
      +    },
      +    "products": {
      +      "description": "Array of matching products",
      +      "items": {
      +        "properties": {
      +          "brands": {
      +            "description": "Brand names",
      +            "type": "string"
      +          },
      +          "categories": {
      +            "description": "Product categories",
      +            "type": "string"
      +          },
      +          "code": {
      +            "description": "Product barcode",
      +            "type": "string"
      +          },
      +          "nova_group": {
      +            "description": "NOVA group",
      +            "type": "number"
      +          },
      +          "nutriscore_score": {
      +            "description": "Nutri-Score value",
      +            "type": "number"
      +          },
      +          "nutrition_grade_fr": {
      +            "description": "Nutri-Score grade",
      +            "type": "string"
      +          },
      +          "product_name": {
      +            "description": "Product name",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior, so the description carries a lower burden. However, it adds no behavioral detail about pagination, default sorting, result shape, or scope of the full-text index, leaving significant gaps for a search tool.

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

Conciseness2/5

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

The description is concise but drastically under-specified. Two words can hardly be considered appropriately sized for a tool with five parameters and a broad search operation. It is closer to a label than a description.

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 an output schema present, return values need no explanation, but the description lacks essential context: what is being searched, any filters beyond the listed parameters, default behavior for paging and sorting, or when to prefer this over search_within or other search-like tools. The tool is not adequately contextualized.

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 only 40%, and only 'fields' and 'sort_by' have descriptions. The tool description, 'Full-text search,' adds no parameter meaning, failing to compensate for undocumented parameters like 'query', 'page', and 'page_size'.

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

Purpose3/5

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

The description states 'Full-text search,' identifying the verb (search) and a general search mode (full-text), but does not specify the resource or corpus being searched. It does not distinguish from sibling tools like search_within, which implies a similar but scoped search.

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 on when to use this tool versus alternatives. Siblings like search_within and recent_changes suggest different search contexts, but the description provides no indication of when 'search' is the appropriate choice.

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.