gpsem
This MCP server connects an AI assistant to a GPSEM account, enabling SEO analysis, content management, audits, reporting, indexing checks, CMS sync, and backlink ordering.
Manage pages, categories, and CPT archives: list, inspect full SEO details, create, update, push/pull to CMS, and sync the site.
Read and add modification history, including internal links with source page and date, to track SEO changes and effects.
Check indexing status, run immediate index tests, request Google indexing, and view indexing history.
Query Search Console, GA4, Bing Webmaster, Merchant Center, and YouTube directly via existing GPSEM connections.
Run SEO audits, collect audit sections, generate full audit reports, and manage prioritized action plans.
Access 14 preset audit reports and build custom reports from ~100 modules, with preview, PDF, PowerPoint, and public links.
Use 57 GPSEM tools and ecommerce cross-tables covering opportunities, competition, seasonality, non-indexed reasons, internal links, product performance, and more.
Compare Wayback Machine snapshots to detect content, title, meta, CSS/JS, CMS, theme, and tool changes, and relate them to Google updates.
Run and analyze Screaming Frog crawls, list issues, get page-level problems, action plans, and automatic fixes for 404s, 301s, and redirect loops.
Conduct Opquast audits across 240 rules with comments and category summaries.
Get internal linking suggestions, NavRank/ClickRank reports, keyword semantic analysis, and semantic site mapping.
Monitor trends, analyze external pages, manage content ideas, and launch automatic writing from expressions, URLs, or keywords.
Detect each page’s editor (classic, Gutenberg, Elementor, Creative Elements) and write in the correct format.
Manage backlinks via MyBack.link: check credit, costs, anchors, order history, and place orders with confirmation and limits.
Manage account and site settings, company details, legal notices, and create sites within subscription limits.
Provides CMS synchronization capabilities, allowing pages to be sent to WordPress, reimported from WordPress, and full site synchronization.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gpsem What are my top SEO priorities with estimated gains?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GPSEM MCP
Serveur MCP de GPSEM : il donne à un assistant IA (Claude, ChatGPT, Cursor, Windsurf…) l'accès à votre compte GPSEM.
Pages, catégories, archives (CPT) : lister, lire la fiche complète d'une page (SEO, indexation, scores, historique, problèmes de crawl), créer, modifier.
Historique des modifications : lire et ajouter des événements (site, page, catégorie, archive), dont chaque lien interne avec sa page source et sa date, pour mesurer l’effet de chaque changement sur le crawl, l’indexation et le trafic.
Indexation : état des tests d'indexation du site (bilan, file d'attente, erreurs, lancements), test immédiat de pages précises ou par lot, demandes d'indexation à Google (API Indexing, quota de 200 par jour et par clé) et leur historique.
Search Console, GA4, Bing Webmaster, Merchant Center, YouTube : interrogés en direct avec les connexions déjà faites dans GPSEM, sans rien reconnecter. Search Console et GA4 acceptent des requêtes libres (dimensions, métriques, filtres, périodes).
Audit SEO : sections collectées à la demande ; 14 types de rapports préréglés (express, résultats, visibilité, trafic, concurrence, indexation, contenus, maillage, performance, historique, cadrage, technique, complet, Knowledge Graph), en aperçu, PDF et PowerPoint ; scores, plan d’action priorisé avec gain estimé, suivi des actions.
Rapports mis en page : rapports prêts à l'emploi (mensuel, direction, hebdomadaire, visibilité Google, audience, indexation, technique, contenus, e-commerce, IA, bilan annuel) calculés pour la période voulue, avec comparaison ; chiffres lisibles par l'assistant, composition d'un rapport sur mesure à partir d'une centaine de modules, et lien public (aperçu + PDF, sans connexion, période figée, révocable) à insérer dans un e-mail.
Outils GPSEM : 57 tableaux et croisements (opportunités, concurrence Semrush, saisonnalité, motifs des non indexées, activité de Google, liens internes datés…) des écrans et de la boîte à outils, groupés par thème (indexation, contenus et pruning, mots-clés et Search Console, maillage, netlinking, analytics et conversions, planning éditorial).
Tableaux croisés e-commerce : une cinquantaine de tableaux par fiche produit qui croisent catalogue, Search Console, Google Analytics 4, Merchant Center, crawl et tests d'indexation (position × ventes, ruptures qui coûtent, requêtes d'achat, fiches jumelles, liens internes × demande, qualité du flux, prix du marché, saisonnalité…). Modules
ecommerce_*delistReportModules, lus avecgetReportData(modules=…, etsettingspour choisir la vue et le nombre de lignes) ; chaque ligne porte l'adresse de la page.Recherche de différences : pour quelques adresses (du site ou d'un concurrent), ce que la Wayback Machine en a gardé sur plusieurs périodes est lu et comparé — contenu refait, balise titre et meta description réécrites, fichiers CSS et JS, CMS, thème et outils installés ou retirés — avec la date des gros changements, cherchée en coupant la période en deux, et sa place par rapport aux mises à jour Google (pendant un déploiement, avant ou après, avec l'écart en jours). Les mises à jour Google seules :
listGoogleUpdates.Screaming Frog : lancer un crawl, problèmes par catégorie, plan d'action, rapport par problème (avec la documentation Google), problèmes d'une page, correction automatique des liens vers des 404, des redirections 301 et des boucles de redirection (une à la fois par site, avec son état).
Audit Opquast : créer un audit, parcourir les 240 règles par catégorie, y répondre (conforme / non conforme) avec un commentaire argumenté à partir du crawl et des pages, marquer les catégories hors périmètre, rédiger la synthèse de chaque catégorie.
Analyses : suggestions de maillage interne, NavRank / ClickRank, mots-clés et analyse sémantique, cartographie sémantique du site.
Veille et tendances : sujets en hausse pour le site, analyse d’une page externe (concurrent, actualité) pour savoir si elle a du sens pour le site, ajout en idée ou rédaction, topics surveillés et leurs insights.
Rédaction : idées de contenu, rédaction automatique depuis une expression, une ou plusieurs URL (réécriture d'une page concurrente), un mot-clé.
Éditeurs de contenu : l'assistant sait dans quel éditeur est chaque page (éditeur classique, blocs Gutenberg, Elementor sur WordPress, Creative Elements sur PrestaShop) et écrit dans le bon format : il conserve les blocs d'une page Gutenberg, lit et modifie la structure et les widgets d'une page Elementor, connaît les widgets disponibles sur le site et leurs réglages, et peut régler l'éditeur par défaut du site ou d'un type de contenu.
Synchronisation CMS : envoyer une page vers le CMS du site, réimporter une page, synchroniser tout le site.
Backlinks (MyBack.link) : crédit, coût des options, ancres déjà utilisées, historique des commandes, commande de backlinks vers vos pages. L'achat via le MCP est désactivé par défaut : il s'active dans GPSEM, paramètres MyBack.link de l'entreprise, avec un plafond mensuel et un nombre maximal d'articles par commande.
Compte : ajout de site (dans la limite de l'abonnement), coordonnées de l'entreprise, paramètres du site, mentions légales.
Les outils sont générés au démarrage depuis la spécification OpenAPI de l'API GPSEM : toute nouvelle route de l'API devient un outil, sans mise à jour du paquet.
Installation
Il faut Node.js 18 ou plus et un token API GPSEM : dans GPSEM, menu utilisateur → API & MCP, ou fiche entreprise → onglet API GPSEM → Créer un token. Le token n'est affiché qu'une fois.
Claude Code
claude mcp add gpsem -e GPSEM_API_TOKEN=gpsem_votre_token -- npx -y github:puples/gpsem-mcpClaude Desktop, Cursor, Windsurf et autres clients MCP
Dans le fichier de configuration MCP du client (claude_desktop_config.json, .cursor/mcp.json…) :
{
"mcpServers": {
"gpsem": {
"command": "npx",
"args": ["-y", "github:puples/gpsem-mcp"],
"env": { "GPSEM_API_TOKEN": "gpsem_votre_token" }
}
}
}Variables d'environnement
Variable | Rôle | |
| obligatoire | Token |
| facultatif | Site par défaut (ID encodé) : plus besoin de préciser |
| facultatif | Défaut |
| facultatif | Taille maximale d'une réponse transmise à l'assistant (défaut 60 000 caractères) |
| facultatif | Dossier où l'assistant peut enregistrer les réponses complètes en fichier (voir Export en fichier). Absent : pas d'export en fichier |
| facultatif | Nombre maximal de pages enchaînées par |
Le token reste sur votre poste : le serveur MCP appelle directement l'API GPSEM, sans intermédiaire.
Related MCP server: georanker-seo-mcp
Exemples de demandes
« Quels sont les 10 chantiers SEO prioritaires de mon site, avec leur gain estimé ? »
« Liste les pages qui ont beaucoup d'impressions mais un click rank faible et propose de nouvelles balises title. »
« Corrige la meta description des pages sans meta, envoie-les sur WordPress et note-le dans l'historique. »
« Quelles pages sont hors sujet d'après la cartographie sémantique ? »
« Rédige un article à partir de cette page concurrente : https://… »
« Sur la page Elementor /services, remplace le texte du deuxième bloc et ajoute un bouton vers /contact, sans toucher à la mise en page. »
« Les mentions légales de mon site sont-elles complètes ? Complète l'hébergeur et le directeur de la publication. »
« Crée un nouveau site pour https://exemple.fr si mon abonnement le permet. »
« Lance un crawl Screaming Frog, puis fais l'audit Opquast du site à partir du crawl, avec un commentaire pour chaque règle. »
« Mon trafic baisse depuis mi-décembre : est-ce une mise à jour Google ou un changement du site ? »
« Le site a-t-il été piraté ? Regarde ce qui a changé sur l'accueil et les pages qui ont perdu du trafic depuis un an. »
« J'ai réécrit le title de /services il y a 10 jours : Google est-il repassé, et y a-t-il déjà un effet ? »
« Teste l'indexation des 5 articles publiés cette semaine et demande l'indexation de ceux qui ne le sont pas (je valide avant). »
« Quelles pages mériteraient des backlinks ce mois-ci ? Prépare une commande MyBack.link de 3 articles, je valide avant. »
Catalogue des rapports
À la connexion, le serveur envoie à l'assistant la liste de tous les rapports disponibles, dans ses consignes : chaque section / question de l'audit complet (par chapitre), Screaming Frog, NavRank / ClickRank, Opquast, sources de données, analyses, avec l'outil et les arguments à utiliser. Avec GPSEM_SITE_ID, la liste est celle du site : rapports indisponibles signalés (source non connectée, pas de crawl…) et problèmes Screaming Frog relevés au dernier crawl.
Le catalogue complet est aussi exposé :
en outils :
listReports(général) etlistReportsForSite;en ressources MCP :
gpsem://rapportsetgpsem://sites/{siteId}/rapports.
Export en fichier
Pour exporter une grosse liste (pages, mots-clés, tableau d'un outil GPSEM…), l'assistant n'a pas à la lire tranche par tranche dans la conversation : avec GPSEM_EXPORT_DIR, le serveur écrit lui-même la réponse dans un fichier de ce dossier.
"env": { "GPSEM_API_TOKEN": "gpsem_votre_token", "GPSEM_EXPORT_DIR": "C:\\Users\\moi\\exports-gpsem" }Chaque outil de lecture reçoit alors deux arguments de plus :
Argument | Rôle | |
| texte | Nom de fichier relatif au dossier d'export, ex. |
| vrai / faux (défaut faux) | Si la réponse est paginée ( |
La réponse complète est écrite dans le fichier, sans la troncature de GPSEM_MAX_CHARS. L'assistant ne reçoit qu'un accusé : chemin du fichier, taille, nombre de lignes, meta.total, noms des colonnes et les 3 premières lignes en aperçu.
.json: la réponse telle que reçue ; avectoutes_les_pages,{ meta, data: [...] }avec toutes les lignes..jsonl: une ligne par élément de la liste..csv: une ligne par élément, colonnes = toutes les clés de premier niveau, valeurs imbriquées en JSON, séparateur;, UTF-8 avec BOM (s'ouvre directement dans Excel).
.jsonl et .csv demandent une réponse en liste ; une réponse qui n'en est pas une s'enregistre en .json. Si une erreur survient en cours de pagination, les pages déjà lues restent dans le fichier et l'accusé dit où reprendre. Un fichier du même nom est remplacé. Les outils qui modifient des données n'ont pas ces arguments, et le token n'est jamais écrit dans un fichier.
Bonnes pratiques intégrées
Données par étapes : les grosses réponses sont résumées ou paginées (sections d'audit :
data_indexpuisdata=/bloc=; cartographie :cluster=,q=,page_id=; listes :limit,page). Au-delà deGPSEM_MAX_CHARS, la réponse est tronquée avec une indication pour affiner la demande.Historique : l'assistant lit
getHistoriqueCodeset choisit le code le plus précis, ou le code générique de la cible (100-09-001site,300-09-001page,310-09-001catégorie,320-09-001archive). Les événements ajoutés par le MCP portent la sourcemcp.Éditeurs de contenu : avant de modifier un contenu, l'assistant lit l'éditeur de la page (
getPage, champeditor). Page en blocs : les délimiteurs de blocs sont conservés. Page Elementor : il modifie la structure (elementor_data) en gardant identifiants et réglages de style ; un contenu qui ne correspond plus à la structure est refusé plutôt que d'écraser la mise en page. Les widgets et leurs réglages viennent degetContentEditors.Cas d'usage guidés : les consignes du serveur décrivent comment enchaîner les outils pour quatre demandes types — audit après un problème (dater la baisse dans Search Console, la rapprocher des mises à jour Google, chercher les changements du site dans l'historique et les archives du web, inspecter thème, outils et scripts en cas de changement ou de piratage), audit pour améliorer le site, recherche de gains de positions, suivi d'un site ou d'une URL (attendre le passage de Google, visible dans l'historique, avant de juger l'effet d'une modification).
Actions à effet réel (publication CMS, rédaction automatique, création de site, génération d'audit, modification du compte) : signalées aux clients MCP comme non en lecture seule ; l'assistant est invité à demander confirmation.
Vérifier l'installation
npx -y github:puples/gpsem-mcp --list-toolsAffiche la liste des outils (ne nécessite pas de token).
Documentation de l'API : app.gpsem.io/api/v1/external/docs.
Licence
MIT
Available Tools
51 toolsaddSiteHistoriqueAjouter un événement à l'historiqueA
Ajouter un événement à l'historique — Pour signaler une modification faite hors de GPSEM (refonte, robots.txt, campagne de liens, contenu retravaillé…). Familles autorisées : 100, 300, 310, 320. — (POST /sites/{siteId}/historique)
Inputs: code (required), siteId (required), url, date, +7 more.
createAuditReportGénérer l'audit completA
Générer l'audit complet — Crée un rapport avec toutes les sections disponibles ; la collecte prend quelques minutes (statut pending puis ready). — (POST /sites/{siteId}/audit/rapports)
Inputs: siteId (required).
createContentCréer un contenu (rédaction automatique)A
Créer un contenu (rédaction automatique) — Une source parmi expression, url (réécriture d'une page, par exemple d'un concurrent), urls (plusieurs pages fusionnées) ou keyword_id. draft=true crée l'idée sans lancer la rédaction. — (POST /sites/{siteId}/contenus)
Inputs: siteId (required), url, urls, draft, +6 more.
createPageCréer une pageA
Créer une page — Crée une page dans GPSEM (brouillon par défaut) ; push_to_cms=true l'envoie aussitôt au CMS. Inscrit dans l'historique. — (POST /sites/{siteId}/pages)
Inputs: title (required), siteId (required), h1, cpt, +15 more.
createSiteCréer un siteA
Créer un site — Crée un site si l'abonnement actif le permet (quota non atteint, voir subscription.can_add_site dans GET /me) ; 402 sinon. Renvoie keycms, la clé à saisir dans le plugin CMS pour connecter le site. — (POST /entreprises/{entrepriseId}/sites)
Inputs: url (required), name (required), entrepriseId (required), nom, +7 more.
getAuditReportLire un rapport d'auditBRead-onlyIdempotent
Lire un rapport d'audit — Scores (global, chapitres), synthèse, plan d'action priorisé avec état de suivi, sections (sans données brutes sauf detail=full). — (GET /sites/{siteId}/audit/rapports/{id})
Inputs: id (required), siteId (required), detail, collect, +1 more.
getAuditSectionCollecter une section d'auditARead-onlyIdempotent
Collecter une section d'audit — Calcule la section maintenant sur les données à jour : résumé, indicateurs, constats, actions priorisées (1 = urgente) et données détaillées. — (GET /sites/{siteId}/audit/sections/{cle})
Inputs: cle (required), siteId (required), bloc, data, +3 more.
getCompanyInfoCoordonnées de l'entrepriseARead-onlyIdempotent
Coordonnées de l'entreprise — Nom, type (1 entreprise, 2 particulier), adresse, pays (ISO 2 lettres), n° de TVA, téléphone, e-mail, site web. — (GET /entreprises/{entrepriseId}/informations)
Inputs: entrepriseId (required).
getContentIdeaLire une idée de contenuARead-onlyIdempotent
Lire une idée de contenu — Statut et page produite. — (GET /sites/{siteId}/contenus/{id})
Inputs: id (required), siteId (required).
getEntrepriseDétail entrepriseARead-onlyIdempotent
Détail entreprise — L'ID doit correspondre à l'entreprise du token. — (GET /entreprises/{entrepriseId})
Inputs: entrepriseId (required).
getHistoriqueCodesCatalogue des codes d'historiqueARead-onlyIdempotent
Catalogue des codes d'historique — À lire avant d'écrire dans l'historique : choisir le code le plus précis (ex. 300-06-003 liens internes ajoutés, 300-06-006 données structurées, 300-07-004 contenu actualisé). Sans code adapté, prendre le code générique de la cible (generic_codes : 100-09-001 site, 300-09-001 page, 310-09-001 catégorie, 320-09-001 archive) et décrire la modification. — (GET /historique/codes)
Inputs: no named parameters.
getKeywordMot-clé et analyse sémantiqueBRead-onlyIdempotent
Mot-clé et analyse sémantique — Entités, termes saillants, recherches associées, questions posées, articles de la SERP, stratégie et guide rédactionnel. — (GET /sites/{siteId}/keywords/{id})
Inputs: id (required), siteId (required).
getLegalNoticeMentions légales du siteARead-onlyIdempotent
Mentions légales du site — Éditeur (raison sociale, forme juridique, capital, SIRET, RCS, NAF, TVA, adresse), directeur de la publication, hébergeur, support, crédits, RGPD (DPO, finalités, bases légales, durées, destinataires, transferts hors UE), CGV, médiation. — (GET /sites/{siteId}/mentions-legales)
Inputs: siteId (required).
getMeVérifier le tokenARead-onlyIdempotent
Vérifier le token — Retourne l'entreprise liée au token, l'abonnement et le quota de sites. — (GET /me)
Inputs: no named parameters.
getMybacklinkStatusÉtat MyBack.link du siteARead-onlyIdempotent
État MyBack.link du site — Achat via l'API autorisé ou non, plafond mensuel, dépense du mois et reste, nombre maximal d'articles par commande, crédit, coût des options, thématiques du site, ancres déjà utilisées. À lire avant toute commande. — (GET /sites/{siteId}/backlinks/mybacklink)
Inputs: siteId (required).
getPageFiche complète d'une pageARead-onlyIdempotent
Fiche complète d'une page — Champs SEO, catégories, mot-clé, indexation, scores des 4 dernières semaines (click rank, visitor rank, qualité, risque), 20 derniers événements de l'historique, problèmes Screaming Frog. pageId = « url » avec ?url= pour chercher par URL. — (GET /sites/{siteId}/pages/{pageId})
Inputs: pageId (required), siteId (required), url, content.
getScreamingFrogDashboardTableau de bord Screaming FrogBRead-onlyIdempotent
Tableau de bord Screaming Frog — Crawl, qualité du crawl, problèmes par catégorie avec priorité et score, 12 actions prioritaires, pages les plus touchées. — (GET /sites/{siteId}/screaming-frog)
Inputs: siteId (required), crawl.
getScreamingFrogIssueRapport d'un problèmeARead-onlyIdempotent
Rapport d'un problème — Explication, correction, évolution entre crawls, URL ou liens concernés (50 par page), URL résolues. — (GET /sites/{siteId}/screaming-frog/problemes/{code})
Inputs: code (required), siteId (required), q, tri, +5 more.
getScreamingFrogPageProblèmes d'une pageBRead-onlyIdempotent
Problèmes d'une page — Problèmes propres à la page, liens vers des URL en erreur ou redirigées, pages qui la lient si elle est en erreur. — (GET /sites/{siteId}/screaming-frog/page)
Inputs: url (required), siteId (required), crawl.
getSemanticMapCartographie sémantique du siteARead-onlyIdempotent
Cartographie sémantique du site — Radius : par défaut un résumé (clusters, 50 pages les plus hors sujet). Détail par étapes avec cluster, q, page_id, sort, order, limit, page ; full=1 pour tout ; refresh=1 relance le calcul. — (GET /sites/{siteId}/cartographie-semantique)
Inputs: siteId (required), q, full, page, +6 more.
getSiteDétail d'un siteBRead-onlyIdempotent
Détail d'un site — (GET /sites/{siteId})
Inputs: siteId (required).
getSiteHistoriqueHistorique d'un siteARead-onlyIdempotent
Historique d'un site — Événements du plus récent au plus ancien. Les crawls Google (700-01-003) sont exclus sauf filtre explicite sur ce code. — (GET /sites/{siteId}/historique)
Inputs: siteId (required), to, code, from, +7 more.
getSiteSettingsParamètres du siteBRead-onlyIdempotent
Paramètres du site — Description, secteur, positionnement, objectif (1 ventes, 2 trafic, 3 services), type (1 vitrine, 2 e-commerce, 3 actualité), liens internes par page, longueur minimale, tests d'indexation, CMS. — (GET /sites/{siteId}/parametres)
Inputs: siteId (required).
getSiteStatsStatistiques home du siteARead-onlyIdempotent
Statistiques home du site — Pages publiées, planifiées, taux d'indexation (aligné sur le dashboard GPSEM). — (GET /sites/{siteId}/stats)
Inputs: siteId (required).
getTaskÉtat d'un traitementARead-onlyIdempotent
État d'un traitement — Avancement d'un traitement lancé par l'API (finished = true quand terminé). — (GET /sites/{siteId}/taches/{id})
Inputs: id (required), siteId (required).
listArchivesLister les archives (CPT)ARead-onlyIdempotent
Lister les archives (CPT) — Types de contenu / archives du site : slug, exclusion de l'import, pages publiées. L'ID sert de cpt_id dans l'historique. — (GET /sites/{siteId}/archives)
Inputs: siteId (required).
listAuditActionsPlan d'action du dernier auditARead-onlyIdempotent
Plan d'action du dernier audit — Actions du dernier rapport collecté, triées par priorité puis gain estimé, avec leur clé stable et leur état de suivi. — (GET /sites/{siteId}/audit/actions)
Inputs: siteId (required), status, priority.
listAuditReportsLister les rapports d'auditARead-onlyIdempotent
Lister les rapports d'audit — Rapports du site, du plus récent au plus ancien, avec liens vers l'aperçu et le PDF. — (GET /sites/{siteId}/audit/rapports)
Inputs: siteId (required).
listAuditSectionsCatalogue des sections d'auditBRead-onlyIdempotent
Catalogue des sections d'audit — Clés des sections disponibles (maillage_interne, scores_pages, indexation_google, sf_crawl_indexation…), chapitre et questions couvertes. — (GET /audit/sections)
Inputs: no named parameters.
listBacklinkOrdersHistorique des commandes de backlinksARead-onlyIdempotent
Historique des commandes de backlinks — Commandes MyBack.link du site, de la plus récente à la plus ancienne. — (GET /sites/{siteId}/backlinks/commandes)
Inputs: siteId (required), limit, offset, search.
listCategoriesLister les catégoriesARead-onlyIdempotent
Lister les catégories — Catégories (taxonomies) avec leur nombre de pages. — (GET /sites/{siteId}/categories)
Inputs: siteId (required).
listContentIdeasLister les idées de contenuBRead-onlyIdempotent
Lister les idées de contenu — Idées avec leur statut (to_write, writing, refused) et la page produite. — (GET /sites/{siteId}/contenus)
Inputs: siteId (required), q, page, limit, +2 more.
listKeywordsLister les mots-clésARead-onlyIdempotent
Lister les mots-clés — Mots-clés suivis, par volume décroissant. — (GET /sites/{siteId}/keywords)
Inputs: siteId (required), q, page, limit.
listLinkSuggestionsSuggestions de maillage interneARead-onlyIdempotent
Suggestions de maillage interne — Liens à ajouter proposés par GPSEM, page par page. Analyse globale : section d'audit maillage_interne. — (GET /sites/{siteId}/maillage/suggestions)
Inputs: siteId (required), page, limit, page_id.
listPagesLister les pagesBRead-onlyIdempotent
Lister les pages — Pages du site avec leurs principaux champs SEO et indicateurs (clics, impressions, indexation, liens internes). — (GET /sites/{siteId}/pages)
Inputs: siteId (required), q, cpt, page, +7 more.
listScreamingFrogActionsPlan d'action Screaming FrogBRead-onlyIdempotent
Plan d'action Screaming Frog — Actions correctives priorisées (gabarit, contenu, URL très liées). — (GET /sites/{siteId}/screaming-frog/actions)
Inputs: siteId (required), crawl, priorite, categorie.
listScreamingFrogCrawlsLister les crawlsARead-onlyIdempotent
Lister les crawls — Crawls importés du site. — (GET /sites/{siteId}/screaming-frog/crawls)
Inputs: siteId (required).
listSitesLister les sitesARead-onlyIdempotent
Lister les sites — Retourne tous les sites de l'entreprise avec ID encodé et URL. — (GET /entreprises/{entrepriseId}/sites)
Inputs: entrepriseId (required).
orderBacklinksCommander des backlinks (MyBack.link)A
Commander des backlinks (MyBack.link) — ACHAT RÉEL débité sur le crédit MyBack.link : montrer à l'utilisateur les URL, mots-clés, nombre d'articles et options, et attendre son accord explicite avant d'appeler. Un article par entrée de urls. Refusé (403 purchase_refused) si l'achat via l'API est désactivé ou si un plafond de l'entreprise est atteint. Inscrit la commande dans l'historique (100-04-001, 300-08-001). — (POST /sites/{siteId}/backlinks/commandes)
Inputs: urls (required), siteId (required), renew, reread, +5 more.
pullPageFromCmsRéimporter une page depuis le CMSB
Réimporter une page depuis le CMS — Écrase la version GPSEM par celle du CMS (titre, contenu, balises, statut, catégories) ; inscrit 300-05-002. — (POST /sites/{siteId}/pages/{pageId}/importer-cms)
Inputs: pageId (required), siteId (required).
pushPageToCmsEnvoyer une page au CMSA
Envoyer une page au CMS — Crée ou met à jour l'article dans le CMS (WordPress, plugin GPSEM) ; inscrit 300-05-001 dans l'historique. — (POST /sites/{siteId}/pages/{pageId}/envoyer-cms)
Inputs: pageId (required), siteId (required).
runKeywordSemanticAnalysisLancer l'analyse sémantique d'un mot-cléA
Lancer l'analyse sémantique d'un mot-clé — Traitement de quelques minutes : suivre task_id avec getTask, puis lire getKeyword. — (POST /sites/{siteId}/keywords/{id}/analyse-semantique)
Inputs: id (required), siteId (required).
syncSiteSynchroniser tout le siteA
Synchroniser tout le site — En tâche de fond : import = importer tous les contenus du CMS dans GPSEM ; push = envoyer au CMS toutes les pages suivies. — (POST /sites/{siteId}/synchronisation)
Inputs: action (required), siteId (required).
updateAuditActionMettre à jour l'état d'une actionAIdempotent
Mettre à jour l'état d'une action — État d'une action du plan (clé de GET …/audit/actions). « fait » inscrit l'action dans l'historique du site (100-09-002). — (PATCH /sites/{siteId}/audit/actions/{cle})
Inputs: cle (required), siteId (required), status (required), owner, +2 more.
updateCompanyInfoModifier les coordonnées de l'entrepriseAIdempotent
Modifier les coordonnées de l'entreprise — Champs de getCompanyInfo, tous facultatifs. — (PATCH /entreprises/{entrepriseId})
Inputs: body (required), entrepriseId (required).
updateLegalNoticeModifier les mentions légalesAIdempotent
Modifier les mentions légales — Champs de getLegalNotice, tous facultatifs. — (PATCH /sites/{siteId}/mentions-legales)
Inputs: body (required), siteId (required).
updatePageModifier une pageAIdempotent
Modifier une page — Modification partielle ; chaque changement est inscrit dans l'historique (statut, titre, contenu, balise title 300-02-004, meta description 300-02-005, H1 300-02-006, slug 300-02-007, catégories, mot-clé, importance). push_to_cms=true envoie ensuite la page au CMS. — (PATCH /sites/{siteId}/pages/{pageId})
Inputs: pageId (required), siteId (required), h1, cpt, +16 more.
updateSiteSettingsModifier les paramètres du siteAIdempotent
Modifier les paramètres du site — Champs de getSiteSettings, tous facultatifs. — (PATCH /sites/{siteId}/parametres)
Inputs: body (required), siteId (required).
writeContentIdeaLancer la rédaction d'une idéeA
Lancer la rédaction d'une idée — Lance ou relance la rédaction automatique d'une idée existante. — (POST /sites/{siteId}/contenus/{id}/rediger)
Inputs: id (required), siteId (required), format.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 51 tools
Most tools are grouped by resource and action, but several overlap: getEntreprise and getCompanyInfo both return company data, and listScreamingFrogActions/listAuditActions both expose prioritized corrective actions. Semantic-analysis tools (getKeyword, runKeywordSemanticAnalysis, getSemanticMap) also have fuzzy boundaries, though the descriptions usually clarify the target.
The dominant pattern is verb + resource (get/list/create/update), and all names are camelCase. However, the set mixes French and English nouns (getEntreprise vs getCompanyInfo), reverses compounds (getSiteHistorique vs getHistoriqueCodes), and uses irregular names like getMe and getMybacklinkStatus, so the convention is only partially consistent.
With 51 tools, the server is at the extreme end of the scale and exceeds the 50-tool threshold. Although the underlying GPSEM API is broad, exposing every endpoint as an MCP tool makes selection harder and likely overwhelms an agent.
Core workflows are well covered: sites, pages, audits, Screaming Frog, backlinks, keywords, and content ideas all have read and many have write operations. However, there are notable lifecycle gaps—no deletion endpoints for sites/pages/content, no keyword list management, and no way to update content-idea status besides launching writing.
Maintenance
Related MCP Connectors
Real SEO data for AI assistants: page audits, Keyword Planner volumes, Search Console history.
Connect AI agents to your AI visibility and SEO data: competitors, citations, GSC, GA4, Bing.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
AI SEO agent on your Google Search Console data: audits, quick wins, content, WordPress publishing.
Related MCP Servers
- -licenseNot gradedqualityCmaintenanceEnables AI assistants to perform comprehensive SEO and GEO measurements, including site audits, keyword research, ranking tracking, and brand visibility analysis across search engines and generative AI platforms.-

georanker-seo-mcpofficial
AlicenseAqualityBmaintenanceEnables AI assistants to search Google SERPs, track rankings across locations, run Lighthouse SEO audits, find broken internal links, analyze backlinks, and get keyword volume data through a hosted service.1516 npmMIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to access self-hosted SEO data and workflows, including keyword research, rank tracking, competitor insights, backlinks, site audits, and AI visibility.MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI assistant to plan, write and publish SEO content for a connected website: research keywords, read Search Console rankings, manage a content calendar, edit and score articles against competitors, publish to a CMS, and review backlinks, with credit-spending and destructive actions confirmed first.MIT