Pulsetic MCP Server
officielLe 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_monitorsou obtenez des statistiques détaillées pour un moniteur spécifique viaget_monitor_stats. - Examiner les événements d’indisponibilité — Récupérez les événements de connexion/déconnexion avec
get_monitor_eventsou le nombre total de secondes d’indisponibilité viaget_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 viaupdate_monitor, ou mettez en pause/reprenez les vérifications. - Gérer les incidents sur les pages de statut — Utilisez
create_incident,update_incidentetresolve_incidentpour 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_maintenanceou supprimez-les viadelete_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 :
- Claude Desktop — L'application de bureau d'Anthropic
- Claude Code — L'interface en ligne de commande d'Anthropic pour les développeurs
- ChatGPT — L'assistant IA d'OpenAI (via OAuth)
- Cursor — Éditeur de code alimenté par l'IA
- Windsurf — IDE alimenté par l'IA
- Tout client implémentant la spécification MCP
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 :
| Champ | Valeur |
|---|---|
| Nom | Pulsetic MCP (ou tout autre nom de votre choix) |
| Description | Uptime monitoring (optionnel) |
| URL du serveur MCP | https://api.pulsetic.com/mcp |
| Authentification | OAuth |
Étape 4. Les points de terminaison OAuth seront auto-découverts depuis le serveur. Vous pouvez les vérifier sous Paramètres avancés :
| Champ | Valeur |
|---|---|
| URL d'authentification | https://api.pulsetic.com/mcp/oauth/authorize |
| URL du jeton | https://api.pulsetic.com/mcp/oauth/token |
| URL d'enregistrement | https://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
| Outil | Description |
|---|---|
list_monitors | Lister tous les moniteurs avec leur statut, disponibilité et temps de réponse. |
get_monitor | Obtenir des informations détaillées sur un moniteur spécifique. |
get_monitor_stats | Pourcentage 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_downtime | Temps d'arrêt total en secondes pour une période donnée. |
create_monitor | Créer un nouveau moniteur HTTP, TCP ou ICMP. |
update_monitor | Mettre à jour le nom, l'URL, la fréquence ou les paramètres d'un moniteur. |
delete_monitor | Supprimer définitivement un moniteur. |
pause_monitor | Mettre en pause la surveillance (arrêter les vérifications). |
resume_monitor | Reprendre un moniteur mis en pause. |
Pages de statut
| Outil | Description |
|---|---|
list_status_pages | Lister toutes les pages de statut avec leur titre, slug et domaine. |
Incidents
| Outil | Description |
|---|---|
list_incidents | Lister les incidents pour une page de statut. |
create_incident | Créer un nouvel incident avec une mise à jour de statut initiale. |
update_incident | Publier une mise à jour de statut sur un incident existant. |
resolve_incident | Marquer un incident comme résolu. |
Maintenance
| Outil | Description |
|---|---|
create_maintenance | Planifier une fenêtre de maintenance sur une page de statut. |
delete_maintenance | Supprimer 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ètre | Type | Requis | Description |
|---|---|---|---|
monitor_id | integer | Oui | L'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ètre | Type | Requis | Description |
|---|---|---|---|
monitor_id | integer | Oui | L'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ètre | Type | Requis | Description |
|---|---|---|---|
monitor_id | integer | Oui | L'ID du moniteur. |
from | string | Non | Date de début (AAAA-MM-JJ). Par défaut : il y a 7 jours. |
to | string | Non | Date 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ètre | Type | Requis | Description |
|---|---|---|---|
monitor_id | integer | Oui | L'ID du moniteur. |
days | integer | Non | Nombre de jours à remonter. Par défaut : 30. |
create_monitor
Crée un nouveau moniteur de disponibilité.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
url | string | Oui | URL ou nom d'hôte à surveiller. |
name | string | Non | Nom d'affichage. |
request_type | string | Non | http, tcp, ou icmp. Par défaut : http. |
uptime_check_frequency | integer | Non | Intervalle de vérification en secondes. Par défaut : 60. |
request_method | string | Non | Méthode HTTP. Par défaut : GET. |
request_timeout | integer | Non | Délai d'expiration en secondes. Par défaut : 30. |
ssl_check | boolean | Non | Activer la surveillance SSL. |
update_monitor
Met à jour les paramètres d'un moniteur existant. Incluez uniquement les champs que vous souhaitez modifier.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
monitor_id | integer | Oui | L'ID du moniteur. |
name | string | Non | Nouveau nom d'affichage. |
url | string | Non | Nouvelle URL ou nom d'hôte. |
uptime_check_frequency | integer | Non | Nouvel intervalle de vérification en secondes. |
request_method | string | Non | Méthode HTTP. |
request_timeout | integer | Non | Délai d'expiration en secondes. |
ssl_check | boolean | Non | Activer/désactiver la surveillance SSL. |
delete_monitor
Supprime définitivement un moniteur et toutes les données associées.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
monitor_id | integer | Oui | L'ID du moniteur. |
pause_monitor
Met un moniteur en pause. Il ne sera plus vérifié jusqu'à ce qu'il soit repris.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
monitor_id | integer | Oui | L'ID du moniteur. |
resume_monitor
Reprend un moniteur mis en pause.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
monitor_id | integer | Oui | L'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ètre | Type | Requis | Description |
|---|---|---|---|
status_page_id | integer | Oui | L'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ètre | Type | Requis | Description |
|---|---|---|---|
status_page_id | integer | Oui | L'ID de la page de statut. |
title | string | Oui | Titre de l'incident. |
status | string | Oui | investigating, identified, monitoring, ou resolved. |
message | string | Oui | Message de mise à jour initial. |
update_incident
Publie une nouvelle mise à jour de statut sur un incident existant.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
incident_id | integer | Oui | L'ID de l'incident. |
status | string | Oui | investigating, identified, monitoring, ou resolved. |
message | string | Oui | Message de mise à jour. |
title | string | Non | Mettre à jour le titre de l'incident. |
resolve_incident
Marque un incident comme résolu avec un message de résolution.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
incident_id | integer | Oui | L'ID de l'incident. |
message | string | Oui | Message de résolution. |
create_maintenance
Planifie une fenêtre de maintenance sur une page de statut.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
status_page_id | integer | Oui | L'ID de la page de statut. |
name | string | Oui | Titre de la maintenance. |
description | string | Non | Description de la maintenance. |
start | string | Oui | Heure de début au format ISO 8601. |
end | string | Oui | Heure de fin au format ISO 8601. |
timezone | string | Non | Fuseau horaire (ex., UTC, America/New_York). Par défaut : UTC. |
delete_maintenance
Supprime une fenêtre de maintenance planifiée.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
maintenance_id | integer | Oui | L'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éfixeBearer). - 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_monitorspour 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
jsonrpcdoit ê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.