Skip to main content
Glama

Get Persona Whitespace

get_persona_whitespace
Read-only

Which of the ICP's accounts are missing target buyer personas: the target personas (from the TAM's and ICP's people criteria, such as Persona is Sales Leader or Operations Leader), each account's coverage (complete, partial or none), how many of the personas it has someone for, the personas it is missing, and per persona how many people the provider has at that company and how many contacts the CRM has. Also average_covered across the ICP's accounts, coverage_counts and complete_pct. Use it for 'which ICP accounts are missing a Sales Leader', 'accounts missing two or more personas', 'how many target accounts have the whole buying committee' and where to add contacts first. COVERAGE IS PER ACCOUNT, not a count of contacts: a persona is missing at an account when the provider has people for it there and the CRM has none; one with no provider people is not missing. IT READS THE STORED SNAPSHOT ONLY: no provider call, no credits, no CRM change; freshness says how current it is. Only ICP accounts that carry a provider company id are counted (unmatched_accounts says how many could not be), and at most 500 per refresh (past_cap). Each account's subscription shows Subscription's progress there, where it was run. defined is false when the ICP names no people. For company-level whitespace, get_market_whitespace.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many accounts to return, biggest gap first. Default 50.
offsetNoSkip this many accounts, for the next page. Default 0.
coverageNoOnly accounts with this coverage.
min_missingNoOnly accounts missing at least this many personas.
connection_idYesThe CRM connection. Call list_crm_connections first.
missing_personaNoOnly accounts missing this persona, by its label or key, as listed in target_personas.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint/destructiveHint annotations it discloses non-obvious behavior: it reads the stored snapshot only (no provider call, no credits, no CRM change), only accounts carrying a provider company id are counted, at most 500 per refresh (past_cap), unmatched_accounts reports exclusions, and defined is false when the ICP names no people. The definitional rule that 'missing' requires provider people present but no CRM contacts is exactly the kind of semantics an agent cannot infer.

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 purpose and the company-level alternative are front-loaded, but the middle is a dense run-on that jams return fields, definitional caveats, capping behavior and subscription state into one block, compounded by ALL-CAPS emphasis. Almost every clause earns its place, but the wall-of-text formatting makes it harder to scan than it needs to be.

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?

With no output schema, the description carries the full return-shape burden and does so: it names each returned field group (per-persona provider/CRM counts, coverage_counts, average_covered, complete_pct, unmatched_accounts, past_cap, subscription progress). For a filtered analytical read tool, nothing an agent needs to call it 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 the schema already documents limit/offset/coverage/min_missing. The description still adds real meaning: it defines what 'coverage' means per account (not a contact count), clarifies when a persona counts as missing, and points the missing_persona value at the labels/keys listed in target_personas, which the schema only gestures at.

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 opening states a specific verb and resource ('Which of the ICP's accounts are missing target buyer personas') and then enumerates the exact output shape (target personas, per-account coverage, missing personas, average_covered, coverage_counts, complete_pct). It explicitly routes the adjacent company-level case to get_market_whitespace, so an agent can separate it from get_market_whitespace and list_whitespace_companies without opening any 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?

It gives concrete trigger queries ('which ICP accounts are missing a Sales Leader', 'accounts missing two or more personas', 'how many target accounts have the whole buying committee', where to add contacts first) and names the alternative tool for company-level whitespace. The when-to-use and the sibling-selection rule are both explicit.

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.