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

# Domains Tools — Rankahead MCP Reference

> Manage tracked domains and competitors in Rankahead via MCP. Add domains, list competitors, and retrieve scraped metadata for AI visibility analysis.

Domains are the primary organizational unit in Rankahead. Every prompt, content piece, and visibility metric is scoped to a domain. The domain tools let you list and inspect your tracked domains, manage the competitors you measure against, and add new domains or competitors — optionally triggering a homepage scrape to populate metadata automatically.

***

## list\_domains

Returns all domains currently tracked in your account, including scrape status and associated entity counts (prompts, competitors, blog posts).

This tool takes no input parameters.

<CodeGroup>
  ```json Request theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "list_domains",
      "arguments": {}
    },
    "id": 1
  }
  ```
</CodeGroup>

<ResponseField name="domains" type="object[]">
  Array of domain objects, each containing the domain ID, name, website URL, scrape status, and entity counts.
</ResponseField>

<ResponseField name="domains[].domainId" type="string">
  Unique identifier for the domain.
</ResponseField>

<ResponseField name="domains[].scrapeStatus" type="string">
  Status of the last homepage scrape: `PENDING`, `COMPLETE`, or `FAILED`.
</ResponseField>

***

## get\_domain

Returns full details for a single tracked domain, including scraped metadata such as page title, meta description, and detected brand signals.

<ParamField path="domainId" type="string" required>
  The ID of the domain to retrieve.
</ParamField>

<CodeGroup>
  ```json Request theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_domain",
      "arguments": {
        "domainId": "dom_01j9z3k8p4c2x"
      }
    },
    "id": 2
  }
  ```
</CodeGroup>

<ResponseField name="domainId" type="string">
  Unique identifier for the domain.
</ResponseField>

<ResponseField name="name" type="string">
  Display name of the domain.
</ResponseField>

<ResponseField name="website" type="string">
  The tracked website URL.
</ResponseField>

<ResponseField name="metadata" type="object">
  Scraped homepage metadata including page title, meta description, and other detected signals.
</ResponseField>

***

## list\_competitors

Returns all tracked competitors. You can optionally scope results to a specific domain if you track multiple brands.

<ParamField path="domainId" type="string">
  Optional domain ID to filter competitors to a specific tracked domain.
</ParamField>

<CodeGroup>
  ```json Request — all competitors theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "list_competitors",
      "arguments": {}
    },
    "id": 3
  }
  ```

  ```json Request — by domain theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "list_competitors",
      "arguments": {
        "domainId": "dom_01j9z3k8p4c2x"
      }
    },
    "id": 4
  }
  ```
</CodeGroup>

***

## get\_competitor

Returns full details for a single tracked competitor, including their scraped homepage metadata if a website was provided when the competitor was added.

<ParamField path="competitorId" type="string" required>
  The ID of the competitor to retrieve.
</ParamField>

<CodeGroup>
  ```json Request theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_competitor",
      "arguments": {
        "competitorId": "cmp_03mbn4s2o8ez"
      }
    },
    "id": 5
  }
  ```
</CodeGroup>

<ResponseField name="competitorId" type="string">
  Unique identifier for the competitor.
</ResponseField>

<ResponseField name="name" type="string">
  Display name of the competitor.
</ResponseField>

<ResponseField name="website" type="string">
  The competitor's website URL, if provided.
</ResponseField>

<ResponseField name="metadata" type="object">
  Scraped homepage metadata, populated if a website URL was supplied during creation.
</ResponseField>

***

## add\_competitor

Adds a new competitor to a tracked domain. If you provide a website URL, Rankahead will scrape the homepage asynchronously to populate metadata.

<ParamField path="domainId" type="string" required>
  The ID of the domain this competitor belongs to.
</ParamField>

<ParamField path="name" type="string" required>
  Display name of the competitor (e.g. "Rival CRM").
</ParamField>

<ParamField path="website" type="string">
  The competitor's website URL. If provided, a homepage scrape is triggered automatically.
</ParamField>

<CodeGroup>
  ```json Request — name only theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "add_competitor",
      "arguments": {
        "domainId": "dom_01j9z3k8p4c2x",
        "name": "Rival CRM"
      }
    },
    "id": 6
  }
  ```

  ```json Request — with website theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "add_competitor",
      "arguments": {
        "domainId": "dom_01j9z3k8p4c2x",
        "name": "Rival CRM",
        "website": "https://rivalcrm.com"
      }
    },
    "id": 7
  }
  ```
</CodeGroup>

***

## create\_domain

Adds a new domain to your Rankahead account. If you provide a website URL, a homepage scrape is triggered asynchronously to populate brand metadata.

<ParamField path="name" type="string" required>
  Display name for the domain (e.g. "Acme CRM").
</ParamField>

<ParamField path="website" type="string">
  The domain's website URL. If provided, a homepage scrape is triggered automatically.
</ParamField>

<CodeGroup>
  ```json Request — name only theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "create_domain",
      "arguments": {
        "name": "Acme CRM"
      }
    },
    "id": 8
  }
  ```

  ```json Request — with website theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "create_domain",
      "arguments": {
        "name": "Acme CRM",
        "website": "https://acmecrm.com"
      }
    },
    "id": 9
  }
  ```
</CodeGroup>

<ResponseField name="domainId" type="string">
  Unique identifier for the newly created domain.
</ResponseField>

***

## delete\_competitor

Permanently removes a competitor from your account. This action cannot be undone and will remove the competitor from all historical comparisons.

<ParamField path="competitorId" type="string" required>
  The ID of the competitor to delete.
</ParamField>

<Warning>
  Competitor deletion is permanent. All share-of-voice comparisons and historical data for this competitor will be removed.
</Warning>

<CodeGroup>
  ```json Request theme={null}
  {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "delete_competitor",
      "arguments": {
        "competitorId": "cmp_03mbn4s2o8ez"
      }
    },
    "id": 10
  }
  ```
</CodeGroup>
