> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryprofound.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Analytics capabilities

> Understand the analytics tools and resources available through Profound MCP

Profound MCP gives AI assistants read-only access to Profound's Answer Engine Optimization (AEO), brand visibility, citation, sentiment, and agent analytics data. Use this page to understand what the hosted MCP server can do before connecting it to an MCP client. To set up the server, see [Connecting to Profound MCP](/mcp/connect).

<CodeGroup>
  ```text Hosted server theme={null}
  https://mcp.tryprofound.com/mcp
  ```
</CodeGroup>

<Note>
  Profound MCP uses OAuth 2.1. Each tool runs as the authenticated Profound user and returns only the data that user can access.
</Note>

## How the tools work together

Most workflows start with discovery, then move into reports. Here's what that typically looks like:

<Steps>
  <Step title="Confirm access">
    Use `whoami` to confirm the signed-in user, available organizations, regions, and entitlements.
  </Step>

  <Step title="Find the right scope">
    Use `list_organizations`, then `list_categories` for visibility reports or `list_domains` for traffic reports.
  </Step>

  <Step title="Add optional filters">
    Use `list_regions`, `list_models`, `list_tags`, `list_topics`, and `list_prompts` to narrow a report to the relevant market, AI engine, prompt set, topic, or tag.
  </Step>

  <Step title="Run a report">
    Use the visibility, sentiment, citations, prompt answers, referrals, or bot crawl tools to retrieve analytics for a date range.
  </Step>
</Steps>

## Behavior and safety

All tools are read-only. They retrieve analytics and reference data, but don't create, update, or delete anything in Profound.

| Behavior        | What it means                                                                             |
| --------------- | ----------------------------------------------------------------------------------------- |
| Non-destructive | No tool performs destructive updates                                                      |
| Live data       | Tools read from the Profound API, so results reflect the caller's current access and data |

The following MCP hints are set on all report tools:

| Hint             | Value  | What it means                                     |
| ---------------- | ------ | ------------------------------------------------- |
| `readOnlyHint`   | `true` | The tool only reads data                          |
| `idempotentHint` | `true` | The tool is safe to retry with the same arguments |

Dates are ISO 8601 strings in `YYYY-MM-DD` format. Reports validate `start_date` and `end_date` and return an actionable error if the date window is invalid.

## Discovery tools

Use discovery tools to resolve human-readable context into IDs that report tools can use.

| Tool                 | Use it for                                                                          |
| -------------------- | ----------------------------------------------------------------------------------- |
| `whoami`             | Confirm the authenticated principal, organizations, regions, and entitlements       |
| `list_organizations` | List organizations the user can access                                              |
| `list_regions`       | List geographic regions, optionally scoped to an organization                       |
| `list_models`        | List tracked AI models such as ChatGPT, Perplexity, Google AI Overviews, and Gemini |
| `list_categories`    | List tracked categories for an organization                                         |
| `list_domains`       | List tracked domains for an organization                                            |
| `list_tags`          | List tags in a category                                                             |
| `list_topics`        | List topics in a category                                                           |
| `list_prompts`       | List configured prompts in a category, with optional status, tag, and topic filters |

