Last9 MCP Server

officiel

Intégrez de manière transparente le contexte de production en temps réel—logs, métriques et traces—dans votre environnement local pour corriger le code plus rapidement.

Documentation

Serveur MCP Last9

last9 mcp demo

Votre agent IA ne sait pas ce qui est défaillant en production. Ceci résout ce problème.

Le serveur MCP Last9 connecte Claude, Cursor, Windsurf et tout autre assistant IA compatible MCP directement à vos données d'observabilité de production — logs, métriques, traces, exceptions, requêtes de base de données, alertes et déploiements. L'agent arrête de deviner et commence à lire le signal réel.


Démarrez en 30 secondes (Hébergé)

Aucun binaire à installer. Aucun jeton à gérer. Une URL, OAuth dans votre navigateur, c'est fait.

Trouvez le slug de votre organisation dans votre URL Last9 : app.last9.io/<org_slug>/...

Claude Code

claude mcp add --transport http last9 https://app.last9.io/api/v4/organizations/<org_slug>/mcp

Tapez /mcp, sélectionnez last9, authentifiez-vous. C'est tout.

Cursor

Paramètres > MCP > Ajouter un nouveau serveur MCP :

{
  "mcpServers": {
    "last9": {
      "type": "http",
      "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Cliquez sur Connecter, terminez OAuth.

VS Code

Nécessite la version 1.99+. Ouvrez la palette de commandes → MCP : Ajouter un serveur, collez l'URL, authentifiez-vous.

Ou directement dans settings.json :

{
  "mcp": {
    "servers": {
      "last9": {
        "type": "http",
        "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
      }
    }
  }
}

Windsurf

Paramètres > Cascade > Ouvrir le marketplace MCP > icône d'engrenage (mcp_config.json) :

{
  "mcpServers": {
    "last9": {
      "serverUrl": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Claude Web/Bureau

Paramètres > Connecteurs > Ajouter un connecteur personnalisé. Nommez-le last9, collez l'URL, authentifiez-vous.

Nécessite un accès administrateur à votre organisation Claude.


Auto-hébergé (STDIO)

Utilisez ceci lorsque votre client MCP ne prend pas en charge le transport HTTP, ou lorsque vous avez besoin que le serveur s'exécute localement.

Installation

Homebrew :

brew install last9/tap/last9-mcp

NPM :

npm install -g @last9/mcp-server@latest
# or directly:
npx -y @last9/mcp-server@latest

Versions binaires (Windows / manuel) :

Téléchargez depuis GitHub Releases :

PlateformeArchive
Windows (x64)last9-mcp-server_Windows_x86_64.zip
Windows (ARM64)last9-mcp-server_Windows_arm64.zip
Linux (x64)last9-mcp-server_Linux_x86_64.tar.gz
Linux (ARM64)last9-mcp-server_Linux_arm64.tar.gz
macOS (x64)last9-mcp-server_Darwin_x86_64.tar.gz
macOS (ARM64)last9-mcp-server_Darwin_arm64.tar.gz

Obtenir un jeton d'actualisation

Seuls les administrateurs peuvent créer des jetons.

  1. Allez dans Accès API
  2. Cliquez sur Générer un jeton avec les autorisations d'écriture
  3. Copiez-le

Configuration du client

Homebrew :

{
  "mcpServers": {
    "last9": {
      "command": "/opt/homebrew/bin/last9-mcp",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

NPM :

{
  "mcpServers": {
    "last9": {
      "command": "npx",
      "args": ["-y", "@last9/mcp-server@latest"],
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

Où coller ceci :

ClientEmplacement
Claude Web/BureauParamètres > Développeur > Modifier la configuration (claude_desktop_config.json)
CursorParamètres > Paramètres Cursor > MCP > Ajouter un nouveau serveur MCP global
WindsurfParamètres > Cascade > Marketplace MCP > icône d'engrenage (mcp_config.json)
VS CodeEnveloppez dans { "mcp": { "servers": { ... } } } dans settings.jsondétails
Configuration STDIO VS Code
{
  "mcp": {
    "servers": {
      "last9": {
        "type": "stdio",
        "command": "/opt/homebrew/bin/last9-mcp",
        "env": {
          "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
        }
      }
    }
  }
}

Pour NPM : utilisez "command": "npx" et ajoutez "args": ["-y", "@last9/mcp-server@latest"].

Windows

Après avoir téléchargé depuis GitHub Releases, extrayez et pointez vers le chemin complet :

{
  "mcpServers": {
    "last9": {
      "command": "C:\\Users\\<user>\\AppData\\Local\\Programs\\last9-mcp-server.exe",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

La méthode NPM est plus simple sous Windows — pas de gestion de chemin.

Variables d'environnement

VariableDéfautDescription
LAST9_REFRESH_TOKEN(requis)Jeton d'actualisation depuis Accès API
LAST9_DATASOURCEdéfaut de l'orgNom de la source de données/cluster — utile lorsque vous avez plusieurs clusters Levitate
LAST9_API_HOSTapp.last9.ioRemplacer l'hôte de l'API
LAST9_MAX_GET_LOGS_ENTRIES5000Entrées max pour les requêtes fragmentées get_logs
LAST9_DEBUG_CHUNKINGfalseDéfinir true pour journaliser les détails de planification des fragments pour get_logs, get_service_logs, get_traces
LAST9_DISABLE_TELEMETRYtrueDéfinir false pour activer le traçage OTel interne
OTEL_SDK_DISABLEDVariable d'env OTel standard. Remplace LAST9_DISABLE_TELEMETRY
OTEL_EXPORTER_OTLP_ENDPOINTPoint de terminaison du collecteur OTLP (uniquement lorsque la télémétrie est activée)
OTEL_EXPORTER_OTLP_HEADERSEn-têtes d'authentification OTLP (uniquement lorsque la télémétrie est activée)

Ce qu'il peut faire

Santé des services

  • get_service_summary — Débit, taux d'erreur, temps de réponse p95 pour tous les services
  • get_service_environments — Environnements disponibles pour vos services. Exécutez ceci en premier — les autres outils APM ont besoin de env d'ici
  • get_service_performance_details — Détail complet : débit, taux d'erreur, p50/p90/p95/moy/max, apdex, disponibilité
  • get_service_operations_summary — Opérations regroupées par points de terminaison HTTP, appels DB, messagerie, clients HTTP
  • get_service_dependency_graph — Carte des dépendances avec débit, latence et taux d'erreur pour l'amont/l'aval/l'infra
  • get_exceptions — Exceptions côté serveur avec filtres de service et de span

Observabilité de la base de données

Quatre outils qui ciblent directement les performances de votre base de données, dérivés des spans de trace OpenTelemetry. Aucune instrumentation supplémentaire nécessaire si vous utilisez déjà OTel.

  • get_databases — Découvrez toutes les bases de données de votre infrastructure : type de DB, hôte, débit (requêtes/min), latence p95, taux d'erreur, nombre de services dépendants
  • get_database_slow_queries — Les exécutions de requêtes les plus lentes réelles, ordonnées par durée, avec des ID de trace pour explorer les traces complètes
  • get_database_queries — Modèles de requêtes et agrégats : fréquence d'exécution d'une requête, durée moyenne/p95, taux d'erreur
  • get_database_server_metrics — Métriques côté serveur de l'hôte DB lui-même (CPU, connexions, taux de succès du buffer — dépend de votre système DB)

Prend en charge PostgreSQL, MySQL, MongoDB, Redis, Aerospike et tout autre système avec des traces OTel ayant un attribut db_system.

Prometheus / PromQL

  • prometheus_range_query — Requêtes de plage PromQL sur n'importe quelle métrique
  • prometheus_instant_query — Requêtes instantanées ; utilisez des fonctions de cumul comme avg_over_time, sum_over_time
  • prometheus_label_values — Valeurs d'étiquette pour une série donnée
  • prometheus_labels — Toutes les étiquettes disponibles pour une série

Pointez-les vers une source de données/cluster différente du défaut en définissant LAST9_DATASOURCE.

Logs

  • get_logs — Requêtes de pipeline de log JSON complètes (agrégations, filtres, extraction de champs)
  • get_service_logs — Lignes de log brutes pour un service, filtrables par sévérité et contenu du corps
  • get_log_attributes — Catalogue global des attributs dans le schéma de log pour une fenêtre temporelle
  • get_log_attributes_for_pipeline — Champs de log réellement présents pour un pipeline en cours (découverte limitée), chacun avec son filter_field exact
  • get_drop_rules — Règles de suppression de log depuis Last9 Control Plane
  • add_drop_rule — Créer une nouvelle règle de suppression pour réduire le volume de logs à la source

Traces

  • get_traces — Requêtes de pipeline de trace JSON pour des recherches larges et des agrégations
  • get_service_traces — Traces par ID de trace exact ou nom de service. Utilisez ceci lorsque vous avez un ID de trace — c'est plus rapide
  • get_trace_attributes — Catalogue global des attributs dans le schéma de trace
  • get_trace_attributes_for_pipeline — Attributs réellement présents pour un pipeline en cours (découverte limitée), chacun avec son filter_field exact
  • get_trace_attribute_values — Valeurs distinctes pour un attribut de trace, éventuellement limitées à un pipeline

Événements de changement et alertes

  • get_change_events — Déploiements, changements de configuration, retours en arrière. Corrélez les incidents avec ce qui a changé
  • get_alert_config — Configurations des règles d'alerte — consultables par nom, sévérité, type, étiquettes
  • get_alerts — Alertes actuellement déclenchées dans une fenêtre temporelle
  • get_alert_rule_state — État de déclenchement historique (1/0) par règle d'alerte sur une plage temporelle, regroupé par rule_id. Filtrable par groupe d'alerte, nom de règle, filtres d'étiquette et état.
  • get_notification_channels — Canaux de notification configurés (Slack, PagerDuty, email, etc.)

Tableaux de bord personnalisés

  • list_dashboards — Tous les tableaux de bord personnalisés de votre organisation : IDs, noms et métadonnées
  • get_dashboard — Définition complète du tableau de bord par ID, y compris les panneaux et les requêtes
  • create_dashboard — Créer un nouveau tableau de bord personnalisé avec des panneaux, des requêtes et des métadonnées
  • update_dashboard — Mettre à jour un tableau de bord existant par ID (les tableaux de bord système en lecture seule renvoient une erreur)
  • delete_dashboard — Supprimer un tableau de bord personnalisé par ID

Résolution de nom floue

  • did_you_mean — Lorsque l'agent n'est pas sûr d'un nom d'entité, ceci renvoie les correspondances les plus proches de votre catalogue (services, environnements, hôtes, bases de données, déploiements/espaces de noms K8s, jobs). Jusqu'à 3 suggestions avec des scores de similarité. Le serveur appelle ceci automatiquement avant la plupart des outils lorsqu'une recherche de nom ne renvoie rien.

Comment ça fonctionne

Liens profonds sur chaque réponse. Chaque outil renvoie un champ deep_link — une URL directe vers le tableau de bord Last9 pour cette requête et cette plage temporelle exactes. L'agent peut vous donner le lien ; vous cliquez ; vous y êtes.

Mise en cache des attributs en direct. Au démarrage, le serveur récupère les noms réels des attributs de log et de trace de vos données et les intègre dans les descriptions des outils. Cela signifie que l'assistant IA sait quels champs existent dans votre schéma, pas seulement une liste générique. Le cache se rafraîchit toutes les 2 heures.

Résultats volumineux fragmentés. get_logs et get_traces gèrent les grands ensembles de résultats par fragmentation plutôt que par troncature. La limite par défaut est de 5000 entrées pour les logs ; configurable via LAST9_MAX_GET_LOGS_ENTRIES.


Développement

Mode HTTP, test curl, construction depuis la source

Exécuter en mode HTTP

export LAST9_REFRESH_TOKEN="your_refresh_token"
export LAST9_HTTP=true
export LAST9_PORT=8080
./last9-mcp-server

Le serveur démarre sur http://localhost:8080/mcp.

Tester avec curl

Le HTTP diffusé MCP nécessite d'abord une poignée de main d'initialisation. Ne définissez pas Mcp-Session-Id lors de la première requête.

# Step 1: Initialize
SESSION_ID=$(curl -si -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "initialize",
      "params": {
        "protocolVersion": "2024-11-05",
        "capabilities": {},
        "clientInfo": {"name": "curl-test", "version": "1.0"}
      }
    }' | grep -i "^Mcp-Session-Id:" | awk '{print $2}' | tr -d '\r')
echo "Session: $SESSION_ID"

# Step 2: Send initialized notification
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{"jsonrpc": "2.0", "method": "notifications/initialized", "params": {}}'

# Step 3: List tools
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}'

# Step 4: Call a tool
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Mcp-Session-Id: $SESSION_ID" \
    -d '{
      "jsonrpc": "2.0",
      "id": 3,
      "method": "tools/call",
      "params": {
        "name": "get_service_logs",
        "arguments": {
          "service": "your-service-name",
          "lookback_minutes": 30,
          "limit": 10
        }
      }
    }'

Construire depuis la source

git clone https://github.com/last9/last9-mcp-server.git
cd last9-mcp-server
go build -o last9-mcp-server
LAST9_HTTP=true ./last9-mcp-server

LAST9_HTTP=true est pour le développement local. Pour une utilisation réelle, le point de terminaison HTTP hébergé est plus simple.


Référence des outils

Tous les paramètres, normes de saisie de temps et détails

Saisie de temps

  • Les heures absolues (start_time_iso/end_time_iso, ou time_iso) ont priorité sur lookback_minutes.
  • Pour les fenêtres relatives : utilisez lookback_minutes.
  • Pour les fenêtres absolues : utilisez RFC3339/ISO8601 — 2026-02-09T15:04:05Z.
  • L'héritage YYYY-MM-DD HH:MM:SS est accepté uniquement pour compatibilité.

get_exceptions

  • limit (entier, optionnel) : Exceptions max. Défaut : 20.
  • lookback_minutes (entier, optionnel) : Défaut : 60.
  • start_time_iso / end_time_iso (chaîne, optionnel) : Plage temporelle absolue.
  • service_name (chaîne, optionnel) : Filtrer par service.
  • span_name (chaîne, optionnel) : Filtrer par nom de span.
  • deployment_environment (chaîne, optionnel) : Filtrer par environnement.

get_service_summary

  • start_time_iso / end_time_iso (chaîne, optionnel)
  • env (chaîne, optionnel) : Défaut à prod.

get_service_environments

  • start_time_iso / end_time_iso (chaîne, optionnel)

Tous les autres outils APM nécessitent une valeur env. Utilisez "" si ceci ne renvoie rien.

get_service_performance_details

  • service_name (chaîne, requis)
  • lookback_minutes (entier, optionnel) : Défaut : 60.
  • start_time_iso / end_time_iso (chaîne, optionnel)
  • env (chaîne, optionnel) : Défaut à prod.

get_service_operations_summary

  • service_name (chaîne, obligatoire)
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • env (chaîne, facultatif) : Par défaut : prod.

get_service_dependency_graph

  • service_name (chaîne, facultatif)
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • env (chaîne, facultatif) : Par défaut : prod.

get_databases

  • env (chaîne, facultatif) : Filtrer par environnement. Par défaut : tous.
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • start_time_iso / end_time_iso (chaîne, facultatif)

get_database_slow_queries

  • db_system (chaîne, facultatif) : par ex. postgresql, mysql, mongodb, redis.
  • host (chaîne, facultatif) : Hôte de la base de données (net_peer_name).
  • service_name (chaîne, facultatif) : Nom du service appelant.
  • env (chaîne, facultatif)
  • min_duration_ms (flottant, facultatif) : Durée minimale de la requête en ms.
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • limit (entier, facultatif) : Par défaut : 20.

get_database_queries

  • db_system (chaîne, facultatif)
  • host (chaîne, facultatif)
  • service_name (chaîne, facultatif)
  • env (chaîne, facultatif)
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • limit (entier, facultatif) : Par défaut : 20.

get_database_server_metrics

  • db_system (chaîne, obligatoire) : par ex. postgresql, mysql, mongodb, redis, aerospike.
  • host (chaîne, facultatif)
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • start_time_iso / end_time_iso (chaîne, facultatif)

prometheus_range_query

  • query (chaîne, obligatoire) : La requête PromQL.
  • start_time_iso / end_time_iso (chaîne, facultatif) : Par défaut, les 60 dernières minutes.
  • lookback_minutes (flottant, facultatif) : Par défaut : 60.

prometheus_instant_query

  • query (chaîne, obligatoire)
  • time_iso (chaîne, facultatif) : Par défaut, maintenant.
  • lookback_minutes (flottant, facultatif)

prometheus_label_values

  • match_query (chaîne, facultatif) : Filtre PromQL.
  • label (chaîne, obligatoire) : Nom de l'étiquette.
  • start_time_iso / end_time_iso (chaîne, facultatif)

prometheus_labels

  • match_query (chaîne, facultatif) : Filtre PromQL.
  • start_time_iso / end_time_iso (chaîne, facultatif)

get_logs

  • logjson_query (tableau, obligatoire) : Requête de pipeline JSON.
  • lookback_minutes (entier, facultatif) : Par défaut : 5.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • limit (entier, facultatif) : Valeur par défaut du serveur : 5000.
  • index (chaîne, facultatif) : physical_index:<name> ou rehydration_index:<block_name>.

Pour l'inventaire des services basé sur les logs, interrogez d'abord physical_index_service_count :

sum by (name, service_name, env) (physical_index_service_count{destination="logs"})

Utilisez service_name comme ServiceName, env comme environnement lorsqu'il est présent, et name comme nom d'index physique. Si name="default", omettez index ; pour un index physique non par défaut sélectionné par l'utilisateur, passez index: "physical_index:<name>". Si le backend rejette le filtrage explicite par index physique, réessayez sans index et signalez que le filtrage explicite par index physique n'est pas disponible pour ce backend.

get_service_logs

  • service (chaîne, obligatoire)
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • limit (entier, facultatif) : Par défaut : 20.
  • env (chaîne, facultatif)
  • severity_filters (tableau, facultatif) : par ex. ["error", "warn"]. Logique OU.
  • body_filters (tableau, facultatif) : par ex. ["timeout", "failed"]. Logique OU.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • index (chaîne, facultatif)

Plusieurs types de filtres se combinent avec ET. Chaque tableau utilise OU en interne. Utilisez d'abord get_logs pour des comptages agrégés larges ; utilisez get_service_logs seulement après avoir restreint à un service/environnement/index et à un petit échantillon.

get_log_attributes

  • lookback_minutes (entier, facultatif) : Par défaut : 15.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • region (chaîne, facultatif)
  • index (chaîne, facultatif)

get_log_attributes_for_pipeline

  • pipeline (tableau, obligatoire) : Étapes de filtre préalables pour délimiter la découverte, par ex. [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (entier, facultatif) : Par défaut : 15.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • region (chaîne, facultatif)
  • index (chaîne, facultatif)

get_drop_rules

Aucun paramètre.

add_drop_rule

  • name (chaîne, obligatoire)
  • filters (tableau, obligatoire) : Chaque filtre : key, value, operator (equals/not_equals), conjunction (and).

get_traces

À utiliser pour les recherches larges et les agrégations. Pour une recherche par ID de trace exact, utilisez get_service_traces.

  • tracejson_query (tableau, obligatoire)
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • limit (entier, facultatif) : Par défaut : 5000.

get_service_traces

Exactement l'un de trace_id ou service_name est obligatoire.

  • trace_id (chaîne, facultatif) : Période de recherche par défaut : 72 heures.
  • service_name (chaîne, facultatif) : Période de recherche par défaut : 60 min.
  • lookback_minutes (entier, facultatif)
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • limit (entier, facultatif) : Par défaut : 10.
  • env (chaîne, facultatif)

get_trace_attributes

  • lookback_minutes (entier, facultatif) : Par défaut : 15.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • region (chaîne, facultatif)

get_trace_attributes_for_pipeline

  • pipeline (tableau, obligatoire) : Étapes de filtre préalables pour délimiter la découverte, par ex. [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (entier, facultatif) : Par défaut : 15.
  • start_time_iso / end_time_iso (chaîne, facultatif)
  • region (chaîne, facultatif)

get_trace_attribute_values

  • tag_name (chaîne, obligatoire) : Nom de l'attribut provenant de get_trace_attributes (par ex. resource_department ou attributes['http.method']).
  • pipeline (tableau, facultatif) : Étapes de filtre préalables pour délimiter les valeurs ; omettez pour les valeurs globales.
  • region (chaîne, facultatif)

get_change_events

  • start_time_iso / end_time_iso (chaîne, facultatif)
  • lookback_minutes (entier, facultatif) : Par défaut : 60.
  • service (chaîne, facultatif)
  • environment (chaîne, facultatif)
  • event_name (chaîne, facultatif) : Appelez d'abord sans ceci pour obtenir available_event_names.

get_alert_config

  • search_term (chaîne, facultatif) : Recherche en texte libre parmi le nom, le groupe, la source de données, les étiquettes.
  • rule_name (chaîne, facultatif)
  • severity (chaîne, facultatif)
  • rule_type (chaîne, facultatif) : static ou anomaly.
  • alert_group_name / alert_group_type / data_source_name (chaîne, facultatif)
  • tags (tableau, facultatif) : Tous doivent correspondre (logique ET).

get_alerts

  • time_iso (chaîne, facultatif) : Heure d'évaluation au format RFC3339.
  • window (entier, facultatif) : Période de recherche en secondes. Par défaut : 900. Plage : 60–86400.
  • lookback_minutes (entier, facultatif) : Plage : 1–1440.

get_alert_rule_state

  • start_time (entier, obligatoire) : Début de la plage en époque Unix (inclusif).
  • end_time (entier, obligatoire) : Fin de la plage en époque Unix (inclusif).
  • step (entier, obligatoire) : Résolution en secondes entre les échantillons. Le nombre d'échantillons ((end_time - start_time) / step + 1) est plafonné à 100.
  • alert_group_id (chaîne, facultatif) : Filtrer par ID de groupe d'alertes.
  • rule_name (chaîne, facultatif) : Filtre par expression régulière sur le nom de la règle.
  • alert_group_name (chaîne, facultatif) : Filtre par expression régulière sur le nom du groupe d'alertes.
  • label_filters (chaîne, facultatif) : Filtres d'étiquettes key=value séparés par des virgules.
  • state (chaîne, facultatif) : Filtrer par état (par ex. firing).

Renvoie une carte JSON de rule_id -> [{timestamp, is_firing}]. Un horodatage auquel une règle est absente de la réponse amont est signalé comme is_firing=0 — cela signifie « non observé comme étant en alerte », et non un état normal confirmé.

get_notification_channels

Aucun paramètre. Renvoie tous les canaux de notification configurés (Slack, PagerDuty, email, webhooks, etc.).

did_you_mean

  • query (chaîne, obligatoire) : Le nom à rechercher — partiel, mal orthographié ou abrégé.
  • type (chaîne, facultatif) : Restreindre au type d'entité : service, environment, host, database, k8s_deployment, k8s_namespace, job.

Renvoie jusqu'à 3 correspondances les plus proches avec des scores de similarité. Utilisez ceci avant tout appel d'outil où le nom de l'entité est incertain. Si un appel précédent a renvoyé des résultats vides, essayez ceci avant de réessayer.

list_dashboards

Aucun paramètre. Renvoie tous les tableaux de bord personnalisés de l'organisation sous forme de tableau JSON avec id, name et les métadonnées.

get_dashboard

  • id (chaîne, obligatoire) : UUID du tableau de bord.
  • region (chaîne, facultatif) : Région pour le peuplement des requêtes des panneaux. Par défaut, la région de la source de données configurée.

create_dashboard

  • dashboard (objet, obligatoire) : Définition du tableau de bord avec name et panels[]. Chaque panneau nécessite name, version, layout (x, y, w, h), visualization.type et queries[].
  • metadata (objet, facultatif) : Métadonnées du tableau de bord — champs _category et _type (par ex. {"_category":"custom","_type":"metrics"}).

update_dashboard

  • id (chaîne, obligatoire) : UUID du tableau de bord à mettre à jour.
  • dashboard (objet, obligatoire) : Corps complet du tableau de bord de remplacement (même forme que pour la création).
  • metadata (objet, facultatif) : Métadonnées de remplacement. Les tableaux de bord système en lecture seule renvoient une erreur 403.

delete_dashboard

  • id (chaîne, obligatoire) : UUID du tableau de bord à supprimer. Les tableaux de bord système en lecture seule ne peuvent pas être supprimés.

Tests

Voir TESTING.md pour la configuration et les instructions des tests d'intégration.


MseeP.ai Security Assessment Badge