Pulsetic MCP Server

officiel

Le serveur MCP Pulsetic connecte la surveillance Pulsetic aux agents IA et aux outils compatibles MCP, permettant un accès direct aux données de disponibilité, aux résultats de surveillance cron, aux flux de gestion des incidents et aux informations de la page de statut via le Model Context Protocol (MCP). Il permet aux équipes d'exposer en toute sécurité les données de surveillance opérationnelle dans un format structuré, facilitant la création d'automatisation pilotée par l'IA, d'assistants de surveillance et de flux de travail opérationnels intelligents sans middleware personnalisé.

Que pouvez-vous faire avec Pulsetic MCP ?

  • Vérifier l’état et la disponibilité des moniteurs — Interrogez tous les moniteurs avec list_monitors ou obtenez des statistiques détaillées pour un moniteur spécifique via get_monitor_stats.
  • Examiner les événements d’indisponibilité — Récupérez les événements de connexion/déconnexion avec get_monitor_events ou le nombre total de secondes d’indisponibilité via get_monitor_downtime.
  • Créer et gérer des moniteurs — Ajoutez de nouveaux moniteurs HTTP, TCP ou ICMP avec create_monitor, mettez à jour les paramètres via update_monitor, ou mettez en pause/reprenez les vérifications.
  • Gérer les incidents sur les pages de statut — Utilisez create_incident, update_incident et resolve_incident pour gérer le cycle de vie des incidents et publier des mises à jour de statut.
  • Planifier des fenêtres de maintenance — Créez des périodes de maintenance à venir avec create_maintenance ou supprimez-les via delete_maintenance.

Documentation

Serveur Pulsetic MCP

Connectez les assistants IA à votre plateforme de surveillance Pulsetic en utilisant le Model Context Protocol (MCP).


Qu'est-ce que MCP ?

Le Model Context Protocol est un standard ouvert qui permet aux assistants IA d'interagir avec des outils et services externes. Avec le serveur MCP de Pulsetic, vous pouvez demander à votre assistant IA de vérifier l'état des moniteurs, de créer des incidents, de planifier des maintenances, et plus encore — le tout par une conversation naturelle.

Clients pris en charge :


Prérequis

  • Un compte Pulsetic sur un forfait avec accès API (Business ou Enterprise).
  • Une clé API Pulsetic — générez-en une depuis Paramètres → API dans votre tableau de bord.
  • Un client IA compatible MCP.

Configuration

Claude Desktop

Claude Desktop utilise des serveurs MCP basés sur stdio. Utilisez mcp-remote pour faire le pont avec le point de terminaison HTTP distant. Ouvrez Paramètres → Développeur → Modifier la configuration et ajoutez :

