list_geo_audit_competitors
list_geo_audit_competitors MCP tool: competitor candidates extracted from a GEO Audit's scans, ranked by mention count, plus the current selection.
Updated 2026-07-23
list_geo_audit_competitors returns the competitor candidates of a GEO Audit, extracted from its scan results and ranked by mention count, plus the names already frozen as the selection. This is the list the agency curates while the audit sits in REVIEWING (the competitor-selection step). It is the read half of the pair completed by select_geo_audit_competitors.
When to use
When a GEO Audit reaches REVIEWING, call this tool to see which competitors the LLMs surfaced for the prospect. Pick the relevant ones, then pass their names to select_geo_audit_competitors to unblock insight generation. Useful for agencies automating audits at volume so the review step does not become a manual bottleneck.
Input
| Field | Type | Default | Description |
|---|---|---|---|
auditId |
string (CUID) | — | The GEO Audit id returned by list_geo_audits. Returns audit_not_found if it does not belong to your workspace. |
limit |
integer (1-200) | 50 | Max candidates to return on this page. Candidates are sorted by descending mention count, so the first page already holds the strongest ones. |
cursor |
string | — | Opaque cursor from a previous page's pageInfo.nextCursor to fetch the next page. |
GEO Audits are workspace-scoped, so this tool takes no projectId. A single audit can surface hundreds of raw candidates (mostly a single-mention long tail), so the list is paginated.
Response
{
"success": true,
"auditId": "clx_audit_42",
"status": "REVIEWING",
"reviewable": true,
"selectedCompetitors": [],
"suggestedCompetitors": [
{ "name": "Acme", "count": 7, "context": "Acme is a popular option for...", "url": "https://acme.com" },
{ "name": "Globex", "count": 4, "context": null, "url": null }
],
"pageInfo": { "hasMore": true, "nextCursor": "50", "totalCount": 1413 }
}
Field notes:
suggestedCompetitorsis aggregated from every scan result of the audit.countis the number of LLM responses that mentioned the competitor;contextis the first mention sentence seen (for disambiguation);urlis the first cited URL, when any.pageInfopaginates the candidate list:totalCountis the full number of distinct candidates,hasMore/nextCursorpage through them. PassnextCursorback ascursorfor the next page.reviewableistrueonly whenstatusisREVIEWING— the single status where a selection can be submitted.selectedCompetitorsreflects what is already frozen (empty until selection is submitted).
Not found
{ "success": false, "error": "audit_not_found", "message": "No GEO audit with this id exists in your workspace. Verify the auditId returned by list_geo_audits." }
Tips and patterns
- Branch on
reviewable. If it isfalse, do not callselect_geo_audit_competitors— the audit is not waiting on a selection. - Rank, then pick.
suggestedCompetitorsis pre-sorted bycount; the top entries are the strongest candidates. The first page (default 50) is almost always enough to curate; deeper pages are the single-mention long tail. - Pair with
get_geo_auditto read the audit's status lifecycle and, onceCOMPLETED, its recommendations.
Related tools
- select_geo_audit_competitors — freeze the selection and advance the audit to GENERATING.
- get_geo_audit — fetch the audit's status and, when complete, its content.
- list_geo_audits — find audits sitting in REVIEWING.