Aller au contenu
Integration

Créez un agent opérationnel IA : SSL, DNS et disponibilité via MCP

| 8 min read

Connectez 4 outils MCP à Claude Code ou Cursor pour surveiller l'expiration du SSL, les modifications DNS, la disponibilité et l'accessibilité à partir d'invites en langage naturel.

Engineer monitoring multiple screens in a control room
Photo by ThisisEngineering on Unsplash

Votre site de production tombe en panne à 2 heures du matin. Personne ne le remarque jusqu'à ce qu'un client tweete à ce sujet. Le certificat SSL a expiré il y a trois jours. La migration DNS que vous avez effectuée la semaine dernière a supprimé silencieusement un enregistrement MX. La régression de l'accessibilité depuis le dernier déploiement a interrompu la navigation du lecteur d'écran.

Ces échecs partagent une cause fondamentale : les contrôles opérationnels ont lieu selon un calendrier ou pas du tout. Vous pouvez changer cela. Connectez le serveur Botoi MCP à Claude Code ou Cursor, et votre assistant IA devient un agent opérationnel. Demandez-lui de vérifier l'expiration du SSL, de comparer les enregistrements DNS, de vérifier la disponibilité ou d'auditer l'accessibilité. Il appelle les outils et renvoie des résultats structurés en quelques secondes.

Connectez le serveur MCP (30 secondes)

Le serveur Botoi MCP expose 49 outils de développement via un seul point de terminaison. Quatre d’entre eux assurent la surveillance des infrastructures : lookup_ssl_cert_expiry, lookup_dns_monitor, lookup_accessibility, et le /v1/uptime/check Point de terminaison REST.

Claude Code

Exécutez ceci dans votre terminal :

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

Fait. Claude Code découvre les outils lors de votre prochaine conversation.

Claude Bureau ou Curseur

Ajoutez ceci à votre fichier de configuration (claude_desktop_config.json pour Claude Bureau, .cursor/mcp.json pour le curseur) :

{
  "mcpServers": {
    "botoi": {
      "type": "streamable-http",
      "url": "https://api.botoi.com/mcp"
    }
  }
}

Redémarrez l'application. Les 49 outils apparaissent dans le sélecteur d'outils.

Outil 1 : Vérifier l'expiration du certificat SSL

La lookup_ssl_cert_expiry L'outil MCP interroge crt.sh pour connaître le dernier certificat délivré à un domaine. Il renvoie l'émetteur, les dates de validité, les jours restants et les indicateurs booléens pour expired et expiring_soon (30 jours ou moins).

Demandez à Claude : "Vérifiez si le certificat SSL de stripe.com expire dans les 30 jours."

You: "Check if stripe.com's SSL certificate expires within 30 days"

Tool call: lookup_ssl_cert_expiry
Input: { "domain": "stripe.com" }

Result:
{
  "success": true,
  "data": {
    "domain": "stripe.com",
    "issuer": "Let's Encrypt",
    "subject": "stripe.com",
    "valid_from": "2026-02-18T00:00:00.000Z",
    "valid_to": "2026-05-19T00:00:00.000Z",
    "days_remaining": 44,
    "expired": false,
    "expiring_soon": false
  }
}

Claude lit le days_remaining champ (44) et le expiring_soon flag (faux), puis vous indique que le certificat est valide pendant 44 jours supplémentaires. Non openssl s_client commandes. Aucun inspecteur de certificat de navigateur.

La expiring_soon le drapeau se déclenche à 30 jours ou moins. Let's Encrypt se renouvelle automatiquement 30 jours avant l'expiration. Si ce drapeau est true, votre processus de renouvellement a un problème.

Outil 2 : Surveiller les modifications des enregistrements DNS

La lookup_dns_monitor L'outil MCP interroge les enregistrements A, AAAA, MX, TXT, NS et CNAME pour un domaine. Il stocke un instantané dans KV après chaque vérification (conservé pendant 7 jours) et compare les résultats actuels avec l'instantané précédent. Les enregistrements modifiés reçoivent un changed: true drapeau.

Demandez à Claude : "Vérifiez les enregistrements DNS pour acme.com et signalez toute modification depuis la dernière vérification."

You: "Check DNS records for acme.com and flag any changes since last check"

Tool call: lookup_dns_monitor
Input: { "domain": "acme.com" }

