Skip to main content
Glama

DeepRecall - Product Safety Intelligence

search_recalls

Search for recalled products similar to your query.

This tool searches DeepRecall's global product safety database using AI-powered
multimodal matching. Provide a text description and/or product images to find
similar recalled products.

Use Cases:
- Pre-purchase safety checks: Before buying, verify if similar products were recalled
- Supplier vetting: Check if a supplier's products have safety issues
- Marketplace compliance: Verify products against recall databases
- Consumer protection: Identify potentially hazardous products

Data Sources:
- us_cpsc: US Consumer Product Safety Commission
- us_fda: US Food and Drug Administration
- safety_gate: EU Safety Gate (Europe)
- uk_opss: UK Office for Product Safety & Standards
- canada_recalls: Health Canada Recalls
- oecd: OECD GlobalRecalls portal
- rappel_conso: French Consumer Recalls
- accc_recalls: Australian Competition and Consumer Commission

Cost: 1 API credit per search

Args:
    content_description: Text description of the product (e.g., "children's toy with small parts")
    image_urls: List of product image URLs for visual matching (1-10 images)
    filter_by_data_sources: Limit search to specific agencies (optional)
    top_k: Number of results (1-100, default: 10)
    model_name: Fusion model - fuse_max (recommended), fuse_flex, or fuse
    input_weights: Weights for [text, images], must sum to 1.0
    api_key: Your DeepRecall API key (optional if provided via X-API-Key header)

Returns:
    Search results with matched recalls, scores, and product details

Example:
    search_recalls(
        content_description="baby crib with drop-side rails",
        top_k=5
    )

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
top_kNo
api_keyNo
image_urlsNo
model_nameNofuse_max
input_weightsNo
content_descriptionNo
filter_by_data_sourcesNo

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively discloses cost ('1 API credit per search'), data sources, multimodal matching, and the return type. It does not mention rate limits, error behavior, or explicit read-only status, but the 'search' verb implies a safe read operation and the cost note adds useful context beyond what the schema provides.

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?

The description is well-structured with clear sections (summary, use cases, data sources, cost, args, returns, example) and front-loaded purpose. It is somewhat long, but each section earns its place given the tool's complexity. The data source list is extensive, yet it directly supports the filter_by_data_sources parameter. No redundant 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?

Given the high complexity (7 parameters, no annotations, no output schema), the description provides strong coverage: purpose, use cases, data sources, cost, parameter constraints, an example, and a high-level returns statement. It omits detailed return fields or error handling, but the example and parameter details make the tool functionally understandable. A bit more output detail would make it fully complete, but it is very good as-is.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does so thoroughly: every parameter is explained with types, constraints, defaults, and examples. For instance, image_urls is limited to 1-10 images, top_k to 1-100 with default 10, model_name lists valid values, and input_weights must sum to 1.0. This goes far beyond the bare schema titles and provides actionable semantics.

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 opens with a clear, specific verb and resource: 'Search for recalled products similar to your query.' It further clarifies the tool's scope via 'DeepRecall's global product safety database' and 'AI-powered multimodal matching.' This clearly distinguishes it from the sibling tool get_data_sources, which is about listing data sources rather than searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases (pre-purchase safety checks, supplier vetting, marketplace compliance, consumer protection) that tell the agent when to use this tool. It does not explicitly contrast with sibling tools or state when not to use it, but the scenarios are concrete and the data sources list informs filtering. This is clear guidance, though not as explicit as naming alternatives.

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.

TDQS

A4.4/5.0
Disambiguation5/5

get_data_sources provides metadata about available regulatory agencies, while search_recalls performs the actual product recall search. These are clearly distinct purposes with no functional overlap, making tool selection unambiguous.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with snake_case (get_data_sources, search_recalls). The naming is predictable and matches the server's search-oriented purpose.

Tool Count3/5

With only two tools, the server feels minimal. However, for a specialized search service, a metadata tool and a search tool may be sufficient. Still, the count is on the thin side, potentially limiting discoverability of other useful capabilities.

Completeness4/5

The core workflow of discovering available data sources and searching for recalls is covered. A minor gap is the lack of a dedicated tool to retrieve detailed information for a specific recall ID, but the search results include sufficient product details, so agents can work around this.