Skip to main content
Glama
tresor4k
by tresor4k
README.md
# creavores-aeo-mcp

An MCP (Model Context Protocol) server that audits any URL for **AEO (Answer Engine Optimization)** and AI-search readiness — a practical diagnostic tool, not a gadget. It checks the same things ChatGPT, Perplexity, Google AI Overviews, and agentic browsers actually look for: a citable direct answer, valid JSON-LD, `llms.txt` compliance, E-E-A-T trust signals, and whether AI crawlers/agents can read and navigate the page at all.

Built by [Les Créavores](https://lescreavores.fr), a web & SEO/AEO agency. The scoring logic is compatible with (and extends) the public [`@macalc/aeo-score`](https://www.npmjs.com/package/@macalc/aeo-score) package and the [free AEO audit tool](https://lescreavores.fr/outils/audit-aeo-gratuit/) — scores you get here match what you'd see there.

## Installation

No install step needed — run it directly with `npx`:

```bash
npx creavores-aeo-mcp
```

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "creavores-aeo": {
      "command": "npx",
      "args": ["-y", "creavores-aeo-mcp"]
    }
  }
}
```

### Claude Code

```bash
claude mcp add creavores-aeo -- npx -y creavores-aeo-mcp
```

Or add it to `.mcp.json` at the root of your project:

```json
{
  "mcpServers": {
    "creavores-aeo": {
      "command": "npx",
      "args": ["-y", "creavores-aeo-mcp"]
    }
  }
}
```

No API key, no configuration, no environment variables required. The server fetches pages directly with a self-identifying User-Agent (`creavores-aeo-mcp/1.0 (+https://lescreavores.fr)`), a 15-second timeout, and never throws — every tool returns clean JSON (including `{ "error": "..." }` on failure) so it's safe to call from any agent loop.

## Tools

### 1. `audit_aeo`

Full AEO audit: crawlability (30 pts) + content structure for AI extraction (35 pts) + E-E-A-T trust (35 pts), plus `llms.txt` and AI-bot access checks. Returns a 0-100 score, a verdict, and prioritized recommendations.

```json
{ "url": "https://example.com/pricing" }
```

→ `{ score: 78, verdict: "good", subScores: {...}, topRecommendations: [...], issues: [...] }`

### 2. `check_direct_answer`

Detects a 40-60 word direct-answer paragraph right under the H1 — the strongest single citability signal for AI engines.

```json
{ "url": "https://example.com/pricing" }
```

### 3. `extract_structured_data`

Extracts and validates every JSON-LD block: types found, parse errors, common schema.org mistakes (missing `acceptedAnswer`, missing `datePublished`, etc.), and confirms the data ships server-side (not injected client-side via `useEffect`, which many AI crawlers never execute).

```json
{ "url": "https://example.com/pricing" }
```

### 4. `check_llms_txt`

Checks existence and [llmstxt.org](https://llmstxt.org/) spec compliance: H1 title, blockquote summary, `## Section` headings, and Markdown link list items.

```json
{ "domain": "example.com" }
```

### 5. `check_eeat_signals`

Byline/author, publish/modified dates, source citations, About/Methodology page links, legal-notice links, Organization schema.

```json
{ "url": "https://example.com/blog/article" }
```

### 6. `check_agentic_readiness`

**Differentiator tool**, aligned with Lighthouse's new "Agentic Browsing" audit category: is this page readable and navigable by an AI *agent* (not just a search crawler)? Checks `llms.txt`, AI-crawler access in `robots.txt`, heading hierarchy, image alt-text coverage, ARIA landmarks, viewport meta, and canonical.

```json
{ "url": "https://example.com/app" }
```

### 7. `simulate_ai_citation`

Simulates how an AI engine would extract a citable passage: scans paragraphs, list items, table rows, and FAQ answers, scores each for self-containedness, and returns the single passage most likely to be quoted — with an explanation of why (or why not).

```json
{ "url": "https://example.com/blog/article" }
```

### 8. `compare_aeo`

Compares 2-3 URLs' AEO scores side by side — use it to benchmark yourself against a competitor.

```json
{ "urls": ["https://example.com", "https://competitor.com"] }
```

## About

Made by [Les Créavores](https://lescreavores.fr), a French web & SEO/AEO agency (Metz, France & Luxembourg). We build the tools we use ourselves — see the free [AEO audit tool](https://lescreavores.fr/outils/audit-aeo-gratuit/) (same scoring engine, browser version) and the [website pricing barometer](https://lescreavores.fr/prix-creation-site-internet/) (open dataset, CC-BY).

---

# creavores-aeo-mcp (Français)

Un serveur MCP (Model Context Protocol) qui audite n'importe quelle URL pour l'**AEO (Answer Engine Optimization)** et la préparation aux moteurs de recherche IA — un outil de diagnostic concret, pas un gadget. Il vérifie exactement ce que regardent ChatGPT, Perplexity, les AI Overviews de Google et les agents de navigation autonomes : une réponse directe citable, des données structurées JSON-LD valides, la conformité du fichier `llms.txt`, les signaux de confiance E-E-A-T, et la capacité des robots/agents IA à lire et naviguer réellement la page.

Développé par [Les Créavores](https://lescreavores.fr), une agence web et SEO/AEO. La logique de scoring est compatible avec le package public [`@macalc/aeo-score`](https://www.npmjs.com/package/@macalc/aeo-score) et l'outil gratuit d'[audit AEO en ligne](https://lescreavores.fr/outils/audit-aeo-gratuit/) — les scores obtenus ici correspondent à ceux affichés là-bas.

## Installation

Aucune étape d'installation nécessaire — lancez-le directement avec `npx` :

```bash
npx creavores-aeo-mcp
```

### Claude Desktop

Ajoutez ceci à votre `claude_desktop_config.json` :

```json
{
  "mcpServers": {
    "creavores-aeo": {
      "command": "npx",
      "args": ["-y", "creavores-aeo-mcp"]
    }
  }
}
```

### Claude Code

```bash
claude mcp add creavores-aeo -- npx -y creavores-aeo-mcp
```

Ou ajoutez-le dans le fichier `.mcp.json` à la racine de votre projet :

```json
{
  "mcpServers": {
    "creavores-aeo": {
      "command": "npx",
      "args": ["-y", "creavores-aeo-mcp"]
    }
  }
}
```

Aucune clé API, aucune configuration ni variable d'environnement requise. Le serveur récupère les pages directement avec un User-Agent identifiable (`creavores-aeo-mcp/1.0 (+https://lescreavores.fr)`), un délai d'attente de 15 secondes, et ne lève jamais d'exception non gérée : chaque outil renvoie un JSON propre (y compris `{ "error": "..." }` en cas d'échec), ce qui le rend sûr à appeler depuis n'importe quelle boucle d'agent.

## Les 8 outils

### 1. `audit_aeo`

Audit AEO complet : crawlabilité (30 pts) + structure du contenu pour l'extraction IA (35 pts) + confiance E-E-A-T (35 pts), plus vérification du `llms.txt` et de l'accès des robots IA. Renvoie un score sur 100, un verdict et des recommandations priorisées et actionnables.

```json
{ "url": "https://exemple.fr/tarifs" }
```

### 2. `check_direct_answer`

Détecte une réponse directe de 40 à 60 mots placée juste sous le H1 — le signal de citabilité le plus fort pour les moteurs IA.

```json
{ "url": "https://exemple.fr/tarifs" }
```

### 3. `extract_structured_data`

Extrait et valide chaque bloc JSON-LD : types trouvés, erreurs de parsing, erreurs courantes du schéma (par exemple `acceptedAnswer` ou `datePublished` manquants), et confirme que les données sont bien présentes côté serveur (et non injectées côté client via `useEffect`, que de nombreux robots IA n'exécutent jamais).

```json
{ "url": "https://exemple.fr/tarifs" }
```

### 4. `check_llms_txt`

Vérifie l'existence et la conformité à la spécification [llmstxt.org](https://llmstxt.org/) : titre H1, résumé en citation, sections `## Titre`, et liste de liens au format Markdown.

```json
{ "domain": "exemple.fr" }
```

### 5. `check_eeat_signals`

Signature/auteur, dates de publication et de mise à jour, citations de sources, liens vers une page À propos/Méthodologie, liens vers les mentions légales, schéma Organization.

```json
{ "url": "https://exemple.fr/blog/article" }
```

### 6. `check_agentic_readiness`

**Outil différenciant**, aligné sur la nouvelle catégorie d'audit Lighthouse « Agentic Browsing » : cette page est-elle lisible et navigable par un *agent* IA (pas seulement un robot d'indexation classique) ? Vérifie le `llms.txt`, l'accès des robots IA dans le `robots.txt`, la hiérarchie des titres, la couverture des attributs alt sur les images, les repères ARIA, la balise viewport et l'URL canonique.

```json
{ "url": "https://exemple.fr/application" }
```

### 7. `simulate_ai_citation`

Simule la façon dont un moteur IA extrairait un passage citable : analyse les paragraphes, les listes, les tableaux et les réponses de FAQ, note chacun selon son autonomie de sens (auto-suffisance), et renvoie le passage le plus susceptible d'être cité — avec une explication du pourquoi (ou du pourquoi pas).

```json
{ "url": "https://exemple.fr/blog/article" }
```

### 8. `compare_aeo`

Compare les scores AEO de 2 à 3 URL côte à côte — utile pour se comparer directement à un concurrent.

```json
{ "urls": ["https://exemple.fr", "https://concurrent.fr"] }
```

## À propos

Développé par [Les Créavores](https://lescreavores.fr), une agence web et SEO/AEO basée à Metz, en France, avec une activité au Luxembourg. Nous construisons les outils que nous utilisons nous-mêmes : découvrez l'[audit AEO gratuit](https://lescreavores.fr/outils/audit-aeo-gratuit/) (même moteur de scoring, version navigateur) et le [baromètre des prix de création de site internet](https://lescreavores.fr/prix-creation-site-internet/) (jeu de données ouvert, licence CC-BY).

Une question, une suggestion, une envie de faire auditer votre site par une équipe humaine plutôt qu'un score automatisé ? Écrivez-nous via [lescreavores.fr](https://lescreavores.fr).