Skip to main content
Glama

Find supplier

find_supplier
Read-onlyIdempotent

Resolve a supplier name, fragment or acronym to the workspace's suppliers, with catalogue-product and open-recommendation counts. Use it before filtering by supplier, or with no query and order_by open_recommendations to rank suppliers by what awaits action. For a supplier's products use search_catalogue.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum suppliers to return (1 to 50).
queryNoSupplier name, fragment or acronym; omit to list every supplier.
order_byNoproducts (default) = most catalogue products first; open_recommendations = most open recommendations first, for a ranking by what awaits action.
email_domainNoA sender's email domain or address (acme.com.au or rep@acme.com.au), matched exactly against the domains on supplier profiles instead of the name. Use instead of query, not with it.

Output Schema

NameRequiredDescriptionDefault
scopeYes
suppliersYesMatching suppliers with catalogue-product and open-recommendation counts.
truncatedYesTrue when more rows matched than were returned.
ordered_byYes
evidence_idYesHandle for these rows within this call's results. Not a citation.
domain_matchNoFor an email_domain lookup: unique = exactly one supplier lists the domain; ambiguous = several do, choose with the person; none = no supplier in the remit lists it.
email_domainNoFor an email_domain lookup: the normalized domain compared, or null when the input was not a usable domain.
returned_rowsYesRows in this response.
domain_match_noteNoFor an email_domain lookup: what the match status means for choosing a supplier.
source_evidence_idsYesWorkspace evidence IDs backing these rows. Empty when the source carries no evidence records.
total_matching_rowsYesRows that matched before any limit.
total_open_recommendationsNoOpen recommendations across every supplier in the remit.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / email_domain
      Added value: +{
      +  "description": "A sender's email domain or address (acme.com.au or rep@acme.com.au), matched exactly against the domains on supplier profiles instead of the name. Use instead of query, not with it.",
      +  "maxLength": 320,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedOutput schema / properties / domain_match
      Added value: +{
      +  "description": "For an email_domain lookup: unique = exactly one supplier lists the domain; ambiguous = several do, choose with the person; none = no supplier in the remit lists it.",
      +  "enum": [
      +    "unique",
      +    "ambiguous",
      +    "none"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / domain_match_note
      Added value: +{
      +  "description": "For an email_domain lookup: what the match status means for choosing a supplier.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / email_domain
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "For an email_domain lookup: the normalized domain compared, or null when the input was not a usable domain."
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum suppliers to return (1–50)."New value: +"Maximum suppliers to return (1 to 50)."
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral context beyond that: results carry catalogue-product and open-recommendation counts, and the ranking orientation changes with order_by. It does not discuss the returned shape in detail, but the output schema covers that.

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?

Three dense sentences with no filler, front-loading the resolve behavior before the usage guidance and the sibling pointer. Slightly compressed, but every clause carries actionable 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?

With annotations covering the safety profile and an output schema covering return values, the description supplies everything else an agent needs: what it resolves, how to rank, when to prefer it, and which sibling to use instead. No material gap remains.

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, but the description adds a real constraint the schema omits: email_domain is 'Use instead of query, not with it', clarifying mutual exclusion that the schema leaves implicit. It also frames order_by=open_recommendations in terms of ranking by pending action, reinforcing the enum 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?

States a precise verb+resource+scope: 'Resolve a supplier name, fragment or acronym to the workspace's suppliers' and adds what comes back (product and open-recommendation counts). It names the sibling boundary ('For a supplier's products use search_catalogue'), so an agent can separate it from search_catalogue without opening schemas.

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?

Gives explicit when-to-use rules: before filtering by supplier, or with no query and order_by=open_recommendations to rank by pending work. It also names the correct alternative for a different need (search_catalogue for a supplier's products), so selection is fully determined.

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.