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

# Outils stratégiques

> Outils pour la perception de la marque, l’état technique, les signaux de prompts et les recommandations du Centre d’actions.

<Note>
  Consultez [Compatibilité des filtres](/fr/mcp/tools/filters) pour le contrat de filtres de référence et la couverture de chaque outil MCP.
</Note>

## get\_content\_opportunities

Fait ressortir les manques de contenu de la marque : questions suivies où des concurrents sont mentionnés mais pas la marque, questions suivies où la marque est peu visible, et principales menaces concurrentes. Utilisez-le pour prioriser la production de contenu.

### Paramètres

| Paramètre | Type | Requis | Description |
| - | - | - | - |
| `brandId` | string | Oui | L’identifiant de marque issu de `list_brands` |
| `period` | integer ou string | Non | Fenêtre d’analyse globale ; 30 jours par défaut |
| `limit` | number | Non | Nombre maximal d’opportunités renvoyées (par défaut : 10, maximum : 10) |

### Résultat

| Champ | Description |
| - | - |
| `period` / `periodLabel` | La fenêtre analysée |
| `missedOpportunities[]` | Questions où des concurrents apparaissent mais pas la marque : `question`, `keyword`, `competitorsMentioned[]` |
| `lowVisibilityQuestions[]` | Questions où la visibilité de la marque est inférieure à 30 % : `question`, `keyword`, `type`, `totalAnswers`, `brandMentions`, `visibilityRate` |
| `competitorThreats[]` | Concurrents les plus souvent présents là où la marque est absente : `name`, `mentionsWhereWeMiss` |
| `summary` | `totalMissedOpportunities`, `totalLowVisibilityQuestions`, `topThreat`, `actionNeeded` |

### Exemples de prompts

```text theme={null}
Où dois-je créer du contenu pour obtenir plus de mentions dans l’IA ?
```

```text theme={null}
Sur quelles questions est-ce que je perds face aux concurrents ?
```

### Scope OAuth

Requis : `read:visibility`

***

## get\_brand\_perception

Obtient le dernier instantané de perception de la marque : scores de sentiment, d’alignement, de cohérence et d’alignement factuel, et analyse SWOT (forces, faiblesses, opportunités, menaces). Seul l’instantané le plus récent est renvoyé. Pour l’évolution dans le temps, utilisez `get_perception_history`.

### Paramètres

| Paramètre | Type | Requis | Description |
| - | - | - | - |
| `brandId` | string | Oui | L’identifiant de marque issu de `list_brands` |

### Résultat

| Champ | Description |
| - | - |
| `snapshot.sentimentScore` | Score de sentiment global |
| `snapshot.alignmentScore` | Alignement avec le positionnement de la marque |
| `snapshot.consistencyScore` | Cohérence entre les fournisseurs IA |
| `snapshot.factualAlignment` | Alignement avec les faits connus sur la marque (description, attributs) |
| `strengths[]` | Forces de la marque identifiées par l’IA |
| `weaknesses[]` | Axes d’amélioration |
| `opportunities[]` | Opportunités de croissance |
| `threats[]` | Menaces potentielles |

### Scope OAuth

Requis : `read:visibility`

***

## get\_perception\_history

Obtient l’évolution des instantanés de perception de la marque dans le temps : scores de sentiment, d’alignement, de cohérence et d’alignement factuel, et analyse SWOT de chaque instantané historique. Pour le seul instantané le plus récent, utilisez `get_brand_perception`.

### Paramètres

| Paramètre | Type | Requis | Description |
| - | - | - | - |
| `brandId` | string | Oui | L’identifiant de marque issu de `list_brands` |
| `limit` | number | Non | Nombre maximal d’instantanés renvoyés (par défaut : 10, maximum : 20) |

### Résultat

| Champ | Description |
| - | - |
| `brand` | `id`, `name` |
| `totalSnapshots` | Nombre total d’instantanés disponibles pour la marque |
| `snapshots[]` | Par instantané : `month`, `year`, `sentimentScore`, `alignmentScore`, `consistencyScore`, `factualAlignment`, et les tableaux `strengths`, `weaknesses`, `opportunities`, `threats` |

### Exemples de prompts

```text theme={null}
Comment la perception de ma marque a-t-elle évolué dans le temps ?
```

