Documentazione · Server MCP

Chiedi a Claude, Cursor e altri assistenti AI della tua SEO

serp.ac offre un server Model Context Protocol (MCP) remoto. Collegalo una volta e il tuo assistente potrà rispondere a domande come “quali keyword sono scese questa settimana?”, “quanto spesso ChatGPT ci consiglia?” o “quali link a pagamento hanno problemi?” direttamente dai tuoi dati serp.ac e, se lo consenti, aggiungere keyword, prompt e link al posto tuo.

URL del server
https://serp.ac/api/mcp
Autenticazione
Authorization: Bearer sk_live_…
Trasporto
Streamable HTTP (stateless, JSON)

1. Crea una chiave API

In serp.ac apri Impostazioni → API e crea una chiave (possono farlo solo il titolare dell’account e gli amministratori). Copiala: viene mostrata una sola volta. Il server MCP usa le stesse chiavi, lo stesso limite di richieste (120 richieste al minuto per chiave) e le stesse quote della REST API. Ogni chiave dà pieno accesso all’account che l’ha creata: tienila segreta e revocala dalla stessa pagina se viene divulgata.

2. Collega Claude

Claude (claude.ai e le app di Claude): connettore personalizzato

Vai su Impostazioni → Connettori → Aggiungi connettore personalizzato, chiamalo serp.ac e usa l’URL del server https://serp.ac/api/mcp. Il server autentica ogni richiesta con la tua chiave API inviata come Authorization: Bearer sk_live_…; se la finestra del connettore del tuo piano non consente di inviare questo header, usa invece la configurazione di Claude Desktop qui sotto.

Claude Desktop: file di configurazione

Apri Impostazioni → Sviluppatore → Modifica configurazione e aggiungi il server a claude_desktop_config.json. Viene eseguito il bridge mcp-remote (richiede Node.js), che inoltra la tua chiave come header. Poi riavvia Claude Desktop.

{
  "mcpServers": {
    "serp-ac": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://serp.ac/api/mcp", "--header", "Authorization:${SERP_AC_AUTH}"],
      "env": { "SERP_AC_AUTH": "Bearer sk_live_..." }
    }
  }
}

Claude Code

claude mcp add --transport http serp-ac https://serp.ac/api/mcp \
  --header "Authorization: Bearer sk_live_..."

3. Collega Cursor e altri client

Cursor: aggiungi il server a ~/.cursor/mcp.json (tutti i progetti) o a .cursor/mcp.json in un progetto, poi attivalo in Settings → MCP.

{
  "mcpServers": {
    "serp-ac": {
      "url": "https://serp.ac/api/mcp",
      "headers": { "Authorization": "Bearer sk_live_..." }
    }
  }
}

Qualsiasi altro client MCP (ChatGPT, VS Code, Windsurf, il tuo agente) funziona allo stesso modo, purché supporti il trasporto Streamable HTTP e possa inviare l’header Authorization. I client che supportano solo stdio possono usare il bridge mcp-remote mostrato sopra.

Verifica rapida da terminale:

curl https://serp.ac/api/mcp \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Modalità sola lettura

Gli strumenti contrassegnati con Modifica i dati aggiungono elementi al tuo account e quelli contrassegnati con Usa la quota consumano le tue quote mensili; agli assistenti viene chiesto di domandarti prima il permesso. Per esporre solo gli strumenti di lettura, collegati con https://serp.ac/api/mcp?readonly=1. La modalità sola lettura è un’impostazione della connessione, non della chiave: una chiave ha sempre tutti i diritti dell’account.

Strumenti

