mcp

run_audit_anonymous

Outil MCP qui lance un audit SEO + lisibilité IA ponctuel sur une URL publique, sans auth. 11 modules, ~90 contrôles, 1 audit par IP par 24h.

Ce que fait cet outil

run_audit_anonymous lance un audit SEO et de lisibilité IA synchrone et ponctuel sur n’importe quelle URL publique, sans authentification. C’est le seul outil MCP qui n’exige pas de clé API.

  • Crawl côté serveur de l’URL, exécution du moteur de règles complet et blocage jusqu’à ce que les constats soient prêts.
  • Renvoie les scores des 11 modules d’audit (technique, on-page, performance, IA, SEO moderne, social, accessibilité, confidentialité, lisibilité, stack technique, plus un score total agrégé).
  • Émet des constats par règle avec passed, severity, title, recommendation optionnel et un docs_url pointant vers metricspot.com/docs/<rule>/.
  • N’inclut PAS les Core Web Vitals de Google PSI (utilisez run_audit pour un scoring PSI complet).
  • Plafonné à 1 audit par IP par 24 heures. Pour un volume supérieur, émettez une clé API et utilisez run_audit.

Pourquoi c’est important

run_audit_anonymous est le point d’entrée sans friction. Un agent peut auditer une URL dès la première fois qu’un utilisateur la mentionne, sans compte, sans clé, et sans autre installation que celle du serveur MCP.

Workflows concrets :

  • Un agent de premier contact reçoit la question “est-ce que metricspot.com est correctement indexé ?” et lance l’audit en ligne avant même que l’utilisateur ne se soit inscrit.
  • Un agent de relecture de landing page dans Claude Code lit une URL publique de concurrent, appelle run_audit_anonymous et utilise les constats pour briefer le rédacteur sur ce qu’il faut surpasser.

Comment l’utiliser

L’outil est synchrone : la réponse bloque (jusqu’à ~120 s) jusqu’à ce que les constats soient prêts. Il n’y a pas d’audit_id à interroger car les audits anonymes ne sont pas persistés dans votre compte ; la réponse contient le résultat complet.

Schéma d’entrée

{
  "type": "object",
  "properties": {
    "url": { "type": "string", "format": "uri", "maxLength": 2000 }
  },
  "required": ["url"]
}

Exemple de schéma de réponse

{
  "audit_id": "anonymous",
  "url": "https://example.com",
  "status": "complete",
  "total_score": 78,
  "module_scores": {
    "technical": 92,
    "onpage": 71,
    "performance": 64,
    "ai": 80,
    "modern_seo": 75,
    "social": 60,
    "accessibility": 88,
    "privacy": 70,
    "readability": 82,
    "tech_stack": 100
  },
  "findings": [
    {
      "module": "onpage",
      "rule_id": "onpage.title_length",
      "passed": false,
      "severity": "major",
      "title": "Title is too short",
      "recommendation": "Aim for 50-60 characters with the primary keyword near the front.",
      "docs_url": "https://metricspot.com/docs/onpage-title-length/"
    }
  ],
  "created_at": "2026-05-13T10:15:32.000Z"
}

audit_id vaut toujours littéralement "anonymous". pdf_url et report_url ne sont pas renvoyés pour les audits anonymes.

Claude Code

claude mcp add --transport http metricspot https://mcp.metricspot.com/mcp

Demandez :

Lance un audit MetricSpot anonyme sur https://example.com et liste chaque constat critique avec son docs_url.

Cursor

.cursor/mcp.json :

{
  "mcpServers": {
    "metricspot": { "url": "https://mcp.metricspot.com/mcp" }
  }
}

Demandez :

Utilise run_audit_anonymous sur cette URL et dis-moi quelles règles de lisibilité IA ont échoué.

Python (HTTP brut)

import httpx

r = httpx.post(
    "https://mcp.metricspot.com/mcp",
    headers={
        "content-type": "application/json",
        "accept": "application/json, text/event-stream",
    },
    json={
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/call",
        "params": {
            "name": "run_audit_anonymous",
            "arguments": {"url": "https://example.com"},
        },
    },
    timeout=180.0,
)
print(r.json()["result"]["content"][0]["text"])

Node / TypeScript (HTTP brut)

const res = await fetch("https://mcp.metricspot.com/mcp", {
  method: "POST",
  headers: {
    "content-type": "application/json",
    accept: "application/json, text/event-stream",
  },
  body: JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "tools/call",
    params: {
      name: "run_audit_anonymous",
      arguments: { url: "https://example.com" },
    },
  }),
});
const json = await res.json();
console.log(JSON.parse(json.result.content[0].text));

Erreurs courantes

CodeQuandAction
INVALID_URL (400)URL manquante, malformée ou de plus de 2000 caractèresPassez une URL absolue en https://
RATE_LIMITED (429)L’IP a déjà lancé un audit anonyme dans les dernières 24hPatientez, ou émettez une clé API et utilisez run_audit
UPSTREAM_FAILED (5xx)Hôte cible injoignable ou erreur du pipeline d’auditRéessayez une fois ; retryable: true est positionné sur les échecs transitoires

Questions fréquentes

Pourquoi les Core Web Vitals ne sont-ils pas inclus ?

Les appels PSI coûtent de l’argent et du quota même à MetricSpot, ils sont donc réservés à run_audit authentifié. Les audits anonymes renvoient quand même ~90 contrôles sur les 10 autres modules. Si vous avez besoin de LCP, CLS et INP, obtenez une clé API et appelez run_audit à la place.

Puis-je lancer plus d’un audit anonyme par jour ?

Pas depuis la même IP. Le plafond est appliqué côté serveur pour prévenir les abus. Une fois que vous disposez d’une clé API, run_audit lève la limite à votre quota de plan : Free 10 par mois, Starter 50, Pro illimité.

Les audits anonymes sont-ils sauvegardés dans mon compte ?

Non. Ils ne sont pas persistés, n’apparaissent pas dans list_audits et ne peuvent pas être récupérés ensuite avec get_audit. Le résultat complet est renvoyé dans la réponse unique, capturez-le côté client si vous voulez le conserver.

Sources

Dernière mise à jour 2026-05-13