<AccordionGroup>
  <Accordion title="whoami">
    Confirm the authenticated user, organizations, regions, and entitlements available to this MCP session.

    **Inputs:** none.
  </Accordion>

  <Accordion title="list_organizations">
    List the organizations the authenticated user can access. Returned IDs feed category, domain, and report tools.

    **Inputs:** none.
  </Accordion>

  <Accordion title="list_regions">
    List geographic regions configured for an organization. Omit `org_id` to see regions across all accessible organizations.

    | Input    | Required | Default | Description              |
    | -------- | -------- | ------- | ------------------------ |
    | `org_id` | No       | `null`  | Organization to scope to |

    Example:

    ```json theme={null}
    {
      "org_id": "org_123"
    }
    ```
  </Accordion>

  <Accordion title="list_models">
    List the AI models Profound tracks. Use returned model IDs to filter reports to a single engine.

    **Inputs:** none.
  </Accordion>

  <Accordion title="list_categories">
    List tracked categories, markets, or segments in an organization. Most brand visibility reports are scoped to a category.

    | Input    | Required | Default | Description                           |
    | -------- | -------- | ------- | ------------------------------------- |
    | `org_id` | Yes      | -       | Organization whose categories to list |

    Example:

    ```json theme={null}
    {
      "org_id": "org_123"
    }
    ```
  </Accordion>

  <Accordion title="list_domains">
    List tracked domains for an organization. Domains are exact hostnames, so `www.example.com` and `example.com` are distinct.

    | Input    | Required | Default | Description                                |
    | -------- | -------- | ------- | ------------------------------------------ |
    | `org_id` | Yes      | -       | Organization whose tracked domains to list |

    Example:

    ```json theme={null}
    {
      "org_id": "org_123"
    }
    ```
  </Accordion>

  <Accordion title="list_tags">
    List tags available within a category for filtering prompts and reports.

    | Input         | Required | Default | Description                 |
    | ------------- | -------- | ------- | --------------------------- |
    | `category_id` | Yes      | -       | Category whose tags to list |

    Example:

    ```json theme={null}
    {
      "category_id": "cat_123"
    }
    ```
  </Accordion>

  <Accordion title="list_topics">
    List topics available within a category for filtering prompts and reports.

    | Input         | Required | Default | Description                 |
    | ------------- | -------- | ------- | --------------------------- |
    | `category_id` | Yes      | -       | Category to list topics for |

    Example:

    ```json theme={null}
    {
      "category_id": "cat_123"
    }
    ```
  </Accordion>

  <Accordion title="list_prompts">
    List prompts configured in a category. Prompts are the questions Profound runs against AI engines to measure brand visibility.

    | Input               | Required | Default | Description                                               |
    | ------------------- | -------- | ------- | --------------------------------------------------------- |
    | `category_id`       | Yes      | -       | Category to list prompts for                              |
    | `status`            | No       | `all`   | One of `active`, `disabled`, or `all`                     |
    | `tag_ids`           | No       | `null`  | Include only prompts carrying these tags                  |
    | `topic_ids`         | No       | `null`  | Include only prompts under these topics                   |
    | `exclude_tag_ids`   | No       | `null`  | Exclude prompts carrying these tags                       |
    | `exclude_topic_ids` | No       | `null`  | Exclude prompts under these topics                        |
    | `combine`           | No       | `AND`   | How include filters combine: `AND` or `OR`                |
    | `limit`             | No       | `100`   | Maximum prompts to return                                 |
    | `cursor`            | No       | `null`  | Pagination token from a previous response's `next_cursor` |

    Example:

    ```json theme={null}
    {
      "category_id": "cat_123",
      "status": "active"
    }
    ```
  </Accordion>
</AccordionGroup>

## Brand visibility reports

These tools are scoped to a `category_id` and a date range. Use them to understand how brands appear in AI answers, how those answers feel, and which sources AI engines cite.

| Tool                    | Description                                                                                               |
| ----------------------- | --------------------------------------------------------------------------------------------------------- |
| `get_visibility_report` | How visible a brand is in AI answers and how that varies by model, topic, region, prompt, tag, or persona |
| `get_sentiment_report`  | What sentiment AI answers express about a brand or competitor and which themes are positive or negative   |
| `get_citations_report`  | Which domains, pages, or URLs are AI engines citing for this category                                     |
| `get_prompt_answers`    | What raw AI answers were observed behind the metrics                                                      |

