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

# Tools reference

> All fifteen tools: what each returns, its arguments, and the questions it is built to answer.

Every tool is read-only and returns readable text your agent can quote. Common arguments:

* `org_id` (string, optional): from `list_workspaces`. Defaults to the workspace you chose at sign-in.
* `site_id` (string): from `list_sites`. Never guess this value.

## Workspaces and sites

### list\_workspaces

The Koalr workspaces (organisations) this account belongs to, with each `org_id` and your role. Call first to find a valid `org_id`. No arguments.

### list\_sites

The sites (projects) tracked in a workspace, with their domain and when their AI visibility data was last refreshed.

<ParamField path="org_id" type="string">Workspace to list.</ParamField>

## Visibility

### get\_visibility\_summary

How visible a site is in AI answers: the headline Prompt Visibility Rate, Share of Voice and Sentiment exactly as the Dashboard shows them, then the same three per platform, plus the weakest topics. For "how am I doing" and "which platform am I weakest on".

<ParamField path="site_id" type="string" required>Site to report on.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

### search\_prompts

The prompts a site is tracked against and how it performs on each over the past 30 days. Pass `query` to find specific prompts; omit it to list the weakest. Branded prompts are marked and left out of the weakest list, and a high figure on one must never be reported as a win.

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="query" type="string">Words to match against prompt text.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

### get\_prompt\_detail

What each AI platform actually answered for one prompt, with excerpts, the brands named alongside the site, and whether it was mentioned. The headline visibility covers the whole 30-day window; the excerpts are a recent sample of it, so agents should not recompute a rate from them.

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="prompt_id" type="string" required>The prompt, as returned by `search_prompts`.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

## Competitors and citations

### get\_competitors

The site ranked against its tracked competitors, matching the AI Visibility Leaderboard. Two numbers per brand: Prompt Visibility Rate (independent per brand, does not total 100) and Share of Voice (totals about 100). For "who am I losing to".

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

### get\_citations

Which domains and pages AI cites for the site's prompts, and whether the site itself is cited. For "which pages get cited" and "where do AI answers get their information".

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="limit" type="integer">Rows to return, 1 to 50. Default 15.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

### get\_gaps

Prompts and third-party pages where competitors are cited or mentioned and the site is not: the actionable list. For "where am I missing".

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="limit" type="integer">Gaps to return, 1 to 50. Default 15.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

## Actions and traffic

### get\_actions

The prioritised Actions list: citation gaps, content opportunities, GEO and Agent Experience fixes, competitor outreach. Scored 0 to 100 for value and returned best first, the same order the Action Centre shows. For "what should I do next".

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="limit" type="integer">Actions to return, 1 to 25. Default 10.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

### get\_ai\_traffic

Visits the site received from AI platforms, by platform and landing page. Requires Google Analytics to be connected. For "is AI sending me traffic".

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="days" type="integer">Window in days, 1 to 90. Default 30.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

## Content

### get\_content\_opportunities

What is worth writing for the site, ranked. Each opportunity names the tracked prompt the piece should target and, where there is a page in play, what to do with it. The content view of `get_actions`, so the two never disagree.

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

### get\_page\_revisions

Which of the site's existing pages are worth reworking, ranked, each with an effort band (Quick win, Worth a session, Rebuild), what is missing and the prompts it could win. Preferred over new content when the customer is short of time.

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

### get\_revision\_detail

What to change on one page: where it stands today, the specific changes worth making, and the prompts each change would help win. Where a change carries wording, it is the passage on the page today and the copy to replace it with, verbatim. Reads stored data only; never re-crawls or generates.

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="page_id" type="string" required>The page, as returned by `get_page_revisions`.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

### get\_content\_performance

Whether the content the site has published is being cited by AI yet, piece by piece. Only covers pieces where the customer told Koalr the published address. Engines take a few weeks to pick up a new page, so a recent zero is normal.

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

## Site health

### get\_site\_health

The technical AI readiness of the site in two parts: the GEO Audit (site score plus weakest categories) and Agent Experience (schema, llms.txt and bot access as one score). These describe the site itself, not visibility in answers.

<ParamField path="site_id" type="string" required>Site.</ParamField>
<ParamField path="org_id" type="string">Workspace.</ParamField>

## Response conventions

* Numbers match the app exactly and carry a freshness stamp.
* Branded prompts are labelled and never presented as wins.
* The retired composite score is never returned.
* Excerpts from AI answers are marked as untrusted content.
