Skip to main content
Glama

MyDataHub

Preview sample records

preview_records
Read-onlyIdempotent

Returns up to 25 masked sample rows (10 by default) for an audience or a count id, each with verification badges, why it matches and a provenance card. Use it after count_audience to show the user what the records look like before quoting. Free: emails and phones are masked on the server, a repeat returns the same rows, and no rows come back when the count is under 25. Call quote_order next to price the records. Lawful basis is UK GDPR Article 6(1)(f) legitimate interests; email audiences include corporate subscribers only by default (PECR), so sole traders and ordinary partnerships are left out unless the toggle is changed.

Input Schema

NameRequiredDescriptionDefault
limitNoRows to return, 1 to 25. Default 10.
shuffleNoDraw a new seed. Counts against your rate budget and is logged. Default false, so a repeat returns the same rows.
audienceNo
count_idNoA count id instead of an audience.

Output Schema

NameRequiredDescriptionDefault
idYesFormat: a preview id: prv_ followed by a 26 character ULID in upper case Crockford base32, such as prv_01JB4H3M7Q2V7XN3M9R6T1Y5W8.
rowsYes
seedYesThe seed the rows came from; the same audience gives the same seed.
countYesThe count the rows were drawn from, rounded as disclosure says.
maskedYes
count_idYesFormat: a count id: cnt_ followed by 20 base32 characters (A to Z and 2 to 7), such as cnt_7K2PQ4MAXN3R6TBY5WDZ.
withheldYesRows held back: all of them when the count is under 25, or rows whose title fewer than 10 people hold.
watermarkYesThe account id watermarked into sample CSVs; null when signed out.
created_atYes
disclosureYes
dataset_versionYesThe immutable weekly build a count is bound to, such as 2026-W39. The last 52 stay queryable.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial context beyond them: server-side masking of emails and phones, free-of-charge sampling, deterministic repeats, the empty-result threshold at 25, and the PECR/corporate-subscriber default that silently narrows the email audience. That last point is a hidden scoping behaviour an agent could not infer from annotations or schema.

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 most decision-relevant facts (what comes back, the 25/10 limits, the empty-result threshold) are front-loaded, and the workflow pointers follow. The trailing legal-basis sentence is long and partly boilerplate for an invocation decision, but it does carry the PECR exclusion, so it is not wasted.

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, yet the description still summarises the row shape and, more importantly, flags the surprising empty-result condition and the deterministic repeat behaviour. Combined with the workflow ordering and the corporate-subscriber default, an agent has everything needed to call this correctly and to interpret a zero-row response.

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

Parameters3/5

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

Schema coverage is 75%, so the schema already carries most parameter meaning; the description restates the audience-or-count-id choice and the 25-row ceiling without adding format or edge-case detail. It says nothing about the shuffle parameter, which is the one parameter whose behaviour (new seed, counts against rate budget, logged) would have benefited most from narrative explanation—though the schema does cover it.

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 and resource (returns masked sample rows for an audience or count id) plus the shape of each row: verification badges, match reason and provenance card. It also implicitly separates itself from the paid retrieval path by pointing at quote_order, so an agent can distinguish it from fetch_order_records.

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 sequencing: 'Use it after count_audience' to show the user what records look like before quoting, and 'Call quote_order next to price the records.' It also states the condition under which it yields nothing useful (count under 25), which is a de facto when-not-to-use rule.

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