<AccordionGroup>
  <Accordion title="get_visibility_report">
    Measure how often and how prominently a brand appears in AI answers for a category over a date range.

    Default metric: `visibility_score`.

    Other useful metrics include `share_of_voice`, `mentions_count`, `executions`, and `average_position`. Useful dimensions include `date`, `region`, `topic`, `model`, `prompt`, `tag`, and `persona`.

    | Input            | Required | Default            | Description                                             |
    | ---------------- | -------- | ------------------ | ------------------------------------------------------- |
    | `category_id`    | Yes      | -                  | Category to report on                                   |
    | `start_date`     | Yes      | -                  | Window start (inclusive) in `YYYY-MM-DD` format         |
    | `end_date`       | Yes      | -                  | Window end (inclusive) in `YYYY-MM-DD` format           |
    | `metrics`        | No       | `visibility_score` | Metrics to return                                       |
    | `dimensions`     | No       | `null`             | Group-by fields                                         |
    | `filters`        | No       | `null`             | Advanced `{ "field", "operator", "value" }` predicates  |
    | `limit`          | No       | `null`             | Top-N row cap. When set, `next_cursor` is always `null` |
    | `topic_filter`   | No       | `null`             | Narrow to one or more topics                            |
    | `tag_filter`     | No       | `null`             | Narrow to one or more tags                              |
    | `region_filter`  | No       | `null`             | Narrow to one or more regions                           |
    | `model_filter`   | No       | `null`             | Narrow to one or more AI models                         |
    | `persona_filter` | No       | `null`             | Narrow to one or more personas                          |
    | `asset_filter`   | No       | `null`             | Narrow to one or more brand or competitor assets        |
    | `cursor`         | No       | `null`             | Pagination token from a previous response               |
    | `page_size`      | No       | `500`              | First-page size, up to 10,000                           |

    Example:

    ```json theme={null}
    {
      "category_id": "cat_123",
      "start_date": "2026-04-01",
      "end_date": "2026-05-01",
      "dimensions": ["model"]
    }
    ```
  </Accordion>

  <Accordion title="get_sentiment_report">
    Measure sentiment in AI answers for a category over a date range.

    Default metrics: `positive`, `negative`, and `occurrences`. `positive` and `negative` are weighted aggregates; `occurrences` is a raw count.

    | Input            | Required | Default                               | Description                                             |
    | ---------------- | -------- | ------------------------------------- | ------------------------------------------------------- |
    | `category_id`    | Yes      | -                                     | Category to report on                                   |
    | `start_date`     | Yes      | -                                     | Window start (inclusive) in `YYYY-MM-DD` format         |
    | `end_date`       | Yes      | -                                     | Window end (inclusive) in `YYYY-MM-DD` format           |
    | `metrics`        | No       | `positive`, `negative`, `occurrences` | Metrics to return                                       |
    | `filters`        | No       | `null`                                | Advanced `{ "field", "operator", "value" }` predicates  |
    | `limit`          | No       | `null`                                | Top-N row cap. When set, `next_cursor` is always `null` |
    | `topic_filter`   | No       | `null`                                | Narrow to one or more topics                            |
    | `tag_filter`     | No       | `null`                                | Narrow to one or more tags                              |
    | `region_filter`  | No       | `null`                                | Narrow to one or more regions                           |
    | `model_filter`   | No       | `null`                                | Narrow to one or more AI models                         |
    | `persona_filter` | No       | `null`                                | Narrow to one or more personas                          |
    | `asset_filter`   | No       | `null`                                | Narrow to one or more brand or competitor assets        |
    | `theme_filter`   | No       | `null`                                | Narrow to one or more sentiment themes, such as pricing |
    | `cursor`         | No       | `null`                                | Pagination token from a previous response               |
    | `page_size`      | No       | `500`                                 | First-page size, up to 10,000                           |

    Example:

    ```json theme={null}
    {
      "category_id": "cat_123",
      "start_date": "2026-04-01",
      "end_date": "2026-05-01",
      "theme_filter": "pricing"
    }
    ```
  </Accordion>

  <Accordion title="get_citations_report">
    See which sources AI engines cite for a category, and how often, over a date range.

    Default metrics: `count` and `citation_share`. Useful dimensions include `hostname`, `path`, `root_domain`, `url`, `model`, `topic`, `prompt`, `tag`, and `persona`.

    <Note>
      `root_domain_filter` must be paired with `dimensions: ["root_domain"]`.
    </Note>

    | Input                      | Required | Default                   | Description                                                                |
    | -------------------------- | -------- | ------------------------- | -------------------------------------------------------------------------- |
    | `category_id`              | Yes      | -                         | Category to report on                                                      |
    | `start_date`               | Yes      | -                         | Window start (inclusive) in `YYYY-MM-DD` format                            |
    | `end_date`                 | Yes      | -                         | Window end (inclusive) in `YYYY-MM-DD` format                              |
    | `metrics`                  | No       | `count`, `citation_share` | Metrics to return                                                          |
    | `dimensions`               | No       | `null`                    | Group-by fields                                                            |
    | `filters`                  | No       | `null`                    | Advanced `{ "field", "operator", "value" }` predicates                     |
    | `limit`                    | No       | `null`                    | Top-N row cap. When set, `next_cursor` is always `null`                    |
    | `topic_filter`             | No       | `null`                    | Narrow to one or more topics                                               |
    | `tag_filter`               | No       | `null`                    | Narrow to one or more tags                                                 |
    | `region_filter`            | No       | `null`                    | Narrow to one or more regions                                              |
    | `model_filter`             | No       | `null`                    | Narrow to one or more AI models                                            |
    | `persona_filter`           | No       | `null`                    | Narrow to one or more personas                                             |
    | `root_domain_filter`       | No       | `null`                    | Narrow to one or more root domains. Requires `root_domain` in `dimensions` |
    | `hostname_filter`          | No       | `null`                    | Narrow to one or more hostnames                                            |
    | `citation_category_filter` | No       | `null`                    | Narrow to one or more citation categories                                  |
    | `cursor`                   | No       | `null`                    | Pagination token from a previous response                                  |
    | `page_size`                | No       | `500`                     | First-page size, up to 10,000                                              |

    Example:

    ```json theme={null}
    {
      "category_id": "cat_123",
      "start_date": "2026-04-01",
      "end_date": "2026-05-01",
      "dimensions": ["root_domain"]
    }
    ```
  </Accordion>

  <Accordion title="get_prompt_answers">
    Retrieve the actual answers AI engines gave for a category's prompts over a date range.

    | Input         | Required | Default | Description                                     |
    | ------------- | -------- | ------- | ----------------------------------------------- |
    | `category_id` | Yes      | -       | Category to retrieve prompt answers for         |
    | `start_date`  | Yes      | -       | Window start (inclusive) in `YYYY-MM-DD` format |
    | `end_date`    | Yes      | -       | Window end (inclusive) in `YYYY-MM-DD` format   |
    | `limit`       | No       | `100`   | Rows per page                                   |
    | `offset`      | No       | `0`     | Row offset for pagination                       |

    Example:

    ```json theme={null}
    {
      "category_id": "cat_123",
      "start_date": "2026-04-01",
      "end_date": "2026-05-01"
    }
    ```
  </Accordion>
