seomcp

SEO · GEO · AEO — open source e gratuito

I dati SEO e GEO del tuo sito, dentro il tuo assistente AI.

Search Console, Google Analytics 4, Bing Webmaster Tools, Cloudflare e Core Web Vitals. Più quello che conta per le AI: i crawler che leggono il sito, le visite dagli assistenti, Wikidata e Common Crawl. E poi le domande vere degli utenti per l'AEO, validatore schema.org e controlli tecnici. Fai domande in italiano e ottieni analisi sui dati veri. Le credenziali restano sul tuo computer.

Su npm: @contentisking/seomcp · Funziona con Claude, ChatGPT, GitHub Copilot, Gemini CLI e Mistral Vibe · Licenza MIT · Node.js 22+

Claude
Quali query di esempio.it sono in posizione 4-20 negli ultimi 90 giorni? Dammi le 3 con più potenziale.

gsc_striking_distance · 90 giorni

QueryPos.Impr.
scarpe trekking donna6,28.410
scarponi impermeabili11,85.120
zaino 30 litri4,93.760

La prima è la più vicina: la pagina è già sesta. Aggiungerei una sezione sulle taglie e una FAQ…

Esempio illustrativo con dati di fantasia.

Perché fidarsi

Affidare le credenziali di Search Console a uno strumento è una decisione seria. Per questo seomcp è fatto per essere verificato, non solo usato.

Sola lettura

Chiede a Google solo gli scope webmasters.readonly e analytics.readonly: non può modificare nulla nelle tue proprietà.

Credenziali in locale

Gira sul tuo computer. Nessun server intermedio, nessun gateway di terzi: i dati vanno da Google, Bing e Cloudflare direttamente a te.

Nessuna telemetria

Non raccoglie statistiche d'uso e non contatta altri server. Nemmeno questa pagina usa cookie o tracker.

Solo librerie ufficiali

SDK MCP, i client ufficiali @googleapis per Search Console, Analytics, PageSpeed e CrUX, e google-auth-library. Bing, Cloudflare, Wikidata e Common Crawl sono semplici chiamate REST alle loro API.

Codice leggibile

Circa 4.800 righe di TypeScript, con test e CI. Si legge in un'ora, prima di installarlo.

Rispetta le regole

Non usa la Google Indexing API, che Google riserva alle offerte di lavoro e alle dirette video.

Cosa puoi chiedere

Il server restituisce dati puliti. Le analisi le fa l'assistente, ragionando su quei dati.

  • Confronta questo mese con lo stesso periodo dell'anno scorso e segnala i cali di clic sopra il 30%.
  • Quali pagine ricevono molti clic da Google ma convertono poco?
  • Perché ChatGPT cita il mio concorrente e non me? Confronta le due pagine.
  • Quante visite mi portano ChatGPT, Perplexity e gli altri assistenti AI, e su quali pagine?
  • Quali crawler AI passano davvero sul sito, e quali sto bloccando con robots.txt?
  • Il mio brand è riconosciuto come entità da Wikidata e da Google?
  • Questa pagina è indicizzata? Quale canonical ha scelto Google?
  • Su Bing come va la query "corso SEO" rispetto a Google?
  • Il sito supera i Core Web Vitals su mobile? Com'è cambiato l'LCP nelle ultime settimane?
  • Le sitemap hanno errori? Quando le ha scaricate Google l'ultima volta?

36 tool e 21 prompt

Tutti in sola lettura: leggono i dati di Google, Bing, Cloudflare e delle pagine pubbliche, nessun tool può modificare le tue proprietà.

  • Google Search Console 7 tool · 5 prompt

    Clic, posizioni, confronti tra periodi, query a distanza di tiro, indicizzazione.

  • Google Analytics 4 6 tool · 3 prompt

    Traffico organico, conversioni, visite dagli assistenti AI e utenti in tempo reale.

  • Bing Webmaster Tools 6 tool · 1 prompt

    Query e pagine su Bing, volumi di ricerca, link in entrata, scansione e indice.

  • Cloudflare 3 tool · 1 prompt

    Visite reali, crawler AI che passano davvero, errori 404 e 5xx.

  • Core Web Vitals 3 tool · 1 prompt

    Dati reali degli utenti Chrome e test PageSpeed Insights.

  • GEO e AEO 5 tool · 7 prompt

    Cosa leggono i crawler AI, quanto le pagine sono citabili, se il brand è un'entità riconosciuta e se è in Common Crawl.

  • AEO 2 tool · 2 prompt

    Le domande vere degli utenti e risposte pronte per snippet, assistenti vocali e AI.

  • Validatore schema.org 1 tool · 1 prompt

    Dati strutturati controllati e corretti, anche prima di pubblicarli.

  • Controlli tecnici 2 tool · 1 prompt

    Redirect, indicizzabilità, canonical, hreflang, sitemap, pagina 404 e link rotti.

Installa in 3 passi

Configura solo le fonti che usi: Google, Bing e Cloudflare sono tutte facoltative.

Ora su npm. seomcp è pubblicato come @contentisking/seomcp: serve solo Node.js 22 o superiore, npx fa il resto.

Versione attuale: 0.1.65 (novità). Pubblicata direttamente da GitHub con la provenienza verificabile: chiunque può controllare da quale codice è stato costruito il pacchetto.

  1. Prepara le credenziali

    Solo per le fonti che usi: GEO, schema.org e controlli tecnici funzionano senza. Per Google scegli tra service account e OAuth, per Bing basta una API key, per Cloudflare un token in sola lettura. Ogni passaggio ha il link diretto alla pagina giusta, e alla fine la configurazione si compila da sola.

    Preferisci il terminale? La configurazione guidata fa tutto con te, dalle chiavi al collegamento con l'assistente:

    npx -y @contentisking/seomcp setup
  2. Collegalo al tuo assistente

    Versioni web non supportate. claude.ai, chatgpt.com, l'app Gemini, Microsoft 365 Copilot e Mistral Vibe sul web accettano solo server MCP remoti. seomcp gira in locale per non far uscire le tue credenziali dal computer, quindi servono le app desktop o la riga di comando.

  3. Controlla che funzioni

    npx -y @contentisking/seomcp doctor

    Prova ogni fonte e ti dice esattamente cosa manca. Per esempio: «aggiungi seomcp@progetto.iam.gserviceaccount.com come utente della proprietà».

Un regalo alla community SEO

Ci serviva uno strumento così e non ne abbiamo trovato uno di cui fidarci. Così l'abbiamo scritto noi, e invece di tenerlo in casa l'abbiamo reso pubblico. Non vendiamo niente.

Lo manteniamo nel tempo libero, senza garanzie di supporto. Ogni segnalazione ci aiuta, e se sei uno sviluppatore puoi partire da una delle issue già pronte.

Anche come libreria

import { GscClient, strikingDistance }
  from '@contentisking/seomcp';

const gsc = new GscClient(auth);
const rows = await gsc.query({ siteUrl, startDate,
  endDate, dimensions: ['query', 'page'] });
strikingDistance(rows);

I client non leggono né file né variabili d'ambiente, quindi si possono usare anche in un'applicazione multi-utente.