```text theme={null}
Montre-moi mes scores de sentiment et d’alignement mois par mois
```

### Scope OAuth

Requis : `read:visibility`

***

## get\_technical\_status

Obtient l’état SEO technique : Score AI Readiness, analyse de robots.txt, llms.txt et sitemap.xml, crawlers IA bloqués et problèmes de pages ouverts par niveau de gravité.

### Paramètres

| Paramètre | Type | Requis | Description |
| - | - | - | - |
| `brandId` | string | Oui | L’identifiant de marque issu de `list_brands` |

### Résultat

| Champ | Description |
| - | - |
| `technical.aiReadinessScore` | Score AI Readiness (0 à 100), même valeur que dans le tableau de bord ; `null` lorsqu’au moins un fichier n’a pas pu être entièrement vérifié |
| `technical.aiReadinessScoreIsComplete` | `false` lorsqu’au moins un fichier n’a pas pu être entièrement vérifié |
| `technical.robotsStatus` | Statut de l’analyse de robots.txt ; `incomplete` lorsque le fichier n’a pas pu être entièrement vérifié |
| `technical.llmsStatus` | Statut de l’analyse de llms.txt ; `incomplete` lorsque le fichier n’a pas pu être entièrement vérifié |
| `technical.sitemapStatus` | Statut de l’analyse de sitemap.xml ; `incomplete` lorsque le fichier n’a pas pu être entièrement vérifié |
| `technical.blockedCrawlers[]` | Crawlers IA bloqués par robots.txt |
| `issues` | Nombre de problèmes ouverts par gravité (critical, high, medium, low) |
| `topIssues[]` | Problèmes ouverts les plus importants |

### Scope OAuth

Requis : `read:visibility`

***

## get\_prompt\_signals

Obtient l’analyse des signaux de prompts : étiquettes attaquer, défendre, surveiller ou ignorer, fondées sur la part de voix et l’ouverture du marché. Indique les prompts dans lesquels investir. Prend en charge les filtres de période, de fournisseur, de Topic, de Tag et d’étape du tunnel.

### Paramètres

| Paramètre | Type | Requis | Description |
| - | - | - | - |
| `brandId` | string | Oui | L’identifiant de marque issu de `list_brands` |
| `period` | integer ou string | Non | Fenêtre d’analyse globale ; 30 jours par défaut |
| `startDate` | string | Non | Date de début au format YYYY-MM-DD |
| `endDate` | string | Non | Date de fin au format YYYY-MM-DD |
| `providers` | string\[] | Non | Filtre par identifiants de fournisseurs (par exemple `["openai", "anthropic"]`) |
| `topicIds` | string\[] | Non | Filtre par identifiants de Topics ou de mots-clés |
| `tagIds` | string\[] | Non | Filtre par identifiants de Tags |
| `funnelStages` | string\[] | Non | Parmi `TOFU`, `MOFU`, `BOFU` et `POST_PURCHASE` |
| `limit` | number | Non | Nombre maximal de prompts par catégorie (par défaut : 5, maximum : 100) |

### Résultat

| Champ | Description |
| - | - |
| `summary.attackCount` | Prompts où le marché est ouvert et la marque sous-représentée |
| `summary.defendCount` | Prompts où la marque occupe une position forte à défendre |
| `summary.monitorCount` | Prompts à continuer de surveiller |
| `summary.ignoreCount` | Prompts peu prioritaires |
| `summary.avgOpenness` | Ouverture moyenne du marché (0 à 1) |
| `summary.visibilityRate` | Pourcentage de prompts où la marque est visible |
| `summary.avgSoV` | Part de voix moyenne sur les prompts où la marque est visible |
| `summary.totalPrompts` | Nombre total de prompts analysés |
| `topAttackPrompts[]` | Meilleures opportunités d’attaque : inclut `priorityScore`, `visibilityPct`, `quadrant` |
| `topDefendPrompts[]` | Positions à défendre : inclut `priorityScore`, `visibilityPct`, `quadrant` |

### Scope OAuth

Requis : `read:prompts`

***

## get\_site\_diagnostics

Santé du site page par page pour les pages suivies de la marque : derniers scores technique, contenu, AEO et performance, nombre de problèmes ouverts par gravité, et moyennes au niveau de la marque. Complète `get_technical_status` (vue d’ensemble de la marque) par une vue page par page.

