mcp

run_audit_anonymous

Strumento MCP che esegue un audit one-shot SEO + leggibilità AI su qualsiasi URL pubblico senza auth. 11 moduli, ~90 check, 1 audit per IP/24h.

Cosa fa questo strumento

run_audit_anonymous esegue un audit sincrono e one-shot di SEO e leggibilità AI su qualsiasi URL pubblico senza autenticazione. È l’unico strumento MCP che non richiede una API key.

  • Effettua il crawl dell’URL lato server, esegue il motore completo delle regole e blocca finché i finding non sono pronti.
  • Restituisce i punteggi per modulo sugli 11 moduli di audit (technical, on-page, performance, AI, modern SEO, social, accessibility, privacy, readability, tech stack, più un totale aggregato).
  • Emette finding per regola con passed, severity, title, recommendation opzionale e un docs_url che punta a metricspot.com/docs/<rule>/.
  • NON include i Core Web Vitals da Google PSI (usa run_audit per lo scoring PSI completo).
  • Limitato a 1 audit per IP ogni 24 ore. Per volumi più alti, genera una API key e usa run_audit.

Perché è importante

run_audit_anonymous è il punto di ingresso a frizione zero. Un agente può fare l’audit di un URL la prima volta che l’utente lo menziona, senza account, senza chiave e senza setup oltre l’installazione del server MCP.

Workflow concreti:

  • Un agente di primo contatto riceve la domanda “metricspot.com è indicizzato correttamente?” ed esegue l’audit in linea prima che l’utente si sia registrato.
  • Un revisore di landing page in Claude Code legge l’URL pubblico di un competitor, chiama run_audit_anonymous e usa i finding per istruire il writer su cosa battere.

Come usarlo

Lo strumento è sincrono: la risposta blocca (fino a ~120 s) finché i finding non sono pronti. Non c’è un audit_id su cui fare polling perché gli audit anonimi non sono persistiti sul tuo account; la risposta è l’intero risultato.

Schema di input

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

Esempio di schema di risposta

{
  "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 è sempre la stringa letterale "anonymous". pdf_url e report_url non vengono restituiti per gli audit anonimi.

Claude Code

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

Prompt:

Esegui un audit anonimo MetricSpot su https://example.com ed elenca ogni finding critico con il suo docs_url.

Cursor

.cursor/mcp.json:

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

Prompt:

Usa run_audit_anonymous su questo URL e dimmi quali regole di leggibilità AI sono fallite.

Python (HTTP grezzo)

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 grezzo)

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));

Errori comuni

CodiceQuandoAzione
INVALID_URL (400)URL mancante, malformato o più lungo di 2000 caratteriPassa un URL assoluto https://
RATE_LIMITED (429)L’IP ha già eseguito un audit anonimo nelle ultime 24hAttendi, o genera una API key e usa run_audit
UPSTREAM_FAILED (5xx)Host di destinazione irraggiungibile o errore della pipeline di auditRiprova una volta; retryable: true è impostato sui fallimenti transitori

Domande frequenti

Perché i Core Web Vitals non sono inclusi?

Le chiamate PSI costano soldi e quota anche per MetricSpot, quindi sono dietro l’autenticazione di run_audit. Gli audit anonimi restituiscono comunque ~90 check sugli altri 10 moduli. Se ti servono LCP, CLS e INP, ottieni una API key e chiama run_audit.

Posso eseguire più di 1 audit anonimo al giorno?

Non dallo stesso IP. Il cap è applicato lato server per prevenire abusi. Una volta ottenuta una API key, run_audit alza il limite alla disponibilità del tuo piano: Free 10 al mese, Starter 50, Pro illimitato.

Gli audit anonimi vengono salvati sul mio account?

No. Non sono persistiti, non appaiono in list_audits e non possono essere recuperati in seguito con get_audit. Il risultato completo viene restituito nella singola risposta, quindi catturalo lato client se vuoi conservarlo.

Fonti

Ultimo aggiornamento 2026-05-13