Skip to main content
Glama

There's An AI For That

Search devices

search_devices
Read-only

Search and compare AI devices by name, description, specifications, type, use case, maker, and linked task. Supports hardware filters and sorting.

Input Schema

NameRequiredDescriptionDefault
sortNorelevance
taskNoExact TAAFT task name or slug. Matches primary and secondary task links.
limitNo
queryNoOptional free-text device capability, product, use case, specification, or maker query.
use_caseNoExact primary use case, such as Warehousing & Logistics or Productivity.
max_priceNoMaximum listed price, inclusive.
min_priceNoMinimum listed price, inclusive.
device_typeNoExact device type, such as Smart Glasses or Handheld AI Assistant.
form_factorNoExact form factor, such as Handheld, Tabletop, or Earbuds.
availabilityNoExact availability, such as Available, Pre-order, or Discontinued.
release_date_toNoLatest release date, inclusive, in YYYY-MM-DD format.
release_date_fromNoEarliest release date, inclusive, in YYYY-MM-DD format.
manufacturing_countryNoManufacturing country name or two-letter country code.

Output Schema

NameRequiredDescriptionDefault
devicesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed22 schema fields changed
    • addedInput schema / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "query"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "device_type"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "form_factor"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "availability"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "use_case"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "min_price"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "max_price"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "manufacturing_country"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "release_date_from"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "release_date_to"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "task"
      +    ]
      +  }
      +]
    • addedInput schema / properties / availability
      Added value: +{
      +  "description": "Exact availability, such as Available, Pre-order, or Discontinued.",
      +  "enum": [
      +    "Rumored",
      +    "Announced",
      +    "Pre-order",
      +    "Available",
      +    "Limited Release",
      +    "Discontinued",
      +    "Cancelled",
      +    "Waitlist",
      +    "Delayed"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / device_type
      Added value: +{
      +  "description": "Exact device type, such as Smart Glasses or Handheld AI Assistant.",
      +  "enum": [
      +    "Smart Glasses",
      +    "AR/VR Headset",
      +    "AI Wearable",
      +    "Handheld AI Assistant",
      +    "Smart Speaker",
      +    "Smart Display",
      +    "AI Earbuds",
      +    "AI Camera",
      +    "Companion Device",
      +    "Smart Ring",
      +    "Smart Home Hub",
      +    "AI Pendant/Pin",
      +    "Smart Phone",
      +    "Other"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / form_factor
      Added value: +{
      +  "description": "Exact form factor, such as Handheld, Tabletop, or Earbuds.",
      +  "enum": [
      +    "Glasses",
      +    "Headset",
      +    "Pin/Brooch",
      +    "Pendant/Necklace",
      +    "Wristband/Watch",
      +    "Ring",
      +    "Handheld",
      +    "Tabletop",
      +    "Wall-mounted",
      +    "Clip-on",
      +    "Earbuds",
      +    "Other"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / manufacturing_country
      Added value: +{
      +  "description": "Manufacturing country name or two-letter country code.",
      +  "type": "string"
      +}
    • addedInput schema / properties / max_price
      Added value: +{
      +  "description": "Maximum listed price, inclusive.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / min_price
      Added value: +{
      +  "description": "Minimum listed price, inclusive.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"AI device name to search for."New value: +"Optional free-text device capability, product, use case, specification, or maker query."
    • addedInput schema / properties / release_date_from
      Added value: +{
      +  "description": "Earliest release date, inclusive, in YYYY-MM-DD format.",
      +  "format": "date",
      +  "type": "string"
      +}
    • addedInput schema / properties / release_date_to
      Added value: +{
      +  "description": "Latest release date, inclusive, in YYYY-MM-DD format.",
      +  "format": "date",
      +  "type": "string"
      +}
    • addedInput schema / properties / sort
      Added value: +{
      +  "default": "relevance",
      +  "enum": [
      +    "relevance",
      +    "price",
      +    "latest",
      +    "popular"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / task
      Added value: +{
      +  "description": "Exact TAAFT task name or slug. Matches primary and secondary task links.",
      +  "type": "string"
      +}
    • addedInput schema / properties / use_case
      Added value: +{
      +  "description": "Exact primary use case, such as Warehousing & Logistics or Productivity.",
      +  "enum": [
      +    "Personal Assistant",
      +    "Communication",
      +    "Health & Fitness",
      +    "Navigation",
      +    "Translation",
      +    "Smart Home Control",
      +    "Entertainment",
      +    "Productivity",
      +    "Education",
      +    "Accessibility",
      +    "Security",
      +    "Photography/Video",
      +    "Other"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "query"
      -]New value: +[]
    • addedOutput schema / properties / devices / items / properties / availability
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / devices / items / properties / maker
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / devices / items / properties / price
      Added value: +{
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / devices / items / properties / price_currency
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / devices / items / properties / primary_use_cases
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / devices / items / properties / tasks
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": "integer"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "role": {
      +        "enum": [
      +          "primary",
      +          "secondary"
      +        ],
      +        "type": "string"
      +      },
      +      "slug": {
      +        "type": "string"
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "name",
      +      "slug",
      +      "role",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / devices / items / properties / types
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / devices / items / required
      Previous value: -[
      -  "id",
      -  "entity_type",
      -  "name",
      -  "slug",
      -  "url"
      -]New value: +[
      +  "id",
      +  "entity_type",
      +  "name",
      +  "slug",
      +  "url",
      +  "description",
      +  "price",
      +  "price_currency",
      +  "types",
      +  "primary_use_cases",
      +  "maker",
      +  "availability",
      +  "tasks"
      +]
  2. Added

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so the safety profile is covered. The description adds only that filtering and sorting are supported; it does not disclose the anyOf requirement, the max page size of 50, or any result-volume behavior. No contradiction with annotations.

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?

Two tight sentences, capability first, supporting detail second, with no filler. It is well front-loaded, though the second sentence is thin enough that it could have carried the missing constraint instead of just restating filter support.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and annotations cover safety. However, the schema's anyOf (at least one of query/device_type/form_factor/availability/use_case/price/country/date/task required) is nowhere in the description, leaving a real risk of a parameter-less call error given zero required fields.

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 85%, so nearly every parameter is self-documenting with enums, ranges, and formats; baseline 3 applies. The description's list of searchable facets loosely maps to the properties but adds no syntax, matching rules, or combination semantics beyond what the schema states.

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

Purpose4/5

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

Clear verb+resource ('Search and compare AI devices') with an enumeration of searchable facets (name, description, specifications, type, use case, maker, linked task). It does not differentiate this from the sibling get_device (fetch a single device), so an agent gets the intent but not the search-vs-fetch distinction.

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 when-to-use, when-not-to-use, or alternative routing is given; get_device exists as an obvious sibling but is never mentioned. 'Supports hardware filters and sorting' hints at how to narrow results but states no preconditions, and it omits the critical rule that at least one filter/query field must be supplied.

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.