Ogni strumento risponde con un breve riepilogo più gli stessi dati in JSON strutturato. Gli elenchi sono limitati (fino a 200 righe) e contengono sempre e solo i dati del tuo account. Puoi indicare i progetti per id o per dominio.

  • list_projectsLettura

    Elenca i progetti serp.ac (siti web) di questo account con id, domini e quante keyword, prompt AI e link acquistati monitora ciascuno. Chiamalo per primo per ottenere gli id dei progetti.

  • get_rankingsLettura

    Posizioni su Google delle keyword monitorate di un progetto: posizione attuale, variazione rispetto al controllo precedente (positiva = salita), URL posizionato, se viene mostrata una Google AI Overview che cita il sito e ora dell’ultimo controllo. Filtri opzionali per testo della keyword e dispositivo.

  • get_ai_visibilityLettura

    Visibilità AI di un progetto in ChatGPT, Perplexity, Gemini, Claude e Google AI Mode: quota di risposte che menzionano il brand, tasso di citazione, posizione media, dati per motore, una matrice prompt × motore, domini più citati come fonte, share of voice e altri brand consigliati dagli assistenti AI.

  • get_backlinks_summaryLettura

    Panoramica dei backlink di un progetto: totale di backlink e domini di riferimento, domain rank, quota dofollow, nuovi link negli ultimi 30 giorni, link persi e domini di riferimento più forti.

  • list_purchased_linksLettura

    Link acquistati (a pagamento) monitorati in Gestione link: stato (in attesa, attivo, problema, perso, scaduto, annullato = in pausa), problemi rilevati, prezzo, ciclo di fatturazione, prossima data di pagamento / rinnovo e fornitore, più i pagamenti in scadenza nei prossimi 30 giorni. Tutti i progetti, salvo se ne viene indicato uno.

  • get_index_jobLettura

    Stato di un job di controllo indicizzazione avviato con check_index, con lo stato di indicizzazione di ogni URL (indexed, not_indexed, queued, error).

  • get_usageLettura

    Piano e stato dell’abbonamento dell’account, limiti del piano con l’utilizzo attuale (progetti, keyword, prompt AI, link) e quote mensili residue (invii all’indexer, controlli di indicizzazione, ricerche di dati keyword).

  • get_maps_rankingsLettura

    Monitoraggio delle posizioni su Google Maps (geo-griglia locale) di un progetto: senza campagna, tutte le campagne Maps con l’ultimo punteggio di presenza locale (0–100), copertura top 10 e posizione media; con una campagna (id o testo della keyword), la posizione dell’ultima scansione in ogni punto della griglia, lo storico delle scansioni, i concorrenti che ti superano e il local pack.

  • track_keywordsModifica i dati

    avvia il monitoraggio delle posizioni su Google di nuove keyword in un progetto. Ogni nuova keyword conta nel limite di keyword SERP del piano; le keyword già monitorate restano invariate. Chiedi all’utente prima di aggiungere molte keyword.

  • add_ai_promptsModifica i dati

    aggiunge prompt (domande che le persone fanno agli assistenti AI) al monitoraggio della visibilità AI di un progetto; vengono poi eseguiti secondo una pianificazione. Ogni nuovo prompt conta nel limite di prompt AI del piano; i prompt già monitorati restano invariati.

  • add_purchased_linkModifica i dati

    aggiunge un link acquistato (a pagamento) alla Gestione link di un progetto, così serp.ac lo controlla ogni giorno e ricorda i pagamenti. Conta nel limite di link monitorati del piano. Restituisce already_tracked se esiste già lo stesso link origine → destinazione.

  • check_indexUsa la quota

    avvia un job che verifica se gli URL sono indicizzati da Google. Ogni URL usa 1 controllo di indicizzazione dalla quota mensile (poi dai pacchetti acquistati); se non è sufficiente non viene addebitato nulla. Restituisce un id del job: chiama get_index_job per i risultati.

  • get_keyword_dataUsa la quota

    volume di ricerca, CPC, concorrenza, keyword difficulty, intento di ricerca e trend di 12 mesi per keyword. Ogni keyword non già in cache conta nella quota mensile a pagamento di ricerche keyword dell’account (le keyword in cache sono gratuite); per elenchi lunghi controlla prima get_usage.

Limiti ed errori

  • Gli strumenti di scrittura rispettano il tuo piano esattamente come la dashboard e la REST API: limiti di keyword, prompt e link, motori AI inclusi nel piano e un piano o una prova attivi.
  • check_index usa 1 controllo di indicizzazione per URL dalla quota mensile, poi dai pacchetti; get_keyword_data usa la quota mensile di ricerche keyword per le keyword non presenti in cache. Se la quota non basta, non viene addebitato nulla.
  • I problemi di una chiamata (progetto sconosciuto, argomenti non validi, limite raggiunto) vengono restituiti come errore dello strumento che l’assistente può leggere. Una chiave mancante o revocata restituisce HTTP 401, un account sospeso 403 e troppe richieste 429.

Vuoi automatizzare senza un assistente AI? Consulta la documentazione della REST API in Impostazioni → API.