Skip to main content
Glama

search_merchants

Read-onlyIdempotent

Search merchant spend data

Search Laso's merchant database for confirmed spend data for a given card type. Returns whether the card was accepted, not accepted, or unknown at each merchant.

Use card_type to search by the USA prepaid card (Non-Reloadable U.S., the default) or the international prepaid card (Non-Reloadable International). USA searches exclude merchants with non-US country-code TLDs; international searches do not.

Important: This database only contains merchants where Laso users have previously attempted a transaction. A merchant not being listed, or being listed as unknown, does NOT mean the card won't work there — it just means it hasn't been tried yet. If a merchant is listed as accepted, you can confidently use the card there. If listed as not_accepted, the card will fail at that merchant.

Banking and money-transfer merchants are always returned as not_accepted with a restriction_note, whatever the transaction history shows. Spending there counts as a transfer of value and is not supported on any card.

Input Schema

NameRequiredDescriptionDefault
qYesSearch query — the merchant name to search for (e.g. "amazon", "netflix")
card_typeNoWhich card type to search acceptance for. Defaults to `Non-Reloadable U.S.` if omitted (preserves existing client behavior). Pass `Non-Reloadable International` to search for international prepaid card acceptance, or `Reloadable` to search for reloadable card acceptance.Non-Reloadable U.S.

Output Schema

NameRequiredDescriptionDefault
noteNoImportant caveat about the data — this database only includes merchants where users have previously attempted transactions
countNoNumber of merchants returned
queryNoThe search query that was used
card_typeNoThe card type results are filtered for
merchantsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / card_type / description
      Previous value: -"Which card type to search acceptance for. Defaults to `Non-Reloadable U.S.` if omitted (preserves existing client behavior). Pass `Non-Reloadable International` to search for international prepaid card acceptance."New value: +"Which card type to search acceptance for. Defaults to `Non-Reloadable U.S.` if omitted (preserves existing client behavior). Pass `Non-Reloadable International` to search for international prepaid card acceptance, or `Reloadable` to search for reloadable card acceptance."
    • changedInput schema / properties / card_type / enum
      Previous value: -[
      -  "Non-Reloadable U.S.",
      -  "Non-Reloadable International"
      -]New value: +[
      +  "Non-Reloadable U.S.",
      +  "Non-Reloadable International",
      +  "Reloadable"
      +]
  2. Changed2 schema fields changed
    • removedInput schema / properties / auth_token
      Removed value: -{
      -  "description": "Laso credential. Only if the MCP connection has no Authorization header.",
      -  "type": "string"
      -}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "card_type": {
      +      "description": "The card type results are filtered for",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "count": {
      +      "description": "Number of merchants returned",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "merchants": {
      +      "items": {
      +        "description": "A merchant from the spend data database with its acceptance status for the Non-Reloadable U.S. card.",
      +        "properties": {
      +          "description": {
      +            "description": "Brief description of the merchant",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "description": "Merchant name",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "notes": {
      +            "description": "Additional notes about using the card at this merchant",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "restriction_note": {
      +            "description": "Present when the merchant is restricted rather than merely untested. Banking and money-transfer merchants are always reported as `not_accepted`, because spending there counts as a transfer of value. Approvals do occur at these merchants, so acceptance cannot be read off the transaction history. `null` for every other merchant.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "status": {
      +            "description": "Whether the Non-Reloadable U.S. card is accepted at this merchant. `accepted` = confirmed working, `not_accepted` = confirmed failing or restricted, `unknown` = card type not yet tried at this merchant. One of: accepted, not_accepted, unknown.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "url": {
      +            "description": "Merchant website URL",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "description": "Important caveat about the data — this database only includes merchants where users have previously attempted transactions",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "query": {
      +      "description": "The search query that was used",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "card_type": {
      -      "description": "The card type results are filtered for",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "count": {
      -      "description": "Number of merchants returned",
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "merchants": {
      -      "items": {
      -        "description": "A merchant from the spend data database with its acceptance status for the Non-Reloadable U.S. card.",
      -        "properties": {
      -          "description": {
      -            "description": "Brief description of the merchant",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "name": {
      -            "description": "Merchant name",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "notes": {
      -            "description": "Additional notes about using the card at this merchant",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "restriction_note": {
      -            "description": "Present when the merchant is restricted rather than merely untested. Banking and money-transfer merchants are always reported as `not_accepted`, because spending there counts as a transfer of value. Approvals do occur at these merchants, so acceptance cannot be read off the transaction history. `null` for every other merchant.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "status": {
      -            "description": "Whether the Non-Reloadable U.S. card is accepted at this merchant. `accepted` = confirmed working, `not_accepted` = confirmed failing or restricted, `unknown` = card type not yet tried at this merchant. One of: accepted, not_accepted, unknown.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "url": {
      -            "description": "Merchant website URL",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "type": [
      -        "array",
      -        "null"
      -      ]
      -    },
      -    "note": {
      -      "description": "Important caveat about the data — this database only includes merchants where users have previously attempted transactions",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "query": {
      -      "description": "The search query that was used",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  4. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: it discloses that the DB only contains previously-attempted merchants, that 'unknown' is not a failure signal, that USA searches exclude non-US country-code TLDs, and that banking/money-transfer merchants are forced to not_accepted with a restriction_note. These are non-obvious behavioral traits an agent could not infer elsewhere.

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

Conciseness5/5

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

Purpose is front-loaded, then card_type guidance, then a clearly bolded caveat block. Every sentence carries actionable interpretation guidance; nothing is filler.

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?

An output schema exists so return shape need not be spelled out, yet the description still explains what the result values mean and how to interpret absence/unknown. With annotations covering safety, nothing an agent needs to call and interpret this tool correctly is missing.

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 baseline is 3, but the description adds real semantic meaning: the card_type enum values map to concrete card products, the default behavior is explained, and USA searches are noted to exclude non-US TLD merchants — a side effect not captured in the schema.

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 specific verb+resource ('Search merchant spend data' / Laso's merchant database) and what it returns (accepted, not accepted, unknown per merchant). It is clearly distinct from siblings like search_gift_cards or search_docs, which search different corpora.

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?

Explains how to pick card_type (USA prepaid default vs international vs reloadable) and when results are trustworthy. It does not explicitly name an alternative tool or when-not-to-use, so it falls short of the top band, but usage context is clear.

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.

Resources