Vraag Claude, Cursor en andere AI-assistenten naar je SEO
serp.ac draait een remote Model Context Protocol-server (MCP). Koppel hem één keer en je assistent kan vragen beantwoorden als “welke zoekwoorden zijn deze week gedaald?”, “hoe vaak raadt ChatGPT ons aan?” of “welke betaalde links hebben problemen?”, rechtstreeks uit je serp.ac-data — en, als je dat toestaat, zoekwoorden, prompts en links voor je toevoegen.
1. Maak een API key aan
Open in serp.ac Instellingen → API en maak een key aan (alleen de accounteigenaar en beheerders kunnen dat). Kopieer hem — hij wordt maar één keer getoond. De MCP-server gebruikt dezelfde keys, rate limit (120 verzoeken per minuut per key) en quota als de REST API. Elke key geeft volledige toegang tot het account dat hem heeft aangemaakt, dus houd hem geheim en trek hem op dezelfde pagina in als hij uitlekt.
2. Koppel Claude
Claude (claude.ai en de Claude-apps) — custom connector
Ga naar Settings → Connectors → Add custom connector, noem hem serp.ac en gebruik de server-URL https://serp.ac/api/mcp. De server authenticeert elk verzoek met je API key, verstuurd als Authorization: Bearer sk_live_…; als het connectorvenster in jouw abonnement die header niet kan meesturen, gebruik dan de configuratie voor Claude Desktop hieronder.
Claude Desktop — configuratiebestand
Open Settings → Developer → Edit config en voeg de server toe aan claude_desktop_config.json. Die draait de bridge mcp-remote (vereist Node.js), die je key als header doorstuurt. Start Claude Desktop daarna opnieuw.
{
"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. Koppel Cursor en andere clients
Cursor: voeg de server toe aan ~/.cursor/mcp.json (alle projecten) of .cursor/mcp.json in een project, en schakel hem in onder Settings → MCP.
{
"mcpServers": {
"serp-ac": {
"url": "https://serp.ac/api/mcp",
"headers": { "Authorization": "Bearer sk_live_..." }
}
}
}Elke andere MCP-client (ChatGPT, VS Code, Windsurf, je eigen agent) werkt op dezelfde manier, zolang hij het Streamable HTTP-transport ondersteunt en de header Authorization kan meesturen. Clients die alleen stdio ondersteunen, kunnen de bridge mcp-remote hierboven gebruiken.
Snelle controle vanuit een terminal:
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"}'Alleen-lezenmodus
Tools gemarkeerd met Wijzigt data voegen dingen toe aan je account en tools gemarkeerd met Verbruikt quotum gebruiken je maandelijkse quota; assistenten krijgen de instructie om het je eerst te vragen. Om alleen de leestools beschikbaar te maken, koppel je met https://serp.ac/api/mcp?readonly=1. Alleen-lezenmodus is een instelling van de verbinding, niet van de key — een key heeft altijd de volledige rechten van het account.
Tools
Elke tool antwoordt met een korte samenvatting plus dezelfde data als gestructureerde JSON. Lijsten zijn begrensd (tot 200 rijen) en bevatten altijd alleen data van je eigen account. Naar projecten kun je verwijzen met id of domein.
- list_projectsLezen
Toont de serp.ac-projecten (websites) in dit account met hun id’s, domeinen en hoeveel zoekwoorden, AI-prompts en gekochte links elk project volgt. Roep dit eerst aan om project-id’s te krijgen.
- get_rankingsLezen
Google-rankings van de gevolgde zoekwoorden van een project: huidige positie, verandering sinds de vorige controle (positief = gestegen), rankende URL, of er een Google AI Overview wordt getoond die de site citeert, en tijdstip van de laatste controle. Optioneel filter op zoekwoordtekst en apparaat.
- get_ai_visibilityLezen
AI-zichtbaarheid van een project in ChatGPT, Perplexity, Gemini, Claude en Google AI Mode: aandeel antwoorden dat het merk noemt, citatiegraad, gemiddelde positie, cijfers per engine, een matrix per prompt × engine, meest geciteerde brondomeinen, share of voice en andere merken die de AI-assistenten aanbevelen.
- get_backlinks_summaryLezen
Backlinkoverzicht van een project: totaal aantal backlinks en verwijzende domeinen, domain rank, aandeel dofollow, nieuwe links in de afgelopen 30 dagen, verloren links en de sterkste verwijzende domeinen.
- list_purchased_linksLezen
Gekochte (betaalde) links die in Linkbeheer worden gevolgd: status (pending, active, issue, lost, expired, cancelled = gepauzeerd), gedetecteerde problemen, prijs, factuurcyclus, volgende betaal-/verlengdatum en leverancier, plus betalingen die in de komende 30 dagen vervallen. Alle projecten, tenzij een project is opgegeven.
- get_index_jobLezen
Status van een indexcontroletaak gestart met check_index, met de indexstatus van elke URL (indexed, not_indexed, queued, error).
- get_usageLezen
Het abonnement en de abonnementsstatus van het account, abonnementslimieten met huidig gebruik (projecten, zoekwoorden, AI-prompts, links) en de resterende maandelijkse quota (indexinzendingen, indexcontroles, opvragingen van zoekwoorddata).
- get_maps_rankingsLezen
Google Maps-rankingmonitoring (lokaal geogrid) van een project: zonder campagne elke Maps-campagne met de laatste lokale aanwezigheidsscore (0–100), top-10-dekking en gemiddelde positie; met campagne (id of zoekwoordtekst) de positie van de laatste scan op elk rasterpunt, scangeschiedenis, concurrenten die hoger ranken en het local pack.
- track_keywordsWijzigt data
begint met het volgen van de Google-rankings van nieuwe zoekwoorden in een project. Elk nieuw zoekwoord telt mee voor de SERP-zoekwoordlimiet van het abonnement; zoekwoorden die al worden gevolgd blijven ongewijzigd. Vraag het de gebruiker voordat je veel zoekwoorden toevoegt.
- add_ai_promptsWijzigt data
voegt prompts (vragen die mensen aan AI-assistenten stellen) toe aan de AI-zichtbaarheidstracking van een project; ze draaien daarna volgens schema. Elke nieuwe prompt telt mee voor de AI-promptlimiet van het abonnement; prompts die al worden gevolgd blijven ongewijzigd.
- add_purchased_linkWijzigt data
voegt een gekochte (betaalde) link toe aan het Linkbeheer van een project, zodat serp.ac hem dagelijks controleert en aan betalingen herinnert. Telt mee voor de limiet voor gevolgde links van het abonnement. Mislukt met already_tracked als dezelfde link bron → doel al bestaat.
- check_indexVerbruikt quotum
start een taak die controleert of URL’s door Google zijn geïndexeerd. Elke URL verbruikt 1 indexcontrole uit het maandelijkse quotum (daarna uit gekochte pakketten); er wordt niets afgeschreven als er niet genoeg is. Geeft een taak-id terug — roep get_index_job aan voor de resultaten.
- get_keyword_dataVerbruikt quotum
zoekvolume, CPC, concurrentie, zoekwoordmoeilijkheid, zoekintentie en trend over 12 maanden per zoekwoord. Elk zoekwoord dat nog niet in de cache staat, telt mee voor het betaalde maandelijkse quotum voor zoekwoordopvragingen van het account (zoekwoorden in de cache zijn gratis); controleer bij grote lijsten eerst get_usage.
Limieten en fouten
- Schrijftools volgen je abonnement precies zoals het dashboard en de REST API: limieten voor zoekwoorden, prompts en links, de AI-engines in het abonnement, en een actief abonnement of actieve proefperiode.
check_indexverbruikt 1 indexcontrole per URL uit het maandelijkse quotum, daarna uit pakketten;get_keyword_dataverbruikt het maandelijkse quotum voor zoekwoordopvragingen voor zoekwoorden die niet in de cache staan. Er wordt niets afgeschreven als het quotum tekortschiet.- Problemen met een aanroep (onbekend project, ongeldige argumenten, limiet bereikt) komen terug als toolfout die de assistent kan lezen. Een ontbrekende of ingetrokken key geeft HTTP 401, een opgeschort account 403 en te veel verzoeken 429.
Automatiseren zonder AI-assistent? Zie de REST API-referentie onder Instellingen → API.