Skip to main content
Glama

Get Market Whitespace

get_market_whitespace
Read-only

How much of the connection's market is missing from the CRM: for the TAM and its ICP, how many companies the data provider has, how many of them the CRM already has as accounts, how many are missing, and coverage_pct, overall and per slice (each combination of the TAM's segment values, such as industry, employee band and revenue band), plus by_segment, the same totals summed per segment value. Use it for 'how much of my TAM is missing', 'which industries have the most whitespace' and 'what has Subscription already addressed' (each slice's subscription, and the subscription list, carry Subscription's progress: added, missing, archived). IT READS THE STORED SNAPSHOT ONLY: no provider call, no credits, no CRM change. The snapshot is recomputed when the TAM is saved, on demand in the Market view and on its schedule; freshness.state says current, stale (the TAM changed since), refreshing, failed (showing the last good snapshot) or never_computed, with computed_at. READ THE NUMBERS CAREFULLY. missing is companies the provider has that the CRM lacks, not companies the provider lacks; it is null when a level or slice was not read to the end (complete false), because a partial read cannot say how many are missing. inconclusive companies may already be in the CRM under a name the matcher could not confirm and are counted in neither in_crm nor missing. by_segment can count a company in two slices twice (overlap_possible). NOT get_tam, which counts the CRM's own accounts and contacts that match the TAM filter, and NOT count_crm_records, which counts CRM records; neither knows what the CRM is missing. For the individual missing companies of one slice, pass a slice key from here to list_whitespace_companies as key. For accounts missing buyer personas, get_persona_whitespace.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
levelNoOnly the TAM or only the ICP. Omit for both.
slice_limitNoHow many slices to return per level, most missing first. Default 50. Totals and by_segment always cover every slice.
slice_offsetNoSkip this many slices, for the next page. Default 0.
connection_idYesThe CRM connection. Call list_crm_connections first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly/openWorld/destructive), but the description adds substantial operational context: it reads the stored snapshot only, triggers no provider call, consumes no credits, and makes no CRM change. It further documents freshness.state values (current/stale/refreshing/failed/never_computed) and computed_at, plus the crucial caveat that missing is null on incomplete reads and that inconclusive companies are counted in neither bucket.

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?

It is long and dense, but front-loads the core definition before the caveats, and nearly every sentence carries non-obvious meaning (snapshot semantics, missing-vs-null, overlap_possible, sibling routing). Slightly heavy for a single tool, but not padded.

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?

For a read-only analytical tool with no output schema, the description explains the return shape in detail (TAM/ICP totals, per-slice coverage_pct, by_segment overlap, subscription progress) and warns about the two easiest misreadings. Nothing an agent needs to interpret results correctly is missing.

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 description coverage is 100%, so level, slice_limit, slice_offset and connection_id are already documented, and the description adds little parameter-level syntax. Its mention of passing a slice key to list_whitespace_companies concerns output consumption rather than input semantics, so the baseline 3 applies.

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 ('how much of the connection's market is missing from the CRM') and enumerates the exact outputs (coverage_pct, by_segment, missing, inconclusive). It explicitly distinguishes itself from get_tam and count_crm_records, so an agent can select it without opening either schema.

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 concrete trigger phrasings ('how much of my TAM is missing', 'which industries have the most whitespace') and explicit negatives ('NOT get_tam... NOT count_crm_records'). It also routes follow-ups to list_whitespace_companies (via slice key) and get_persona_whitespace, covering both when-to-use and alternatives.

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.