Skip to content

com.everlange/mcp

by everlange.com · remote · no sign-in to list tools · v1.0.0 · published by com.everlange

Everlange: audit AEO on 67 criteria across 10 answer engines, apply fixes, prove the gain.

Deletes · 2Changes · 28

36 tools: 2 can delete or cancel things, 28 change things and 6 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http everlange https://everlange.com/api/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "aeo_generate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "aeo_generate" says "generate": a word for a change.

    What this check looks for
  • The server marks "ads_campaign_status" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "ads_campaign_status" says "status": a word for reading.

    What this check looks for
  • The server marks "ads_ad_status" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "ads_ad_status" says "status": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

36 tools

Deletes or cancels 2Claude Code: deny
  • ads_remove_criterionECRITURE GARDEE.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_remove_criterion" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ECRITURE GARDEE. Retire un critere de ciblage d'une campagne (zone, audience, ajustement). Un retrait se repare en RECREANT le critere, pas en annulant. Dry-run valide par Google d'abord ; confirm:true pour appliquer.

    Annotations the server declares

    • title: Retirer un critere de ciblage
    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • ads_update_budgetÉCRITURE GARDÉE : modifie le budget quotidien d’une campagne.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_update_budget" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ÉCRITURE GARDÉE : modifie le budget quotidien d’une campagne. Caps : ±20 % max par appel, plafond absolu (env ADS_MAX_DAILY_BUDGET_EUR, défaut 200 €/j), budgets partagés refusés. Sans confirm:true : dry-run validé par Google. Pilotage requis ; journalisé.

    Annotations the server declares

    • title: Modifier le budget quotidien d’une campagne
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
Changes things 28Claude Code: ask
  • ads_ad_statusÉCRITURE GARDÉE : met une annonce individuelle en pause ou la réactive (réversible).Reads text others write1 finding

    Why it is in this group

    • The name "ads_ad_status" says "status": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "ads_ad_status" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "ads_ad_status" says "status": a word for reading.

      What this check looks for
    Description, as the server wrote it
    ÉCRITURE GARDÉE : met une annonce individuelle en pause ou la réactive (réversible). ids via ads_list_ads. Dry-run Google puis confirm:true. Pilotage requis (write_enabled) ; journalisé.

    Annotations the server declares

    • title: Pause / réactivation d’annonce
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • ads_add_keywordsÉCRITURE GARDÉE : ajoute des mots-clés POSITIFS (1-20) à un groupe d’annonces.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_add_keywords" says "add": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ÉCRITURE GARDÉE : ajoute des mots-clés POSITIFS (1-20) à un groupe d’annonces. ad_group_id via ads_keywords. Dry-run Google puis confirm:true. Pilotage requis (write_enabled) ; journalisé.

    Annotations the server declares

    • title: Ajouter des mots-clés
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • ads_add_locationECRITURE GARDEE.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_add_location" says "add": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ECRITURE GARDEE. Ajoute une zone au ciblage d'une campagne, ou l'exclut avec negative:true. L'identifiant s'obtient avec ads_geo_target_search. Dry-run valide par Google d'abord ; confirm:true pour appliquer.

    Annotations the server declares

    • title: Ajouter ou exclure une zone
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • ads_add_negative_keywordsÉCRITURE GARDÉE : ajoute des mots-clés négatifs (1-50) à une campagne.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_add_negative_keywords" says "add": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ÉCRITURE GARDÉE : ajoute des mots-clés négatifs (1-50) à une campagne. Sans confirm:true : dry-run validé par Google (rien n’est appliqué). Nécessite le pilotage activé pour ce compte (ads_list_accounts → write_enabled). Chaque application est journalisée.

    Annotations the server declares

    • title: Ajouter des mots-clés négatifs
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • ads_asset_performanceNote Google de chaque titre et description d'annonce responsive (LOW / GOOD / BEST / en cours d'evaluation).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Note Google de chaque titre et description d'annonce responsive (LOW / GOOD / BEST / en cours d'evaluation). Remplacer les LOW par des variantes des BEST est l'optimisation creative la moins risquee : elle ne touche ni enchere ni budget, donc ne relance pas l'apprentissage. Gratuit, lecture seule.

    Annotations the server declares

    • title: Performance des accroches RSA
    • readOnlyHint: true
    • openWorldHint: true
  • ads_attach_audienceECRITURE GARDEE.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_attach_audience" says "attach": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ECRITURE GARDEE. Rattache une liste de remarketing a une campagne. Mode observation par defaut : la diffusion NE CHANGE PAS, l'audience est seulement mesuree. Le mode targeting restreint la diffusion aux seuls membres de la liste et peut effondrer le volume : il doit etre demande explicitement. Dry-run valide par Google d'abord ; confirm:true pour appliquer.

    Annotations the server declares

    • title: Rattacher une audience
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • ads_audiencesListes de remarketing disponibles et leur taille, avec celles qui atteignent le seuil de diffusion sur le reseau de recherche (~1 000 utilisateurs).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Listes de remarketing disponibles et leur taille, avec celles qui atteignent le seuil de diffusion sur le reseau de recherche (~1 000 utilisateurs). Gratuit.

    Annotations the server declares

    • title: Listes d audience du compte
    • readOnlyHint: true
    • openWorldHint: true
  • ads_auditAudit complet du compte Google Ads : score /100, grade, € gaspillés/mois, manque à gagner, quick wins par catégorie (tracking, gaspillage, enchères, structure, RSA…).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Audit complet du compte Google Ads : score /100, grade, € gaspillés/mois, manque à gagner, quick wins par catégorie (tracking, gaspillage, enchères, structure, RSA…). Lecture seule, gratuit.

    Annotations the server declares

    • title: Audit Google Ads (19 critères)
    • readOnlyHint: true
    • openWorldHint: true
  • ads_campaign_criteriaZones, appareils et plages horaires cibles par les campagnes, avec leur ajustement d'enchere actuel et leur criterion_id.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Zones, appareils et plages horaires cibles par les campagnes, avec leur ajustement d'enchere actuel et leur criterion_id. Lecture prealable indispensable a ads_set_bid_modifier et ads_remove_criterion. Gratuit.

    Annotations the server declares

    • title: Criteres de ciblage
    • readOnlyHint: true
    • openWorldHint: true
  • ads_campaign_statusÉCRITURE GARDÉE : met une campagne en pause ou la réactive (réversible).Reads text others write1 finding

    Why it is in this group

    • The name "ads_campaign_status" says "status": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "ads_campaign_status" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "ads_campaign_status" says "status": a word for reading.

      What this check looks for
    Description, as the server wrote it
    ÉCRITURE GARDÉE : met une campagne en pause ou la réactive (réversible). Sans confirm:true : dry-run validé par Google. Pilotage requis (write_enabled) ; journalisé.

    Annotations the server declares

    • title: Pause / réactivation de campagne
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • ads_change_historyQui a change quoi et quand sur le compte (30 jours max, retention Google).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Qui a change quoi et quand sur le compte (30 jours max, retention Google). Signale les changements de budget ou d'encheres qui ont pu RELANCER la phase d'apprentissage : les metriques anterieures ne sont alors plus comparables. Gratuit, lecture seule.

    Annotations the server declares

    • title: Historique des modifications Ads
    • readOnlyHint: true
    • openWorldHint: true
  • ads_device_performanceCout, conversions et cout par conversion par appareil (mobile, ordinateur, tablette).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Cout, conversions et cout par conversion par appareil (mobile, ordinateur, tablette). Prealable a tout ajustement d'enchere par appareil. Gratuit.

    Annotations the server declares

    • title: Performance par appareil
    • readOnlyHint: true
    • openWorldHint: true
  • ads_geo_performancePerformance par zone REELLE de l'internaute (ville / region), libelles resolus, avec les zones qui depensent sans convertir.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Performance par zone REELLE de l'internaute (ville / region), libelles resolus, avec les zones qui depensent sans convertir. Determinant pour une activite a zone de chalandise. Gratuit, lecture seule.

    Annotations the server declares

    • title: Performance par zone geographique
    • readOnlyHint: true
    • openWorldHint: true
  • ads_keywordsMots-clés actifs avec leurs métriques (N jours) et les ids nécessaires aux actions (ad_group_id + criterion_id pour ads_pause_keyword).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Mots-clés actifs avec leurs métriques (N jours) et les ids nécessaires aux actions (ad_group_id + criterion_id pour ads_pause_keyword). Gratuit.

    Annotations the server declares

    • title: Mots-clés Ads (avec ids)
    • readOnlyHint: true
    • openWorldHint: true
  • ads_landing_pagesPerformance de chaque page de destination (cout, clics, conversions, taux de conversion) et liste des pages qui ont recu au moins 10 clics payants SANS une seule conversion.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Performance de chaque page de destination (cout, clics, conversions, taux de conversion) et liste des pages qui ont recu au moins 10 clics payants SANS une seule conversion. Ces URLs sont directement auditables avec aeo_audit : le diagnostic de citabilite et celui de conversion se recoupent. Gratuit, lecture seule.

    Annotations the server declares

    • title: Performance par page de destination
    • readOnlyHint: true
    • openWorldHint: true
  • ads_pause_keywordÉCRITURE GARDÉE : met un mot-clé en pause (réversible dans Google Ads).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ÉCRITURE GARDÉE : met un mot-clé en pause (réversible dans Google Ads). ids via ads_keywords. Sans confirm:true : dry-run validé par Google. Pilotage requis (write_enabled) ; journalisé.

    Annotations the server declares

    • title: Mettre un mot-clé en pause
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • ads_performancePerformance des campagnes Google Ads sur N jours (défaut 30) : impressions, clics, coût, conversions, CTR, CPC moyen, budget/jour : triées par coût.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Performance des campagnes Google Ads sur N jours (défaut 30) : impressions, clics, coût, conversions, CTR, CPC moyen, budget/jour : triées par coût. Gratuit.

    Annotations the server declares

    • title: Performance des campagnes Ads
    • readOnlyHint: true
    • openWorldHint: true
  • ads_quality_breakdownDecompose le Quality Score de chaque mot-cle en ses trois composantes Google (pertinence de l'annonce, experience sur la page de destination, CTR attendu) et designe la cause DOMIN…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Decompose le Quality Score de chaque mot-cle en ses trois composantes Google (pertinence de l'annonce, experience sur la page de destination, CTR attendu) et designe la cause DOMINANTE. Un QS bas se corrige par la composante fautive, jamais par l'enchere. Gratuit, lecture seule.

    Annotations the server declares

    • title: Quality Score decompose
    • readOnlyHint: true
    • openWorldHint: true
  • ads_set_bid_modifierECRITURE GARDEE.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_set_bid_modifier" says "set": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    ECRITURE GARDEE. Ajuste l'enchere d'un critere existant : 1.0 = aucun ajustement, 1.2 = +20 %, 0.8 = -20 %, 0 = exclusion. Reversible en repassant a 1. Dry-run valide par Google d'abord ; confirm:true pour appliquer. Avertit si une campagne est en phase d'apprentissage (l'action relance le compteur).

    Annotations the server declares

    • title: Ajuster une enchere
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • aeo_applyAPPLIQUE la sélection d’améliorations niveau 1 (jsonld/robots/llms/meta) sur un site connecté : génère + archive les correctifs et bump le bundle → le plugin les injecte au prochai…No findings

    Why it is in this group

    • The name "aeo_apply" says "apply": a word for a change.
    Description, as the server wrote it
    APPLIQUE la sélection d’améliorations niveau 1 (jsonld/robots/llms/meta) sur un site connecté : génère + archive les correctifs et bump le bundle → le plugin les injecte au prochain sync. Optionnel : faqs[] (ajoute un FAQPage au JSON-LD), title/description (meta). Le site doit être connecté (aeo_list_sites).

    Annotations the server declares

    • title: Appliquer les correctifs
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • aeo_auditLance un audit AEO/GEO d’une URL (asynchrone, ~2 min) et renvoie immédiatement l’audit_id.Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Lance un audit AEO/GEO d’une URL (asynchrone, ~2 min) et renvoie immédiatement l’audit_id. Suivre avec aeo_audit_status jusqu’à completed, puis aeo_report / aeo_improvements. Coûte 50 GTO, débités à la complétion. NE PAS relancer le même audit pendant qu’un run est en cours.

    Annotations the server declares

    • title: Auditer une URL (AEO/GEO)
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • aeo_batch_auditLance l’audit de plusieurs sites en une commande (le « killer agence »), en asynchrone : renvoie immédiatement un audit_id par URL.Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.urls): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Lance l’audit de plusieurs sites en une commande (le « killer agence »), en asynchrone : renvoie immédiatement un audit_id par URL. Suivre chaque id avec aeo_audit_status. Coûte 50 GTO par site, débités à la complétion.

    Annotations the server declares

    • title: Auditer plusieurs sites
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • aeo_citationsHistorique de citation d’un domaine dans les moteurs IA : taux de citation par date, détail par moteur, part de voix.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Historique de citation d’un domaine dans les moteurs IA : taux de citation par date, détail par moteur, part de voix. Renvoie `series[].basis` = "measured" ou "derived" (dénominateur reconstitué sur les scans anciens, le taux est alors un plancher : voir `caveat`). `share_of_voice` vaut null si aucun concurrent n’est suivi : la part de voix n’est pas mesurable, ce n’est pas 0. Nécessite un Monitoring IA sur ce domaine. Gratuit.

    Annotations the server declares

    • title: Historique de citations IA
    • readOnlyHint: true
    • openWorldHint: false
  • aeo_generateGénère (sans appliquer) un artefact AEO, déterministe et gratuit.Can send data out1 finding

    Why it is in this group

    • The name "aeo_generate" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Findings

    • Warn

      The server marks "aeo_generate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "aeo_generate" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Génère (sans appliquer) un artefact AEO, déterministe et gratuit. Types : jsonld, robots, llms, meta, faq (params faqs[]), ai-txt, humans-txt, security-txt, sitemap. jsonld/robots/llms/meta/faq sont applicables (cf. aeo_apply) ; ai-txt/humans-txt/security-txt/sitemap sont à publier par l’agence.

    Annotations the server declares

    • title: Générer un artefact AEO
    • readOnlyHint: true
    • openWorldHint: false
  • aeo_improvementsLa CHECKLIST d’améliorations d’un audit : groupées par niveau (1=auto-applicable plugin, 2=générable, 3=rebuild/lead), triées par gain projeté.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    La CHECKLIST d’améliorations d’un audit : groupées par niveau (1=auto-applicable plugin, 2=générable, 3=rebuild/lead), triées par gain projeté. Fournit les ids à passer à aeo_apply. Passer audit_id OU domain (= dernier audit terminé du domaine). Gratuit.

    Annotations the server declares

    • title: Checklist d’améliorations
    • readOnlyHint: true
    • openWorldHint: false
  • aeo_monitorProgramme un scan de citations récurrent côté serveur (10 moteurs IA, part de voix vs watchlist, alertes email).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Programme un scan de citations récurrent côté serveur (10 moteurs IA, part de voix vs watchlist, alertes email). action=create {domain, brand_name?, frequency: daily|weekly|biweekly} · list · delete {schedule_id}. Chaque scan programmé coûte 25 GTO à l’exécution.

    Annotations the server declares

    • title: Monitoring citations programmé
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • aeo_proofLa PREUVE : compare les 2 derniers audits complétés d’un domaine : delta de score, critères améliorés, critères régressés.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    La PREUVE : compare les 2 derniers audits complétés d’un domaine : delta de score, critères améliorés, critères régressés. L’argument client en un appel. Gratuit.

    Annotations the server declares

    • title: Preuve avant/après d’un domaine
    • readOnlyHint: true
    • openWorldHint: false
  • aeo_reportRenvoie le détail complet d’un audit existant (par audit_id) : score global, scores par catégorie et tous les critères (score + recommandation).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Renvoie le détail complet d’un audit existant (par audit_id) : score global, scores par catégorie et tous les critères (score + recommandation). Gratuit.

    Annotations the server declares

    • title: Détail d’un audit
    • readOnlyHint: true
    • openWorldHint: false