</AccordionGroup>

## Traffic reports

These tools are scoped to a tracked domain, not a category. Use `list_domains` first and pass the exact hostname returned by Profound.

| Tool                   | Description                                                                          |
| ---------------------- | ------------------------------------------------------------------------------------ |
| `get_referrals_report` | How many visits did a domain receive from AI engines, and which referrers drove them |
| `get_bots_report`      | Which AI crawlers are visiting a domain, and how often                               |

<AccordionGroup>
  <Accordion title="get_referrals_report">
    Measure visits a domain received from AI engines, such as ChatGPT and Perplexity, over a date range.

    Default metric: `visits`. Useful dimensions include `referral_type`, `referral_source`, and `date`.

    | Input                    | Required | Default  | Description                                                                        |
    | ------------------------ | -------- | -------- | ---------------------------------------------------------------------------------- |
    | `domain`                 | Yes      | -        | Tracked domain, using the exact hostname from `list_domains`                       |
    | `start_date`             | Yes      | -        | Window start (inclusive) in `YYYY-MM-DD` format                                    |
    | `end_date`               | Yes      | -        | Window end (inclusive) in `YYYY-MM-DD` format                                      |
    | `metrics`                | No       | `visits` | Metrics to return                                                                  |
    | `dimensions`             | No       | `null`   | Group-by fields, such as `referral_type`, `referral_source`, or `date`             |
    | `organization_id`        | No       | `null`   | Disambiguates the domain when the caller belongs to multiple organizations         |
    | `filters`                | No       | `null`   | Advanced `{ "field", "operator", "value" }` predicates                             |
    | `limit`                  | No       | `null`   | Top-N row cap. When set, makes `next_cursor` always `null`                         |
    | `referral_source_filter` | No       | `null`   | Narrow to one or more referrer vendors, such as `openai`                           |
    | `referral_type_filter`   | No       | `null`   | Narrow to one or more referral categories: `internal`, `referer`, `utm`, or `none` |
    | `cursor`                 | No       | `null`   | Pagination token from a previous response                                          |
    | `page_size`              | No       | `500`    | First-page size, up to 10,000                                                      |

    Example:

    ```json theme={null}
    {
      "domain": "example.com",
      "start_date": "2026-04-01",
      "end_date": "2026-05-01",
      "dimensions": ["referral_source"]
    }
    ```
  </Accordion>

  <Accordion title="get_bots_report">
    Measure AI crawler activity against a domain over a date range, including bots such as GPTBot and PerplexityBot.

    Default metrics: `count` and `citations`. Useful dimensions include `bot_provider`, `bot_name`, `bot_type`, and `date`.

    | Input                 | Required | Default              | Description                                                                                 |
    | --------------------- | -------- | -------------------- | ------------------------------------------------------------------------------------------- |
    | `domain`              | Yes      | -                    | Tracked domain, using the exact hostname from `list_domains`                                |
    | `start_date`          | Yes      | -                    | Window start (inclusive) in `YYYY-MM-DD` format                                             |
    | `end_date`            | Yes      | -                    | Window end (inclusive) in `YYYY-MM-DD` format                                               |
    | `metrics`             | No       | `count`, `citations` | Metrics to return                                                                           |
    | `dimensions`          | No       | `null`               | Group-by fields, such as `bot_provider`, `bot_name`, `bot_type`, or `date`                  |
    | `organization_id`     | No       | `null`               | Disambiguates the domain when the caller belongs to multiple organizations                  |
    | `filters`             | No       | `null`               | Advanced `{ "field", "operator", "value" }` predicates                                      |
    | `limit`               | No       | `null`               | Top-N row cap. When set, makes `next_cursor` always `null`                                  |
    | `bot_provider_filter` | No       | `null`               | Narrow to one or more providers, such as `openai` or `anthropic`                            |
    | `bot_name_filter`     | No       | `null`               | Narrow to one or more individual bots, such as `GPTBot`                                     |
    | `bot_type_filter`     | No       | `null`               | Narrow to one or more bot categories: `ai_assistant`, `ai_training`, `index`, or `ai_agent` |
    | `cursor`              | No       | `null`               | Pagination token from a previous response                                                   |
    | `page_size`           | No       | `500`                | First-page size, up to 10,000                                                               |

    Example:

    ```json theme={null}
    {
      "domain": "example.com",
      "start_date": "2026-04-01",
      "end_date": "2026-05-01",
      "dimensions": ["bot_provider"]
    }
    ```
  </Accordion>