{
  "mcpServers": {
    "pulsetic": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://api.pulsetic.com/mcp",
        "--header", "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}

Remplacez YOUR_API_KEY par votre clé API réelle. Redémarrez Claude Desktop pour appliquer.

Claude Code

Ajoutez le serveur au fichier .mcp.json de votre projet :

{
  "mcpServers": {
    "pulsetic": {
      "type": "streamableHttp",
      "url": "https://api.pulsetic.com/mcp",
      "headers": {
        "Authorization": "YOUR_API_KEY"
      }
    }
  }
}

Cursor

Ouvrez Paramètres → Serveurs MCP → Ajouter un serveur et configurez :

  • Type : streamableHttp
  • URL : https://api.pulsetic.com/mcp
  • En-têtes : Authorization: YOUR_API_KEY

ChatGPT

ChatGPT prend en charge MCP de manière native via le Mode Développeur. Il utilise OAuth pour s'authentifier auprès de Pulsetic.

Étape 1. Activez le Mode Développeur dans ChatGPT : allez dans Applications activées → Paramètres avancés → Mode développeur et activez-le. Ceci est disponible pour les utilisateurs de ChatGPT Pro, Plus, Team, Business, Enterprise et Edu.

Étape 2. Créez une nouvelle application : allez dans Applications activées → Créer une application.

Étape 3. Remplissez les détails de l'application :

ChampValeur
NomPulsetic MCP (ou tout autre nom de votre choix)
DescriptionUptime monitoring (optionnel)
URL du serveur MCPhttps://api.pulsetic.com/mcp
AuthentificationOAuth

Étape 4. Les points de terminaison OAuth seront auto-découverts depuis le serveur. Vous pouvez les vérifier sous Paramètres avancés :

ChampValeur
URL d'authentificationhttps://api.pulsetic.com/mcp/oauth/authorize
URL du jetonhttps://api.pulsetic.com/mcp/oauth/token
URL d'enregistrementhttps://api.pulsetic.com/mcp/oauth/register

Étape 5. Cochez "Je comprends et je souhaite continuer" et cliquez sur Créer.

Étape 6. Terminez le flux de connexion OAuth. Vous serez redirigé vers une page d'autorisation Pulsetic où vous saisirez l'adresse e-mail de votre compte et votre jeton API.

L'adresse e-mail doit correspondre à votre jeton API. Sur la page d'autorisation, l'adresse e-mail que vous saisissez doit correspondre au propriétaire du jeton API que vous fournissez.

Gardez votre clé API privée. Votre clé API donne un accès complet à votre compte Pulsetic. Ne la versionnez jamais et ne la partagez pas publiquement.


Outils disponibles

Le serveur MCP expose 17 outils organisés en quatre catégories.

Moniteurs

OutilDescription
list_monitorsLister tous les moniteurs avec leur statut, disponibilité et temps de réponse.
get_monitorObtenir des informations détaillées sur un moniteur spécifique.
get_monitor_statsPourcentage de disponibilité, temps d'arrêt et temps de réponse sur 1j/7j/30j/90j.
get_monitor_eventsÉvénements en ligne/hors ligne dans une plage de dates.
get_monitor_downtimeTemps d'arrêt total en secondes pour une période donnée.
create_monitorCréer un nouveau moniteur HTTP, TCP ou ICMP.
update_monitorMettre à jour le nom, l'URL, la fréquence ou les paramètres d'un moniteur.
delete_monitorSupprimer définitivement un moniteur.
pause_monitorMettre en pause la surveillance (arrêter les vérifications).
resume_monitorReprendre un moniteur mis en pause.

Pages de statut

OutilDescription
list_status_pagesLister toutes les pages de statut avec leur titre, slug et domaine.

Incidents

OutilDescription
list_incidentsLister les incidents pour une page de statut.
create_incidentCréer un nouvel incident avec une mise à jour de statut initiale.
update_incidentPublier une mise à jour de statut sur un incident existant.
resolve_incidentMarquer un incident comme résolu.

Maintenance

OutilDescription
create_maintenancePlanifier une fenêtre de maintenance sur une page de statut.
delete_maintenanceSupprimer une fenêtre de maintenance planifiée.

Exemples d'utilisation

Une fois configuré, vous pouvez interagir avec Pulsetic en langage naturel.

Vérifier vos moniteurs

"Show me all my monitors and their current status."

"What's the uptime for my production API monitor over the last 30 days?"

"Are any of my monitors currently down?"

"Show me the downtime events for monitor 42 in the past week."

Gérer les moniteurs

"Create a new monitor for https://api.example.com that checks every 30 seconds."

"Pause the staging monitor while we do the migration."

"Resume all paused monitors."

"Change the check frequency of monitor 15 to 60 seconds."

"Delete the old marketing-site monitor."

Gérer les incidents

"Create an incident on our main status page: 'Elevated API latency'
 with status investigating and message 'We're looking into slow response times.'"

"Update the API latency incident to identified: 'Root cause is a database
 connection pool issue. Working on a fix.'"

"Resolve incident 8 with message 'Connection pool limits increased.
 Response times back to normal.'"

Planifier une maintenance

"Schedule a maintenance window on status page 1 called 'Database upgrade'
 starting 2025-03-20 at 2am UTC and ending at 4am UTC."

"Delete the maintenance window we scheduled for next week."

Test avec cURL

Vous pouvez tester le point de terminaison MCP directement avec cURL pour vérifier que votre clé API fonctionne.

Initialiser

curl -X POST https://api.pulsetic.com/mcp \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": {"name": "curl", "version": "1.0"}
    }
  }'

Lister les outils

curl -X POST https://api.pulsetic.com/mcp \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

Appeler un outil

curl -X POST https://api.pulsetic.com/mcp \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "list_monitors",
      "arguments": {}
    }
  }'

Référence des outils

list_monitors

Renvoie tous les moniteurs de votre compte.

Aucun paramètre.


get_monitor

Renvoie tous les détails d'un seul moniteur, y compris les informations du certificat SSL.

ParamètreTypeRequisDescription
monitor_idintegerOuiL'ID du moniteur.

get_monitor_stats

Renvoie le pourcentage de disponibilité, le temps d'arrêt, le nombre d'incidents et le temps de réponse moyen sur des périodes de 1 jour, 7 jours, 30 jours et 90 jours.

ParamètreTypeRequisDescription
monitor_idintegerOuiL'ID du moniteur.

get_monitor_events

Renvoie les événements en ligne/hors ligne dans une plage de dates (max 100, du plus récent au plus ancien).

ParamètreTypeRequisDescription
monitor_idintegerOuiL'ID du moniteur.
fromstringNonDate de début (AAAA-MM-JJ). Par défaut : il y a 7 jours.
tostringNonDate de fin (AAAA-MM-JJ). Par défaut : aujourd'hui.

get_monitor_downtime

Renvoie le temps d'arrêt total en secondes et le nombre d'incidents pour une période.

ParamètreTypeRequisDescription
monitor_idintegerOuiL'ID du moniteur.
daysintegerNonNombre de jours à remonter. Par défaut : 30.

create_monitor

Crée un nouveau moniteur de disponibilité.

