Skip to main content
Glama

Shelf (starter lists)

list_products
Read-onlyIdempotent

The shelf — ready-made business type × state lists, with live counts.

Returns the same live document `list_starters` returns —
`{"count": N, "starters": [...]}`, one entry per (state, business type)
with its display `label`, the exact `filters` it opens with, the graded
counts (`matching`, `sellable`, `verified_one`, `verified_both`) and
`price_from_cents` (the name-and-address grade — the floor, not a flat
price) — plus a `note`. The shelf is the starter lists: every count here is live, the price is quoted per record by `quote_list`, and the payment link comes from `checkout_list`. Every purchase is one-time; a buyer who wants new filings to keep coming sets up a standing order from a paid order's receipt, billed monthly for the records actually delivered.
There are no fixed-price products and nothing here carries a
`product_id`: pass a starter's `filters` to `quote_list` for the exact
count and price, then to `checkout_list` for the link. name and address $0.25 per record · plus one verified phone or email $0.50 · plus both $0.70 (price rule v1; live prices always come from the summary call's `prices` block).
Only sellable records (the filing names a person) are ever billed, and
the selected records are frozen when the link is minted, so what is
billed is what is delivered. Evaluate before buying: `browse_leads` with
the same `filters` shows real masked records for free.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "title": "list_productsDictOutput",
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the read-only/idempotent annotations, the description discloses live counts, absence of product_id, the pricing rule, one-time vs standing order billing, sellable-record billing, and record freezing when a link is minted. This is rich behavioral context that materially helps an agent understand what the tool and its outputs mean.

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

Conciseness3/5

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

The description is front-loaded with the core definition and uses line breaks to structure topics, but it is long and somewhat repetitive, e.g. 'The shelf is the starter lists' restates the opening and the pricing/billing details could be trimmed. Most sentences earn their place, but the overall length is heavier than necessary.

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?

The description covers the return shape, the meaning of each count, pricing, billing behavior, freezing, and the recommended preview path, so an agent can use the tool and its output effectively. The only notable gap is the unresolved relationship with list_starters, which prevents a perfect score.

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?

The tool has zero parameters and the schema coverage is trivially 100%, so there is nothing to document. Per the baseline for no-parameter tools, a 4 is appropriate; the description even explains how the output's filters become parameters for quote_list and checkout_list.

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?

The description clearly identifies the resource as the shelf of ready-made business type × state lists with live counts, and states that it returns the same document as list_starters. However, it does not differentiate list_products from list_starters; it explicitly equates them, so an agent is left unsure which sibling to prefer.

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

Usage Guidelines3/5

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

The description gives useful downstream context: pass filters to quote_list for pricing, use checkout_list for payment, and preview with browse_leads. But it never says when to call list_products versus list_starters, and there is no explicit when-not or alternative-selection guidance for this tool itself.

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