get_more_tools, permet à un agent de demander des capacités supplémentaires ou de signaler comment une tâche s’est déroulée.
Vous n’appelez pas ces outils vous-même. Vous décrivez ce que vous voulez dans le chat de votre agent, par exemple : « quelles actions sont les plus lentes en production actuellement ? »
L’agent choisit l’outil approprié et renseigne ses paramètres. Cette référence existe pour que vous puissiez vérifier si une capacité existe, et nommer un paramètre lorsque l’agent choisit le mauvais.
Pour des exemples de la façon dont ces outils se combinent pour une tâche, consultez les flux de travail AppSignal MCP.
Référence des outils
La plupart des outils prennentapp_name et app_environment pour identifier l’application cible. Les deux sont mis en correspondance sans tenir compte de la casse, donc MyApp/Production et myapp/production se résolvent vers la même application. Si le nom ne correspond à aucune application à laquelle vous avez accès, l’outil renvoie une erreur qui nomme ce que vous avez demandé et suggère les correspondances les plus proches, afin que l’agent puisse réessayer avec un nom valide.
Chaque outil prend également une chaîne context afin que l’agent puisse expliquer pourquoi il effectue l’appel. Les agents la renseignent généralement automatiquement, donc les tableaux ci-dessous se concentrent sur les paramètres spécifiques à la tâche.
manage_trigger, manage_log_line_action et manage_check_in_trigger couvrent chacun plusieurs opérations derrière un paramètre action requis, donc les champs dont vous avez besoin dépendent de l’action que vous transmettez. Dans ces tableaux, oui (upsert) signale un champ requis à chaque upsert, et oui (création) un champ requis uniquement lorsque l’upsert crée quelque chose plutôt que de le mettre à jour.
Découverte d’applications
get_applications
Obtenez toutes les applications AppSignal auxquelles l’utilisateur a accès.
Retourne les applications au format app_name/app_environment. Utilisez-le d’abord pour découvrir les applications disponibles avant d’appeler d’autres outils.
Aucun paramètre spécifique à la tâche en dehors de context.
get_app_resources
Découvrez les ressources disponibles dans une application AppSignal — namespaces, tableaux de bord, utilisateurs, notifieurs, sources de journaux, vues de journal, actions de ligne de journal, marqueurs de déploiement et moniteurs de disponibilité.
Particulièrement utile lors de la configuration de déclencheurs, de l’attribution d’incidents ou de la compréhension de la structure d’une application.
La section
deploy_markers retourne jusqu’à 100 déploiements récents, chacun avec sa révision complète et la plage horaire pendant laquelle il était actif. Restreignez-la avec deploy_marker_namespace ou deploy_marker_revision. Pour trouver les erreurs qu’un déploiement a introduites, passez sa révision à get_exception_incidents avec new_only: true. Sans new_only, vous obtenez toutes les erreurs signalées dans ce déploiement. Cela inclut celles observées pour la première fois dans un déploiement antérieur.
La section uptime_monitors liste chaque URL surveillée et ses paramètres. La disponibilité elle-même n’est pas stockée — elle est calculée à partir de métriques, donc interrogez le compteur uptime_monitor_error_count avec get_metrics_timeseries pour la calculer. Pour un détail par phase, interrogez uptime_monitor_timing avec un tag phase. Voir temps de requête.
Check-ins
Ces deux outils couvrent les mêmes moniteurs que process monitoring : les moniteurs cron, qui attendent une exécution selon un calendrier, et les moniteurs heartbeat, qui attendent un signal continu.get_check_in_triggers
Répertorie les moniteurs check-in (cron et heartbeat), ou inspecte un moniteur avec ses exécutions récentes.
Utilisez ceci pour voir quels jobs ou services planifiés sont censés se signaler, vérifier s’ils sont à l’heure, ou trouver l’ID d’un moniteur avant de le mettre à jour.
manage_check_in_trigger
Créer, mettre à jour ou supprimer un moniteur check-in.
Contrairement aux déclencheurs de Anomaly detection, les moniteurs check-in sont mis à jour sur place. Lorsque vous en mettez un à jour, les champs omis conservent leurs valeurs actuelles.
Incidents d’erreur
get_exception_incidents
Listez et recherchez les exceptions et erreurs AppSignal.
Utilisez-le pour obtenir un aperçu des exceptions récentes, rechercher dans une période, trouver des incidents par état, ou vérifier quels incidents nécessitent attention. Retourne 50 incidents par page.
Pour les invites qui demandent à votre agent les nouvelles erreurs, consultez Vérifier ce qu’un déploiement a cassé.
get_incident
Obtenez des informations détaillées sur un incident AppSignal.
Retourne l’état actuel, l’attribution, la première et la dernière occurrence, les messages d’erreur, les traces de pile ou les détails de l’alerte d’anomalie. Prend en charge les incidents d’exception et d’anomalie.
update_incidents
Mettez à jour en masse les incidents d’une application AppSignal.
Utilisez-le pour modifier l’état d’incidents, mettre à jour la gravité ou attribuer et désattribuer des membres d’équipe sur plusieurs incidents à la fois. Utilisez get_app_resources avec sections: ["users"] pour trouver les ID utilisateur pour l’attribution.
manage_note
Créez ou mettez à jour une note sur un incident AppSignal ou sur une action de trace de performance. Markdown est pris en charge.
Utilisez ceci pour ajouter des commentaires, mises à jour de statut, conclusions d’enquête ou étapes de résolution. Identifiez la cible avec number pour un incident, ou avec namespace et action_name pour une action de trace de performance. Fournir les deux renvoie une erreur.
Une note sur une action de trace de performance est partagée par toutes les traces de cette action. Elle reste après l’expiration des données de trace de l’action. Une note sur un incident de performance est stockée sur l’action de trace de l’incident, pas sur l’incident lui-même. Elle reste disponible après la fermeture de l’incident. Consultez la documentation de la page des traces pour savoir où ces notes apparaissent.
Incluez une URL complète d’issue GitHub dans une note d’incident pour lier cette issue à l’incident. Cela nécessite que l’application ait GitHub configuré. La liaison GitHub ne s’applique pas aux notes sur les actions de trace.
Cet outil s’appelait auparavant
manage_incident_note, et avant cela create_incident_note. Les deux anciens noms fonctionnent toujours comme alias, afin que les invites et configurations existantes continuent de fonctionner.Performance
Pour ajouter une note à une action de trace de performance, utilisezmanage_note.
get_performance
Aperçu des performances : traces de performance basées sur des échantillons et actions lentes à partir des traces.
Pour les applications Ruby et Elixir standard, retourne les traces de performance basées sur des échantillons. Pour les applications qui envoient également des traces OpenTelemetry, retourne en plus une liste classée d’actions avec la durée moyenne, le débit et le taux d’erreur. Les applications en cours de migration vers OpenTelemetry peuvent retourner les deux.
Outils de suivi : utilisez get_incident pour inspecter un incident de performance spécifique, get_traces pour récupérer des traces pour une action lente, et update_incidents pour modifier l’état, la gravité ou les attributions.
get_traces
Interrogez les traces de performance et d’erreur, inspectez les arbres de spans et consultez les détails des spans.
Prend en charge deux types de traces :
- Traces de performance — identifiées par le namespace et
action_name. Utilisez-les pour enquêter sur des requêtes lentes. - Traces d’erreur — identifiées par digest. Obtenez le digest depuis
get_incidentouget_exception_incidents, puis utilisez-le ici pour voir les traces d’erreur réelles.
- Mode liste — trouvez des traces et obtenez les ID de trace. Fournissez le namespace +
action_name, oudigest. - Mode arbre — passez un
trace_idpour voir tous les spans sous forme d’arbre compact, ainsi que les métadonnées du span racine et une répartition de la durée. La répartition indique le temps propre par catégorie : ce sur quoi les spans de chaque catégorie ont réellement travaillé, plutôt que d’attendre un enfant. - Mode détail de span — passez
trace_idetspan_idpour les attributs de span complets, les événements et les informations de ressource. Les valeurs d’attribut longues sont tronquées à 500 caractères. Le texte des requêtes de base de données fait exception et est transmis en entier jusqu’à 10 000 caractères.
Anomaly detection
get_anomaly_incidents
Listez et recherchez les alertes de Anomaly detection AppSignal.
Retourne 50 alertes par page, y compris les horodatages et valeurs pour chaque alerte.
get_triggers
Listez les déclencheurs de Anomaly detection pour une application AppSignal.
Retourne les déclencheurs actifs (non archivés) avec leur configuration complète — conditions, notifieurs et liens vers les tableaux de bord. Utilisez-le pour trouver les ID de déclencheur avant d’appeler manage_trigger.
manage_trigger
Créer, mettre à jour ou archiver un déclencheur de Anomaly detection.
Les déclencheurs sont immuables. Lorsque vous mettez à jour un déclencheur, AppSignal archive celui existant, ferme toutes ses alertes et incidents, et en crée un remplaçant. Fournissez tous les champs pour les opérations de création et de mise à jour.
Utilisez get_metric_names et get_metric_tags pour découvrir les métriques et champs disponibles. Utilisez get_app_resources(sections: ["notifiers"]) pour trouver les ID de notifieur.
Cet outil remplace l’ancien flux
archive_trigger. L’ancien nom continue de fonctionner comme alias de rétrocompatibilité, mais manage_trigger est l’outil principal.Journalisation
get_log_lines
Interrogez les lignes de journal en utilisant la syntaxe d’expression d’AppSignal.
Prend en charge la correspondance exacte, contient, la négation, les comparaisons numériques, la logique booléenne et les attributs imbriqués. Retourne jusqu’à 100 lignes par appel, du plus récent au plus ancien par défaut. Pour les grandes plages horaires, divisez en plusieurs appels et itérez vers l’avant.
Chaque ligne commence par un aperçu de 120 caractères de son message. Si le message est plus long, la réponse ajoute une ligne Message distincte avec le texte complet, limité à 2 000 caractères.
Syntaxe de requête :
Champs disponibles :
severity, hostname, group, message et tout attribut personnalisé.
manage_log_line_action
Créer, mettre à jour, réorganiser ou supprimer une action de ligne de journal.
Les actions de ligne de journal s’exécutent pendant l’ingestion des journaux, dans l’ordre que vous définissez. Il existe trois types :
- filter — écarte les lignes de journal correspondantes afin qu’elles ne soient jamais stockées ni traitées
- trigger — déclenche des alertes et incidents lorsque la requête correspond
- metrics — extrait des métriques de compteur, jauge ou distribution à partir des lignes de journal correspondantes
Cet outil remplace les anciens flux
reorder_log_line_actions et delete_log_line_action. Ces noms continuent de fonctionner comme alias de rétrocompatibilité, mais manage_log_line_action est l’outil principal.Métriques
discover_metrics
Découvrez les catégories de métriques disponibles et leurs métriques pour la surveillance.
Utilisez-le pour obtenir un aperçu de ce que vous pouvez surveiller, ou pour explorer une catégorie spécifique. Accepte également une référence dashboard:<dashboard_id> pour afficher les métriques utilisées dans un tableau de bord spécifique.
get_metric_names
Obtenez les noms de toutes les métriques pour l’application donnée.
Retourne les noms des métriques sous forme de chaîne séparée par des virgules. Utilisez-les comme entrée pour get_metric_tags, get_metrics_timeseries et get_metrics_list.
get_metric_tags
Obtenez les tags et le type de métrique (Gauge, Counter, etc.) pour une métrique spécifique.
Utilisez les résultats pour construire des requêtes valides avec get_metrics_timeseries et get_metrics_list.
get_metrics_timeseries
Obtenez une série chronologique pour une métrique dans l’application donnée.
Retourne des données point par point pour une plage horaire, un type de métrique et une combinaison de tags donnés. Les valeurs des tags prennent en charge la correspondance par caractère générique avec *.
get_metrics_list
Obtenez une valeur agrégée pour une métrique sur une plage horaire.
Retourne une seule valeur agrégée plutôt qu’une série chronologique point par point. Utile pour les vues récapitulatives.
Tableaux de bord
manage_dashboard
Créer ou mettre à jour un tableau de bord AppSignal.
Cet outil gère uniquement les métadonnées du tableau de bord (titre et description). Utilisez create_dashboard_visual et update_dashboard_visual pour ajouter des graphiques.
MCP ajoute et met à jour, mais ne supprime pas. Pour supprimer un graphique ou un tableau de bord entier, ouvrez les tableaux de bord de votre application sur AppSignal.
create_dashboard_visual
Ajoutez un nouveau graphique à un tableau de bord existant. Deux types de visuels sont disponibles :
timeseries(par défaut) — un graphique en ligne ou en aire traçant une ou plusieurs métriques au fil du temps.number— une tuile Big Number affichant une seule métrique agrégée, utile pour un total, la dernière lecture ou une moyenne en un coup d’œil.
discover_metrics ou get_metrics_list pour trouver d’abord les métriques disponibles.
Ces paramètres s’appliquent aux deux types de visuels :
Ces paramètres s’appliquent uniquement aux visuels
timeseries :
Ces paramètres s’appliquent uniquement aux visuels
number :
Une tuile Big Number prend une métrique et une agrégation sur la plage horaire sélectionnée du tableau de bord. Demandez-la en langage naturel :
Text
create_dashboard_visual :
update_dashboard_visual
Mettez à jour un graphique existant sur un tableau de bord. Cela fonctionne à la fois pour les visuels timeseries et Big Number — le type est lu depuis le visuel existant, vous n’avez donc pas besoin de passer type.
Tous les champs sont facultatifs sauf les identifiants, et les champs non spécifiés conservent leurs valeurs actuelles. Passer metrics ou metric remplace toute la définition de métrique de ce visuel plutôt que de la fusionner.
Outils de lecture et d’écriture
Chaque outil lit uniquement vos données ou peut les modifier, et son nom indique lequel : les outilsget_ et discover_ ne font que lire, tandis que les outils create_, update_ et manage_ écrivent. La suppression se trouve à l’intérieur des outils manage_ plutôt que dans des outils qui lui sont propres : manage_log_line_action supprime une action, manage_check_in_trigger supprime un moniteur, et manage_trigger archive un déclencheur. C’est cette répartition que les clients MCP utilisent pour regrouper les outils, afin que vous puissiez configurer dans votre agent quels outils autoriser, lesquels approuver au cas par cas, et lesquels bloquer.
Permissions des tokens
Chaque token MCP est limité à des applications spécifiques et aux outils que vous exposez sur ce token. Si vous voulez une configuration plus restreinte pour un agent, c’est ici que vous la limitez. Par exemple, vous pourriez exposer uniquementget_applications, get_app_resources et get_exception_incidents pour un agent de tri des incidents, ou get_log_lines et manage_log_line_action pour le travail d’ingestion de journaux.
Vous pouvez également configurer un token pour exposer automatiquement les nouveaux outils au fur et à mesure qu’ils sont ajoutés par la suite. Pour connaître les étapes de création, consultez Authentification.
Un outil manquant ?
En complément des domaines produit ci-dessus, AppSignal MCP exposeget_more_tools, un outil de découverte et de retour d’expérience. Il remplit deux fonctions :
- Journaliser une demande pour une capacité que vous n’avez pas trouvée
- Signaler comment une tâche ou un appel d’outil s’est déroulé
get_more_tools prend ces paramètres :
La plupart des agents n’y auront pas recours d’eux-mêmes, il faut donc demander explicitement :
« Utilise l’outil AppSignal
get_more_tools pour demander un moyen d’exporter en masse les incidents au format CSV. »
Ou, lorsqu’une tâche a partiellement fonctionné :
« Utilise l’outil AppSignal get_more_tools pour signaler que get_log_lines a trouvé les bons journaux, mais qu’il m’a fallu une seconde étape pour les résumer. »