Skip to main content
Glama

find_business_buyer

Read-onlyIdempotent

Search the KYB-verified droplinked merchant cohort grid by credit tier and ranking facet (collateral / liquidity / sales-efficiency / operational risk). Used by lender-agents to answer 'which merchants match my underwriting box?' — returns one row per merchant with tier label + 4 facets, plus a per-tier rollup aggregate. Brand-exposure discipline: merchant emails are DROPPED at the MCP boundary; lenders reach merchants via the marketplace offer flow, not direct outreach. Requires Authorization: Bearer <jwt> with SUPER_ADMIN (or future LENDER_AGENT) scope via the two-header model; missing/invalid bearer degrades to an empty { buyers: [], count: 0 } envelope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
criteriaNo
agentBearerNo

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint), the description discloses substantial behavioral details: merchant emails are dropped at the MCP boundary, authentication requires a Bearer JWT with a specific scope via a two-header model, and invalid/missing credentials degrade to an empty envelope. It also describes the output shape (rows with tier and 4 facets, plus a rollup aggregate). This goes far beyond what annotations provide.

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 four dense sentences, each carrying essential information: purpose, output, brand-exposure constraint, and authentication. It is front-loaded with purpose and avoids fluff, though it is slightly longer than minimal.

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 tool's complexity (nested criteria, no output schema), the description provides a good high-level picture: what it searches, what it returns, and how auth/errors behave. It does not detail the exact output schema or all parameter semantics, but it is complete enough for an agent to understand the tool's role and safety profile.

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 0%, so the description must compensate for parameters. It mentions 'credit tier' and 'ranking facet', which maps to criteria.tier and criteria.sortBy, but it uses different enum names ('sales-efficiency' vs 'efficiency', 'operational risk' vs 'risk') than the schema, which could confuse the agent. It also does not explain the nested criteria object structure, nor limit, order, windowDays, or agentBearer. The partial mapping is not enough to fully compensate.

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 clearly states a specific verb ('Search') targeting a specific resource ('KYB-verified droplinked merchant cohort grid') with scoping criteria ('by credit tier and ranking facet'). It also distinguishes itself from sibling tools by its lender-agent use case and the unique cohort grid, making it clear what this tool does and how it differs from find_merchant or other search tools.

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 explicitly states when to use it: 'Used by lender-agents to answer which merchants match my underwriting box?' It also provides a when-not via the brand-exposure discipline, saying lenders should use the marketplace offer flow, not direct outreach. However, it does not name alternative sibling tools, so it falls short of a 5.

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

B3.4/5.0
Disambiguation2/5

Many tools have overlapping purposes, such as find_inventory, search_products, list_shop_products, and get_product all dealing with product discovery/retrieval with subtle differences. Similarly, verify_brand_attestation and get_brand_attestation_status could be confused, as could get_trust_dossier and get_underwriting_signals. The sheer number of verification and lookup tools makes it difficult to pick the right one without careful reading.

Naming Consistency2/5

The cart tools use a dot-separated camelCase convention (cart.addLine, cart.updateLineQuantity), while the rest use snake_case with varied verbs (find_, get_, list_, search_, verify_, request_, quote_, etc.). This mixing of conventions and inconsistent verb choices (e.g., find_inventory vs search_products vs list_shop_products) makes the tool names unpredictable.

Tool Count2/5

With 38 tools, this server is heavily overloaded. The guidance suggests 25+ tools is too many, and this server exceeds that threshold. While the domain spans commerce, trust attestations, and lending, the count is excessive for a coherent single-server toolkit.

Completeness3/5

The tool surface is extremely broad, covering cart management, checkout, product discovery, trust verification, and lending workflows. However, there are notable gaps: no cart retrieval or order history, no revoke/update for attestations, and some key lending tools (quote_credit_terms, report_repayment) are scaffolded but not yet functional, creating dead ends.

Resources