get_prompt_result

get_prompt_result MCP tool: the full detail of one or more prompt results: raw LLM response (opt-in), cited sources split visible/hidden, fan-out search calls and competitor mentions. Inputs, response shape, JSON example.

Updated 2026-06-08

get_prompt_result

get_prompt_result returns the full detail of one or more prompt results by id: the cited sources (split into visible and hidden), the fan-out search calls the LLM ran, the competitor mentions and, opt-in, the raw LLM response. It accepts up to 10 ids in a single call, so an agent can pull every LLM for one scan date at once. Each section is independently toggleable to keep payloads minimal.

When to use

Call this after list_prompt_results hands you the ids you care about. It is the heavy half of the read-the-history pattern: this is where the raw response and the full source list actually travel. Because the raw response is the largest field (a full LLM answer, often several KB), it is off by default. Set include.response = true when you need the text, and cap it with maxResponseChars if you only want the head.

Input

Field Type Default Description
projectId string (CUID) required Project that must own every result (scopes the access check).
resultId string (CUID) A single result id. Provide this or resultIds.
resultIds string[] (CUID) 1 to 10 result ids fetched in one call.
include.response boolean false Include the raw LLM response. Off by default (heaviest field).
include.sources boolean true Include cited sources (visible + hidden).
include.fanOut boolean true Include fan-out search calls (queries + sources).
include.competitors boolean false Include competitor mentions.
maxResponseChars integer Truncate the raw response to this many characters (sets truncated: true).

Response

data holds one object per resolved result, in the order requested. errors lists ids that were not found or not owned by the project, without blocking the rest of the batch. Sections appear only when their include flag is on.

{
  "data": [
    {
      "id": "clx_res_2001",
      "promptId": "clx_prompt_07",
      "promptText": "best affordable AI visibility tracker",
      "country": "US",
      "date": "2026-06-08T06:01:00.000Z",
      "trackingRunId": "clx_run_88",
      "llm": "PERPLEXITY",
      "persona": { "id": "clx_persona_1", "name": "Solo founder" },
      "mentioned": true,
      "mentionCount": 2,
      "brandPosition": 3,
      "sentiment": "positive",
      "mentionContext": "Listed among affordable AI visibility trackers.",
      "response": {
        "text": "There are several affordable options...",
        "length": 4820,
        "truncated": false
      },
      "sources": {
        "visible": [
          { "url": "https://g2.com/categories/geo", "title": "GEO tools on G2", "description": null, "anchorText": "G2", "position": 1 }
        ],
        "hidden": [
          { "url": "https://reddit.com/r/SEO/x", "title": "Reddit thread", "description": null, "anchorText": null, "position": 4 }
        ]
      },
      "fanOut": [
        { "queries": ["affordable ai visibility tracker"], "sources": [{ "url": "https://g2.com/categories/geo", "title": "GEO tools on G2" }], "at": "2026-06-08T06:01:00.000Z" }
      ],
      "competitors": [
        { "name": "Otterly", "rawName": "Otterly.ai", "position": 1, "context": "cited as a popular tracker", "sourceUrl": "https://otterly.ai" }
      ]
    }
  ],
  "errors": []
}

Tips and patterns

  • Leave include.response off until you actually need the text. Use responseLength from list_prompt_results to decide, and maxResponseChars to fetch just the opening.
  • Batch the ids of one scan date (one per LLM) into a single call to compare how each engine answered without N round-trips.
  • Visible sources are the ones cited inline in the answer; hidden sources are the ones shown under "More" / Sources. The split tells you what the reader actually sees versus what the LLM consulted.
  • Treat errors as expected, not fatal: an id can be missing if the result was pruned or belongs to another project.

Related tools