list_recommendations

list_recommendations MCP tool: the actions that would get a project cited by AI engines, ranked by impact. Sources to get on, local profile and zones, prompts to conquer.

Updated 2026-10-05

list_recommendations returns the actions that would get a project cited by AI engines, ranked by impact. It is the MCP view of the Action plan in the dashboard: the same list, the same order, the same decisions.

Two kinds of rows come back. A source row is a page AI engines rely on when they recommend your competitors and never you: a directory to join, a ranking to ask into, or a Reddit thread to answer. A local row, for projects with customers on site, is about the map: reviews, profile category, website, or a zone to conquer.

One row per action, even when several prompts share it. A ranking that backs your competitors on twelve prompts is one row with twelve promptIds, not twelve rows.

When to use

Start here when an agent is asked "what should I do to get cited?". The default answer is the list of actions still to do, best first. Then open the plan of a prompt or a zone with get_recommendation to see every step with its evidence, and close the loop with set_recommendation_status once an action is done.

The summary already answers the next question, "which prompts should I work on?", without a second call: the prompts where at least one engine never cites the brand, least visible first.

Input

Field Type Default Description
projectId string (CUID) required Project to query.
cursor string - Opaque pagination cursor from a prior pageInfo.nextCursor.
limit integer 20 1 to 100.
filters.types enum[] all source, local.
filters.status enum[] ["todo"] todo, done, excluded. Local rows are only listed while to do.
filters.promptIds string[] (CUID) - Only actions that touch these prompts.
filters.llms enum[] - Only actions seen on these engines.
sortBy enum score_desc score_desc (confirmed first, then impact), prompts_desc.

Response

{
  "data": [
    {
      "id": "source:https://www.semrush.com/blog/best-ai-visibility-tools",
      "type": "source",
      "action": "ranking",
      "domain": "semrush.com",
      "url": "https://www.semrush.com/blog/best-ai-visibility-tools",
      "pageTitle": "The 9 Best AI Visibility Tools in 2026",
      "competitors": ["Otterly AI", "Profound", "Peec AI"],
      "publisher": "Semrush",
      "backlinkPrice": null,
      "promptIds": ["clp1...", "clp2..."],
      "llms": ["CHATGPT", "GEMINI"],
      "score": 41,
      "confirmed": true,
      "status": "todo",
      "doneAt": null
    }
  ],
  "pageInfo": { "hasMore": true, "nextCursor": "20", "totalCount": 31 },
  "summary": {
    "localEnabled": false,
    "promptsToConquer": [
      { "promptId": "clp1...", "text": "best ai visibility tool for freelancers", "visibility": 0, "absentLlms": ["CHATGPT", "GEMINI"], "steps": 7, "done": 2 }
    ],
    "promptsToConquerCount": 17,
    "zones": []
  }
}

action is directory (sign up, done once for the whole domain), ranking (ask to be added to that exact page) or reddit (answer the thread). publisher names the competitor that publishes its own comparison: the page is still worth asking, but expect a lower answer rate. backlinkPrice is set when the site sells links in the project's backlink catalog, the paid alternative to asking.

For a local row, action is the recommendation type (reviews_count, rating, category, website, not_in_map, never_in_map, zone, page) and params carries its figures (review gap, zone name, presence).

Tips and patterns

  • Business sites and information articles never appear: there is nothing to act on. Pages not yet classified appear once the classifier has judged them, usually after the next scan.
  • id is stable across scans and is what set_recommendation_status expects.
  • A source done or excluded once is done or excluded in every plan that shares it, local zones included.
  • Pass filters.status: ["done"] to report on what was done and when (doneAt).
  • Pair backlinkPrice with list_backlink_opportunities to compare offers before buying.

Related tools

You can see where you stand today.

Free trial. Start tracking your AI visibility, no credit card.