Result:
{
  "success": true,
  "data": {
    "domain": "acme.com",
    "checked_at": "2026-04-05T14:22:01.000Z",
    "previous_check": "2026-04-04T09:15:33.000Z",
    "changes_detected": true,
    "records": {
      "A": {
        "current": ["104.21.32.1", "172.67.180.1"],
        "previous": ["93.184.216.34"],
        "changed": true
      },
      "MX": {
        "current": ["10 mail.acme.com."],
        "previous": ["10 mail.acme.com."],
        "changed": false
      },
      "TXT": {
        "current": ["v=spf1 include:_spf.google.com ~all"],
        "previous": ["v=spf1 include:_spf.google.com ~all"],
        "changed": false
      }
    }
  }
}

Claude remarque que les enregistrements A sont passés d'une seule IP à deux nouvelles IP, tandis que les enregistrements MX et TXT sont restés les mêmes. Si vous avez migré vers Cloudflare hier, ces nouveaux enregistrements A confirment que la propagation a fonctionné. Si vous ne l'avez pas fait, quelque chose ne va pas.

Exécutez la même invite quotidiennement ou après les migrations DNS. Chaque vérification crée une nouvelle référence pour la comparaison suivante.

Outil 3 : Vérifier la disponibilité des points de terminaison

Le contrôle de disponibilité réside à /v1/uptime/check en tant que point de terminaison REST. Il envoie une requête HEAD à n'importe quelle URL, mesure le temps de réponse et stocke jusqu'à 10 vérifications historiques dans KV.

curl -X POST https://api.botoi.com/v1/uptime/check \\
  -H "Content-Type: application/json" \\
  -d '{"url": "https://api.acme.com/health"}'

La réponse inclut l'état actuel, le temps de réponse et l'historique :

{
  "success": true,
  "data": {
    "url": "https://api.acme.com/health",
    "status": 200,
    "response_time_ms": 142,
    "is_up": true,
    "checked_at": "2026-04-05T14:30:00.000Z",
    "history": [
      { "status": 200, "response_time_ms": 138, "checked_at": "2026-04-05T08:00:00.000Z" },
      { "status": 200, "response_time_ms": 155, "checked_at": "2026-04-04T20:00:00.000Z" },
      { "status": 503, "response_time_ms": 5012, "checked_at": "2026-04-04T12:00:00.000Z" }
    ]
  }
}

Le tableau historique affiche une erreur 503 d’hier à midi. Le temps de réponse a atteint 5 012 ms avant que le service ne renvoie une erreur de serveur. Claude lit cet historique et signale l'incident sans que vous scanniez un tableau de bord.

Vous pouvez également demander directement à Claude : "Vérifiez si https://api.acme.com/health est actif et affichez l'historique des temps de réponse." Claude appelle le point final et résume les résultats.

Outil 4 : Accessibilité des pages d'audit

La lookup_accessibility L'outil MCP récupère une page Web et exécute 10 vérifications : texte alternatif de l'image, attribut de langue, titre de la page, liens vides, boutons vides, ordre des titres, balise méta de la fenêtre d'affichage, étiquettes de formulaire, lien de navigation ignoré et identifiants en double. Il renvoie un score (0-100), une liste de problèmes et un résumé.

You: "Run an accessibility audit on https://acme.com"

Tool call: lookup_accessibility
Input: { "url": "https://acme.com" }

Result:
{
  "success": true,
  "data": {
    "url": "https://acme.com",
    "score": 70,
    "issues": [
      { "rule": "img-alt", "severity": "error", "count": 3, "description": "Images missing alt text" },
      { "rule": "heading-order", "severity": "warning", "count": 1, "description": "Heading levels skip one or more levels" },
      { "rule": "skip-nav", "severity": "warning", "count": 1, "description": "Missing skip navigation link" }
    ],
    "summary": {
      "errors": 1,
      "warnings": 2,
      "passes": 7,
      "total_checks": 10
    }
  }
}

Claude rapporte un score de 70/100 avec trois images manquant de texte alternatif, un saut de niveau de titre et aucun lien de navigation de saut. Il peut suggérer des correctifs spécifiques pour chaque problème, car la réponse inclut des noms et des descriptions de règles.

Enchaînez les quatre en une seule invite

La valeur réelle d'un agent opérationnel IA apparaît lorsque vous combinez les contrôles. Essayez ceci :

You: "Full ops check on acme.com: SSL expiry, DNS changes,
uptime for https://acme.com/health, and accessibility audit"

