list_prompts
list_prompts MCP tool: tracked prompts for a project with mention totals, mention rate, per-LLM visibility and the latest result. Filter by persona, category, country.
Updated 2026-04-26
list_prompts
list_prompts returns the tracked prompts of a project, with aggregate stats, per-LLM visibility and the latest scan result. It is the core read tool for visibility analysis: use it whenever a question is about "where am I mentioned?" at the prompt level.
When to use
Reach for list_prompts when the user asks "which prompts am I winning on?", "where is my mention rate dropping?", "what does ChatGPT see for prompt X?". It pairs naturally with list_competitors (who else is mentioned on those prompts) and list_fan_outs (what queries the LLMs ran behind a given prompt). Filter by personaIds or categoryIds to scope to a target audience.
Input
| Field | Type | Default | Description |
|---|---|---|---|
projectId |
string (CUID) | required | Project to query. |
cursor |
string | — | Pagination cursor. |
limit |
integer | 20 | 1 to 100. |
filters.isActive |
boolean | — | Only active or only paused prompts. |
filters.country |
string (2 chars) | — | ISO country code. |
filters.personaIds |
string[] | — | Filter by one or more persona IDs. |
filters.categoryIds |
string[] | — | Filter by one or more category IDs. |
filters.textContains |
string | — | Case-insensitive substring match. |
sortBy |
enum | recent |
recent, oldest, alphabetical. |
Response
data carries one entry per prompt with stats (totals, mention rate, per-LLM visibility) and a latestResult.perLlm array showing the most recent run on each engine.
{
"data": [
{
"id": "clxprompt001",
"text": "best AI visibility tracker for SEO consultants",
"country": "US",
"isActive": true,
"persona": { "id": "clxp1", "name": "Independent SEO consultant" },
"category": { "id": "clxc1", "name": "Comparisons", "color": "#3b82f6" },
"stats": {
"totalResults": 84,
"mentionRate": 0.6309,
"visibilityByLlm": {
"CHATGPT": 0.8,
"PERPLEXITY": 0.95,
"GEMINI": 0.4
}
},
"latestResult": {
"perLlm": [
{
"llm": "CHATGPT",
"mentioned": true,
"brandPosition": 2,
"sentiment": "positive",
"mentionCount": 3,
"runDate": "2026-04-25T06:00:00.000Z"
}
]
},
"createdAt": "2026-03-01T10:00:00.000Z"
}
],
"pageInfo": { "hasMore": true, "nextCursor": "clxprompt020", "totalCount": 47 },
"summary": { "totalPrompts": 47 }
}
Tips and patterns
- Sort by
recentto investigate fresh visibility shifts; sort byalphabeticalwhen grouping prompts by topic in a report. visibilityByLlmkeys are restricted to the LLMs actually tracked on the project. A missing LLM means the prompt has no run for it yet.latestResult.perLlm[].brandPositionisnullwhen not mentioned. Checkmentionedbefore relying on the position number.- Combine a
personaIdsfilter withsortBy: alphabeticalto produce a stable per-persona report.
Related tools
- list_fan_outs — see what sub-queries an LLM ran for a given prompt.
- list_competitors — who else gets mentioned on the same prompt set.
- list_llm_sources — which domains feed the LLMs answering these prompts.