### Paramètres

| Paramètre | Type | Requis | Description |
| - | - | - | - |
| `brandId` | string | Oui | L’identifiant de marque issu de `list_brands` |
| `limit` | number | Non | Nombre maximal de pages renvoyées (par défaut : 25, maximum : 100) |

### Résultat

| Champ | Description |
| - | - |
| `summary` | `totalPages`, `pagesAudited`, `pagesWithIssues`, `avgTechnicalScore`, `avgContentScore`, `avgAeoScore`, `avgPerformanceScore` |
| `pages[]` | Par page : `url`, `title`, `technicalScore`, `contentScore`, `aeoScore`, `performanceScore`, `issues` (`critical`/`high`/`medium`/`low`/`total`), `status`, `lastAuditAt`. Triées des moins bonnes aux meilleures (pages non auditées d’abord, puis scores les plus bas). |

### Exemples de prompts

```text theme={null}
Lesquelles de mes pages ont la pire santé technique ?
```

```text theme={null}
Montre-moi les pages qui ont des problèmes critiques ouverts
```

### Scope OAuth

Requis : `read:visibility`

***

## get\_actions

Renvoie la file de recommandations priorisées du Centre d’actions : actions déterministes avec un niveau de priorité sur 3 paliers, un score de priorité de 0 à 100, un badge de demande de 1 à 5, le « pourquoi » chiffré, les fournisseurs à l’origine des données et le moteur ciblé le cas échéant, l’effort et une checklist étape par étape.

### Paramètres

| Paramètre | Type | Requis | Description |
| - | - | - | - |
| `brandId` | string | Oui | L’identifiant de marque issu de `list_brands` |
| `actionId` | string | Non | Récupère une action précise par son identifiant, quel que soit son statut (contexte complet : signaux, pourquoi, checklist) |
| `status` | string | Non | `SUGGESTED`, `PENDING`, `IN_PROGRESS`, `COMPLETED`, `DISMISSED`, `RESOLVED`. Par défaut : file active (`SUGGESTED` + `PENDING` + `IN_PROGRESS`) |
| `type` | string | Non | Filtre par type d’action (par exemple `CONTENT_GAP`, `TECHNICAL_FIX`, `SOURCE_OUTREACH`) |
| `category` | string | Non | `TECHNICAL`, `CONTENT`, `AEO`, `AUTHORITY`, `VISIBILITY` |
| `period` | string | Non | `"1"`, `"7"`, `"14"`, `"30"`, `"all"` ou `"custom"` ; omettez-le pour la file active sur tout l’historique |
| `periodStart` / `periodEnd` | string | Non | Plage personnalisée incluse, utilisée avec `period: "custom"` |
| `providers` | string\[] | Non | Identifiants des fournisseurs à l’origine des données |
| `topicIds` | string\[] | Non | UUID de Topics |
| `tagIds` | string\[] | Non | UUID de Tags |
| `funnelStages` | string\[] | Non | Parmi `TOFU`, `MOFU`, `BOFU` et `POST_PURCHASE` |
| `limit` | number | Non | Nombre maximal d’actions renvoyées (par défaut : 25, maximum : 100) |

### Résultat

| Champ | Description |
| - | - |
| `total` | Nombre total d’actions correspondant aux filtres |
| `actions[]` | Actions priorisées : `id`, `type`, `category`, `sourceType` (famille de détecteur), `scope` (`ON_SITE` / `OFF_SITE` / `SETUP`), `title`, `description`, `sourceUrl`, `targetProvider`, `evidenceProviders[]`, `evidenceScope` (`OBSERVED` / `CURRENT` / `UNATTRIBUTED`), `forceTier` (`CRITICAL` / `HIGH` / `STANDARD`), `priorityScore` (0 à 100), `demandBadge` (1 à 5), `isQuickWin`, `effort` (`LOW` / `MEDIUM` / `HIGH`), `status`, `why`, `signals`, `target` (`baseline`, `goal`), `checklist[]` |

### Exemples de prompts

```text theme={null}
Sur quoi dois-je travailler maintenant pour améliorer ma visibilité IA ?
```

```text theme={null}
Montre-moi les actions critiques de ma file
```

### Scope OAuth

Requis : `read:visibility`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.