Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GPSEM_API_URLNoDéfaut https://app.gpsem.io/api/v1/externalhttps://app.gpsem.io/api/v1/external
GPSEM_SITE_IDNoSite par défaut (ID encodé) : plus besoin de préciser siteId
GPSEM_API_TOKENYesToken gpsem_… de l'entreprise
GPSEM_MAX_CHARSNoTaille maximale d'une réponse transmise à l'assistant (défaut 60 000 caractères)60000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
getMeA

Vérifier le token — Retourne l'entreprise liée au token, l'abonnement et le quota de sites. — (GET /me)

getEntrepriseA

Détail entreprise — L'ID doit correspondre à l'entreprise du token. — (GET /entreprises/{entrepriseId})

updateCompanyInfoA

Modifier les coordonnées de l'entreprise — Champs de getCompanyInfo, tous facultatifs. — (PATCH /entreprises/{entrepriseId})

listSitesA

Lister les sites — Retourne tous les sites de l'entreprise avec ID encodé et URL. — (GET /entreprises/{entrepriseId}/sites)

createSiteA

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)

getSiteB

Détail d'un site — (GET /sites/{siteId})

getSiteStatsA

Statistiques home du site — Pages publiées, planifiées, taux d'indexation (aligné sur le dashboard GPSEM). — (GET /sites/{siteId}/stats)

getHistoriqueCodesA

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)

getSiteHistoriqueA

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)

addSiteHistoriqueA

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)

listPagesB

Lister les pages — Pages du site avec leurs principaux champs SEO et indicateurs (clics, impressions, indexation, liens internes). — (GET /sites/{siteId}/pages)

createPageA

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)

getPageA

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

updatePageA

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

listCategoriesA

Lister les catégories — Catégories (taxonomies) avec leur nombre de pages. — (GET /sites/{siteId}/categories)

listArchivesA

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)

pushPageToCmsA

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)

pullPageFromCmsB

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)

syncSiteA

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)

getMybacklinkStatusA

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

listBacklinkOrdersA

Historique des commandes de backlinks — Commandes MyBack.link du site, de la plus récente à la plus ancienne. — (GET /sites/{siteId}/backlinks/commandes)

orderBacklinksA

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)

getCompanyInfoA

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)

getSiteSettingsB

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)

updateSiteSettingsA

Modifier les paramètres du site — Champs de getSiteSettings, tous facultatifs. — (PATCH /sites/{siteId}/parametres)

getLegalNoticeA

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)

updateLegalNoticeA

Modifier les mentions légales — Champs de getLegalNotice, tous facultatifs. — (PATCH /sites/{siteId}/mentions-legales)

listAuditSectionsB

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)

getAuditSectionA

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

listAuditReportsA

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)

createAuditReportA

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)

getAuditReportB

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

listAuditActionsA

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)

updateAuditActionA

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

getScreamingFrogDashboardB

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)

listScreamingFrogCrawlsA

Lister les crawls — Crawls importés du site. — (GET /sites/{siteId}/screaming-frog/crawls)

listScreamingFrogActionsB

Plan d'action Screaming Frog — Actions correctives priorisées (gabarit, contenu, URL très liées). — (GET /sites/{siteId}/screaming-frog/actions)

getScreamingFrogIssueA

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

getScreamingFrogPageB

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)

listLinkSuggestionsA

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)

listNavrankReportsB

Catalogue des rapports NavRank / ClickRank — Rapports Navboost disponibles. — (GET /navrank/rapports)

getNavrankReportC

Rapport NavRank / ClickRank — Priorité des pages, recommandations, scores ML, anomalies et dérive de trafic calculés sur les stats hebdomadaires (clics, visites, engagement). — (GET /sites/{siteId}/navrank/{rapport})

listKeywordsA

Lister les mots-clés — Mots-clés suivis, par volume décroissant. — (GET /sites/{siteId}/keywords)

getKeywordB

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

runKeywordSemanticAnalysisA

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)

getSemanticMapA

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)

getTaskA

État d'un traitement — Avancement d'un traitement lancé par l'API (finished = true quand terminé). — (GET /sites/{siteId}/taches/{id})

listContentIdeasB

Lister les idées de contenu — Idées avec leur statut (to_write, writing, refused) et la page produite. — (GET /sites/{siteId}/contenus)

createContentA

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)

getContentIdeaA

Lire une idée de contenu — Statut et page produite. — (GET /sites/{siteId}/contenus/{id})

writeContentIdeaA

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)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 51 tools

Disambiguation3/5

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.

Naming Consistency3/5

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.

Tool Count1/5

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.

Completeness3/5

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

ActivityMaintained
ResponsivenessNo issues