ParamètreTypeRequisDescription
urlstringOuiURL ou nom d'hôte à surveiller.
namestringNonNom d'affichage.
request_typestringNonhttp, tcp, ou icmp. Par défaut : http.
uptime_check_frequencyintegerNonIntervalle de vérification en secondes. Par défaut : 60.
request_methodstringNonMéthode HTTP. Par défaut : GET.
request_timeoutintegerNonDélai d'expiration en secondes. Par défaut : 30.
ssl_checkbooleanNonActiver la surveillance SSL.

update_monitor

Met à jour les paramètres d'un moniteur existant. Incluez uniquement les champs que vous souhaitez modifier.

ParamètreTypeRequisDescription
monitor_idintegerOuiL'ID du moniteur.
namestringNonNouveau nom d'affichage.
urlstringNonNouvelle URL ou nom d'hôte.
uptime_check_frequencyintegerNonNouvel intervalle de vérification en secondes.
request_methodstringNonMéthode HTTP.
request_timeoutintegerNonDélai d'expiration en secondes.
ssl_checkbooleanNonActiver/désactiver la surveillance SSL.

delete_monitor

Supprime définitivement un moniteur et toutes les données associées.

ParamètreTypeRequisDescription
monitor_idintegerOuiL'ID du moniteur.

pause_monitor

Met un moniteur en pause. Il ne sera plus vérifié jusqu'à ce qu'il soit repris.

ParamètreTypeRequisDescription
monitor_idintegerOuiL'ID du moniteur.

resume_monitor

Reprend un moniteur mis en pause.

ParamètreTypeRequisDescription
monitor_idintegerOuiL'ID du moniteur.

list_status_pages

Renvoie toutes les pages de statut de votre compte.

Aucun paramètre.


list_incidents

Renvoie les incidents pour une page de statut, y compris la dernière mise à jour pour chacun.

ParamètreTypeRequisDescription
status_page_idintegerOuiL'ID de la page de statut.

create_incident

Crée un nouvel incident avec une mise à jour de statut initiale qui apparaît sur la page de statut.

ParamètreTypeRequisDescription
status_page_idintegerOuiL'ID de la page de statut.
titlestringOuiTitre de l'incident.
statusstringOuiinvestigating, identified, monitoring, ou resolved.
messagestringOuiMessage de mise à jour initial.

update_incident

Publie une nouvelle mise à jour de statut sur un incident existant.

ParamètreTypeRequisDescription
incident_idintegerOuiL'ID de l'incident.
statusstringOuiinvestigating, identified, monitoring, ou resolved.
messagestringOuiMessage de mise à jour.
titlestringNonMettre à jour le titre de l'incident.

resolve_incident

Marque un incident comme résolu avec un message de résolution.

ParamètreTypeRequisDescription
incident_idintegerOuiL'ID de l'incident.
messagestringOuiMessage de résolution.

create_maintenance

Planifie une fenêtre de maintenance sur une page de statut.

ParamètreTypeRequisDescription
status_page_idintegerOuiL'ID de la page de statut.
namestringOuiTitre de la maintenance.
descriptionstringNonDescription de la maintenance.
startstringOuiHeure de début au format ISO 8601.
endstringOuiHeure de fin au format ISO 8601.
timezonestringNonFuseau horaire (ex., UTC, America/New_York). Par défaut : UTC.

delete_maintenance

Supprime une fenêtre de maintenance planifiée.

ParamètreTypeRequisDescription
maintenance_idintegerOuiL'ID de la fenêtre de maintenance.

Dépannage

401 Non autorisé

  • Vérifiez que votre clé API est correcte et n'a pas expiré.
  • Assurez-vous de transmettre la clé dans l'en-tête Authorization (soit en tant que jeton brut, soit avec le préfixe Bearer).
  • Confirmez que votre compte est sur un forfait avec accès API activé.

Échec de l'autorisation OAuth (ChatGPT)

  • Sur la page d'autorisation, l'adresse e-mail que vous saisissez doit correspondre au propriétaire du jeton API.
  • Assurez-vous que le Mode Développeur est activé dans vos paramètres ChatGPT.
  • Vérifiez que vous avez un forfait ChatGPT prenant en charge le Mode Développeur (Pro, Plus, Team, Business, Enterprise ou Edu).

"Moniteur introuvable ou accès refusé"

  • L'ID du moniteur n'existe pas ou appartient à un autre compte.
  • Utilisez list_monitors pour voir les ID de vos moniteurs disponibles.

Les outils n'apparaissent pas dans votre client IA

  • Redémarrez le client IA après avoir modifié la configuration MCP.
  • Vérifiez que l'URL est exactement https://api.pulsetic.com/mcp.
  • Testez le point de terminaison avec cURL pour vérifier la connectivité.

Obtention d'erreurs de protocole

  • Assurez-vous que les requêtes utilisent Content-Type: application/json.
  • Le champ jsonrpc doit être exactement "2.0".
  • Incluez un champ id (entier ou chaîne) pour toutes les requêtes sauf les notifications.

Référence API

Le serveur MCP implémente la spécification MCP (2025-03-26) en utilisant le transport HTTP Streamable sur un seul point de terminaison POST /mcp avec JSON-RPC 2.0.