Only reads 6Claude Code: allow
  • ads_list_accountsListe les comptes Google Ads connectés au compte aeotool (OAuth) : customer_id, nom, statut, is_manager (MCC, non requêtable directement, ses comptes clients apparaissent aussi dan…Reads private dataNo findings

    Why it is in this group

    • The name "ads_list_accounts" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "table": it reads databases.
    Description, as the server wrote it
    Liste les comptes Google Ads connectés au compte aeotool (OAuth) : customer_id, nom, statut, is_manager (MCC, non requêtable directement, ses comptes clients apparaissent aussi dans la liste), write_enabled (pilotage en écriture, activable par compte dans le Cockpit Google Ads).

    Annotations the server declares

    • title: Comptes Google Ads connectés
    • readOnlyHint: true
    • openWorldHint: false
  • ads_list_adsAnnonces (RSA…) avec métriques N jours et ids (ad_group_id + ad_id) nécessaires à ads_ad_status.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_list_ads" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Annonces (RSA…) avec métriques N jours et ids (ad_group_id + ad_id) nécessaires à ads_ad_status. Gratuit.

    Annotations the server declares

    • title: Annonces du compte
    • readOnlyHint: true
    • openWorldHint: true
  • ads_search_termsTermes de recherche réels ayant déclenché les annonces (N jours, triés par coût) avec le flag wasted=true (coût sans conversion) : candidats directs pour ads_add_negative_keywords.Reads text others writeNo findings

    Why it is in this group

    • The name "ads_search_terms" says "search": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Termes de recherche réels ayant déclenché les annonces (N jours, triés par coût) avec le flag wasted=true (coût sans conversion) : candidats directs pour ads_add_negative_keywords. Gratuit.

    Annotations the server declares

    • title: Termes de recherche Ads
    • readOnlyHint: true
    • openWorldHint: true
  • aeo_audit_statusStatut d’un audit lancé par aeo_audit : pending/processing → completed (avec le score) ou failed.No findings

    Why it is in this group

    • The name "aeo_audit_status" says "status": a word for reading.
    Description, as the server wrote it
    Statut d’un audit lancé par aeo_audit : pending/processing → completed (avec le score) ou failed. Gratuit : poll toutes les 20-30 s.

    Annotations the server declares

    • title: Statut d’un audit
    • readOnlyHint: true
    • openWorldHint: false
  • aeo_list_sitesListe les sites WordPress connectés au compte (plugin Everlange Connect) : domaine, statut, modules actifs, version du bundle.No findings

    Why it is in this group

    • The name "aeo_list_sites" says "list": a word for reading.
    Description, as the server wrote it
    Liste les sites WordPress connectés au compte (plugin Everlange Connect) : domaine, statut, modules actifs, version du bundle.

    Annotations the server declares

    • title: Lister les sites connectés
    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

78 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 private-data tool breaks every one.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Can send data out3
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__everlange__ads_list_accounts"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Remote posture

What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.

Looked at Oct 22, 2026, 14:31 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.

Reachable
yes
HTTP status of an anonymous initialize
200
tools/list served without credentials
yes
Tools that change things, listed without credentials
30
Protocol version
2025-06-18
WWW-Authenticate on 401
not observed
resource_metadata in WWW-Authenticate
none
RFC 9728 protected resource metadata
https://everlange.com/.well-known/oauth-protected-resource/api/mcp
Authorization servers
https://everlange.com
Legacy HTTP+SSE transport
no
Dynamic client registration
yes
Client ID metadata documents
no
  • HighThe whole server

    The endpoint served tools/list without credentials, and the list has 30 tools that change things (2 destructive, 28 write). Whether a call also works without credentials was not tested: tools are never called.

    Matched text

    https://everlange.com/api/mcp: tools/list returned 36 tools to an anonymous client, including ads_remove_criterion (destructive), ads_update_budget (destructive), aeo_audit (write), aeo_batch_audit (write), aeo_report (write) and 25 more

    What this check looks for

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http everlange https://everlange.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__everlange__aeo_list_sites",
      "mcp__everlange__aeo_audit_status",
      "mcp__everlange__ads_list_accounts",
      "mcp__everlange__ads_search_terms",
      "mcp__everlange__ads_geo_target_search",
      "mcp__everlange__ads_list_ads"
    ],
    "ask": [
      "mcp__everlange__aeo_audit",
      "mcp__everlange__aeo_batch_audit",
      "mcp__everlange__aeo_report",
      "mcp__everlange__aeo_improvements",
      "mcp__everlange__aeo_generate",
      "mcp__everlange__aeo_apply",
      "mcp__everlange__aeo_citations",
      "mcp__everlange__aeo_proof",
      "mcp__everlange__aeo_monitor",
      "mcp__everlange__ads_performance",
      "mcp__everlange__ads_change_history",
      "mcp__everlange__ads_quality_breakdown",
      "mcp__everlange__ads_landing_pages",
      "mcp__everlange__ads_geo_performance",
      "mcp__everlange__ads_asset_performance",
      "mcp__everlange__ads_campaign_criteria",
      "mcp__everlange__ads_audiences",
      "mcp__everlange__ads_device_performance",
      "mcp__everlange__ads_set_bid_modifier",
      "mcp__everlange__ads_add_location",
      "mcp__everlange__ads_attach_audience",
      "mcp__everlange__ads_keywords",
      "mcp__everlange__ads_audit",
      "mcp__everlange__ads_add_negative_keywords",
      "mcp__everlange__ads_pause_keyword",
      "mcp__everlange__ads_campaign_status",
      "mcp__everlange__ads_ad_status",
      "mcp__everlange__ads_add_keywords"
    ],
    "deny": [
      "mcp__everlange__ads_remove_criterion",
      "mcp__everlange__ads_update_budget"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as everlange. Review it before you use it.

Capability tags behind 28 rules
  • mcp__everlange__aeo_audit untrusted-input, outbound
  • mcp__everlange__aeo_batch_audit untrusted-input, outbound
  • mcp__everlange__aeo_generate outbound
  • mcp__everlange__ads_list_accounts private-data
  • mcp__everlange__ads_performance untrusted-input
  • mcp__everlange__ads_search_terms untrusted-input
  • mcp__everlange__ads_change_history untrusted-input
  • mcp__everlange__ads_quality_breakdown untrusted-input
  • mcp__everlange__ads_landing_pages untrusted-input
  • mcp__everlange__ads_geo_performance untrusted-input
  • mcp__everlange__ads_asset_performance untrusted-input
  • mcp__everlange__ads_campaign_criteria untrusted-input
  • mcp__everlange__ads_geo_target_search untrusted-input
  • mcp__everlange__ads_audiences untrusted-input
  • mcp__everlange__ads_device_performance untrusted-input
  • mcp__everlange__ads_set_bid_modifier untrusted-input
  • mcp__everlange__ads_add_location untrusted-input
  • mcp__everlange__ads_remove_criterion untrusted-input
  • mcp__everlange__ads_attach_audience untrusted-input
  • mcp__everlange__ads_keywords untrusted-input
  • mcp__everlange__ads_audit untrusted-input
  • mcp__everlange__ads_add_negative_keywords untrusted-input
  • mcp__everlange__ads_pause_keyword untrusted-input
  • mcp__everlange__ads_update_budget untrusted-input
  • mcp__everlange__ads_campaign_status untrusted-input
  • mcp__everlange__ads_list_ads untrusted-input
  • mcp__everlange__ads_ad_status untrusted-input
  • mcp__everlange__ads_add_keywords untrusted-input