</AccordionGroup>

## Resources

Profound MCP also exposes read-only MCP resources: static reference material that an MCP client can load into context.

| Resource URI                       | Audience  | Use it for                                                         |
| ---------------------------------- | --------- | ------------------------------------------------------------------ |
| `file:///profound/glossary`        | Assistant | Compact index of Profound-specific terms to load once per session  |
| `file:///profound/glossary/full`   | User      | Full glossary with definitions and examples, larger than the index |
| `file:///profound/glossary/{term}` | Assistant | Full definition of one glossary term, addressed by slug            |

<AccordionGroup>
  <Accordion title="Glossary lookup flow">
    The glossary defines recurring Profound terms such as visibility score, share of voice, citations, prompts, and AI engines.

    A client typically loads `file:///profound/glossary` once, then fetches a specific term with `file:///profound/glossary/{term}` when it needs a precise definition. For example, use `file:///profound/glossary/visibility-score` for the visibility score definition.
  </Accordion>

  <Accordion title="Glossary structure">
    The glossary includes 38 terms across seven categories: Identity, Taxonomy, AI Engines, Prompts, Reports, Metrics, and Agents.

    Each term has a stable lowercase hyphenated slug, short summary, full description, examples, and see-also references to related terms.
  </Accordion>
</AccordionGroup>