Claude appelle les quatre outils dans l'ordre et crée un seul rapport :

  • Certificat SSL pour acme.com : 44 jours restants, n'expirant pas bientôt
  • Enregistrements DNS : A enregistrements modifiés depuis hier (migration confirmée)
  • Temps de disponibilité : 200 OK, temps de réponse de 142 ms, un incident 503 hier à midi
  • Accessibilité : 70/100, trois images manquantes, texte alternatif, avertissement d'ordre des titres

Quatre outils, une invite, un résumé. Aucun onglet de navigateur. Aucune fenêtre de terminal. Pas de tableaux de bord.

Ajouter une clé API pour le suivi de la production

L'accès anonyme permet 5 requêtes par minute et 100 par jour. Cela gère les contrôles ad hoc pendant le développement. Pour une surveillance planifiée ou fréquente, ajoutez une clé API :

{
  "mcpServers": {
    "botoi": {
      "type": "streamable-http",
      "url": "https://api.botoi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Obtenez une clé API gratuite sur botoi.com/api pour 1 000 demandes par jour. Les forfaits payants commencent à 9 $/mois pour 10 000 requêtes par jour.

Ce que vous pouvez construire à partir d'ici

Ces quatre outils couvrent les bases de la surveillance des infrastructures. Quelques façons d’étendre le flux de travail :

  • Demandez à Claude de vérifier les certificats SSL de tous vos domaines en une seule fois. Il appelle lookup_ssl_cert_expiry pour chaque domaine et signale ceux qui expirent dans les 30 jours.
  • Exécutez la surveillance DNS après chaque application de Terraform. Comparez les enregistrements attendus avec ce que l'outil rapporte.
  • Combinez le point de terminaison de disponibilité avec une tâche cron. Stockez les résultats dans une base de données et demandez à Claude d'analyser les tendances : "Montrez-moi tous les points de terminaison avec des temps de réponse p95 supérieurs à 500 ms cette semaine."
  • Exécutez des contrôles d’accessibilité avant chaque version. Le bloc se déploie si le score descend en dessous d'un seuil.

Le serveur Botoi MCP donne à votre assistant IA 49 outils au total. Explorez le documentation complète sur la configuration de MCP pour la liste complète des outils, ou parcourez le Documents sur l'API pour tous les 150+ points de terminaison REST.

FAQ

Claude peut-il vérifier si mon certificat SSL expire ce mois-ci ?
Oui. Connectez le serveur Botoi MCP et demandez « Vérifiez si le certificat SSL de example.com expire ce mois-ci ». Claude appelle l'outil lookup_ssl_cert_expiry, lit le champ jours_remaining et vous indique si le certificat expire dans les 30 jours.
Comment l’outil MCP de surveillance DNS détecte-t-il les changements ?
L'outil lookup_dns_monitor interroge les enregistrements A, AAAA, MX, TXT, NS et CNAME pour un domaine et les compare à l'instantané précédent stocké dans KV. Il renvoie un booléen changes_detected et une différence par enregistrement montrant les valeurs actuelles par rapport aux valeurs précédentes.
Ai-je besoin d’une clé API pour utiliser ces outils de surveillance MCP ?
Non. L’accès anonyme vous donne droit à 5 requêtes par minute et 100 par jour. Cela couvre la surveillance occasionnelle. Pour les vérifications planifiées dans CI ou dans les scripts, obtenez une clé API gratuite sur botoi.com/api pour 1 000 requêtes par jour.
Quels clients IA prennent en charge le serveur Botoi MCP ?
Claude Desktop, Claude Code, Cursor, VS Code (mode agent GitHub Copilot) et Windsurf prennent tous en charge MCP Streamable HTTP. Ajoutez l'URL du serveur https://api.botoi.com/mcp à l'un d'entre eux.
Puis-je exécuter ces vérifications dans un pipeline CI au lieu d’un agent IA ?
Oui. Chaque outil MCP est mappé à un point de terminaison REST. Utilisez curl ou n'importe quel client HTTP pour appeler /v1/ssl-cert/expiry, /v1/dns-monitor/check, /v1/uptime/check ou /v1/accessibility/check dans GitHub Actions, GitLab CI ou toute plateforme d'automatisation.

Commencez a construire avec botoi

150+ endpoints API pour la recherche, le traitement de texte, la generation d'images et les utilitaires pour developpeurs. Offre gratuite, sans carte bancaire.