Scout Monitoring MCP

officiel

Les pipes MCP officiels de Scout envoient les données d'erreur, de trace et de métrique de la production vers votre agent IA.

Que pouvez-vous faire avec Scout Monitoring MCP ?

  • Lister les applications surveillées — Lister les applications Scout APM disponibles, avec un filtrage facultatif par date de dernière activité.
  • Examiner les métriques des applications — Récupérer des données de métriques individuelles, telles que le temps de réponse ou le débit, pour une application spécifique.
  • Inspecter les points de terminaison — Obtenir tous les points de terminaison d’une application avec des métriques de performance agrégées, ou les métriques de séries temporelles d’un point de terminaison.
  • Examiner les traces — Récupérer les traces récentes d’un point de terminaison, ou obtenir une trace unique avec toutes ses spans et les détails d’exécution.
  • Trier les erreurs — Obtenir les groupes d’erreurs récents d’une application, avec un filtrage facultatif par point de terminaison.
  • Mettre en évidence les problèmes de performance — Récupérer des informations, notamment sur les requêtes N+1, la surconsommation de mémoire et les requêtes lentes.

Documentation

Scout Monitoring MCP

Scout Monitoring MCP server

MCP Badge

Ce dépôt contient le code permettant d’exécuter localement un serveur MCP qui peut accéder aux données de Scout Monitoring via l’API de Scout. Nous fournissons une image Docker que votre assistant IA peut télécharger et exécuter pour accéder aux données de Scout Monitoring.

Les données de performance et d’erreurs de Scout Monitoring sont ainsi directement à la disposition de votre assistant IA. Pour Rails, Django, FastAPI, Laravel et bien d’autres. Utilisez-le pour obtenir des traces et des erreurs avec des informations sur les lignes de code, afin que l’IA puisse cibler les corrections directement dans votre éditeur et votre base de code. Requêtes N+1, points de terminaison lents, requêtes lentes, gonflement de la mémoire, problèmes de débit : tous vos problèmes de performance préférés sont mis en évidence et expliqués là où vous travaillez.

Si cela vous facilite un tout petit peu la vie, pourquoi ne pas lui attribuer une :star: ?!

Assistant de configuration

Le moyen le plus simple de configurer et de commencer à utiliser Scout MCP est de passer par notre assistant de configuration interactif. Il s’occupe pour vous de toutes les conditions préalables et des étapes d’installation.

Exécution via npx :

npx @scout_apm/wizard

Compiler et exécuter à partir des sources :

cd ./wizard
npm install
npm run build
node dist/wizard.js

L’assistant vous guidera pour :

  • Sélectionner votre plateforme de programmation assistée par IA (Cursor, Claude Code, Claude Desktop)
  • Saisir votre clé API Scout
  • Configurer automatiquement les paramètres du serveur MCP

Plateformes prises en charge

L’assistant prend actuellement en charge la configuration pour :

  • Cursor - Configure automatiquement les paramètres MCP
  • Claude Code (CLI) - Fournit la commande appropriée à exécuter
  • Claude Desktop - Met à jour le fichier de configuration pour Windows/Mac

Pour toutes les autres plateformes, il affichera du JSON que vous pourrez copier-coller dans la configuration MCP de votre assistant IA.

Prérequis

L’assistant est un excellent moyen de démarrer, mais vous pouvez également tout configurer manuellement. Vous devez disposer d’un compte Scout Monitoring ou en créer un, puis obtenir une clé API.

  1. https://scoutapm.com/users/sign_up?utm_source=github&utm_medium=github&utm_campaign=scout-mcp-local
  2. Installez l’agent Scout dans votre application et envoyez des données à Scout !
    • Ruby
    • Python
    • PHP
    • Si vous faites un essai en local, vérifiez que monitor: true, errors_enabled: true sont définis dans votre configuration pour profiter de la meilleure expérience
  3. Consultez les paramètres pour obtenir ou créer une clé API
    • Il ne s’agit pas de votre « Agent Key », mais de la « API Key » qui peut être créée sur la page Settings
    • Cette clé en lecture seule ne peut accéder qu’aux données de votre compte
  4. Installez Docker. Les instructions ci-dessous supposent que vous pouvez démarrer un conteneur Docker

Le serveur MCP ne démarrera pas actuellement sans clé API définie, soit dans l’environnement, soit comme argument de ligne de commande au démarrage.

Installation

Nous recommandons d’utiliser l’image Docker fournie pour exécuter le serveur MCP. Elle est conçue pour être démarrée par votre assistant IA et configurée avec votre clé API Scout. De nombreux clients locaux permettent de spécifier une commande pour exécuter le serveur MCP à un emplacement donné. Vous trouverez ci-dessous quelques exemples.

L’image Docker est disponible sur Docker Hub.

Bien sûr, vous pouvez toujours cloner ce dépôt et exécuter directement le serveur MCP ; uv ou d’autres outils de gestion des environnements sont recommandés.

Configurer un client local (par ex. Claude/Cursor/VS Code Copilot)

Pour configurer manuellement le MCP, il suffit généralement de fournir à la configuration de votre assistant IA une commande qui exécute le serveur MCP avec votre clé API dans l’environnement. Voici la structure du JSON (la clé de premier niveau varie) :

{
  "mcpServers": {
    "scout-apm": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--env", "SCOUT_API_KEY", "scoutapp/scout-mcp-local"],
      "env": { "SCOUT_API_KEY": "your_scout_api_key_here"}
    }
  }
}
Claude Code
claude mcp add scoutmcp -e SCOUT_API_KEY=your_scout_api_key_here -- docker run --rm -i -e SCOUT_API_KEY scoutapp/scout-mcp-local
Cursor

Install MCP Server

VEILLEZ À remplacer la valeur SCOUT_API_KEY par votre véritable clé API dans Arguments dans Cursor Settings > MCP

VS Code Copilot
Claude Desktop

Ajoutez ce qui suit à votre fichier de configuration Claude :

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows : %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "scout-apm": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--env", "SCOUT_API_KEY", "scoutapp/scout-mcp-local"],
      "env": { "SCOUT_API_KEY": "your_scout_api_key_here"}
    }
  }
}

Utiliser Scout Monitoring MCP

Le MCP de Scout est conçu pour mettre les données d’erreurs et de performance directement entre les... mains ? de votre assistant IA. Utilisez-le pour obtenir des traces et des erreurs avec des informations sur les lignes de code, afin que l’IA puisse cibler les corrections directement dans votre éditeur.

La plupart des assistants affichent à la fois les appels d’outils bruts et les analyses. Les assistants de bureau peuvent facilement créer des applications JS personnalisées pour explorer les données de votre choix. Les assistants intégrés aux éditeurs de code peuvent utiliser les données de trace et les traces de pile d’erreurs pour apporter des corrections directement dans votre base de code.

Associez le MCP de Scout aux autres outils de votre assistant IA pour :

  • Créer des tickets GitHub/GitLab détaillés à partir des données d’erreurs et de performance
  • Rendre JIRA amusant : demandez à votre assistant IA de créer des tickets avec tous les détails
  • Générer des PR qui corrigent des erreurs et des problèmes de performance spécifiques

Outils

Le MCP de Scout fournit les outils suivants pour accéder aux données de Scout APM :

  • list_apps - Répertorier les applications Scout APM disponibles, avec un filtrage facultatif par date de dernière activité
  • get_app_metrics - Obtenir les données d’une métrique individuelle (response_time, throughput, etc.) pour une application spécifique
  • get_app_endpoints - Obtenir tous les points de terminaison d’une application avec des métriques de performance agrégées
  • get_endpoint_metrics - Obtenir les métriques de séries temporelles d’un point de terminaison spécifique d’une application
  • get_app_endpoint_traces - Obtenir les traces récentes d’une application, filtrées sur un point de terminaison spécifique
  • get_app_trace - Obtenir une trace individuelle avec toutes ses spans et des informations détaillées sur son exécution
  • get_app_error_groups - Obtenir les groupes d’erreurs récents d’une application, avec un filtrage facultatif par point de terminaison
  • get_app_insights - Obtenir des informations sur les performances, notamment les requêtes N+1, le gonflement de la mémoire et les requêtes lentes

Ressources

Le MCP de Scout fournit des modèles de configuration sous forme de ressources que votre assistant IA peut lire et appliquer :

  • scoutapm://config-resources/{framework} - Instructions de configuration pour un framework ou une bibliothèque pris en charge (rails, django, flask, fastapi)
  • scoutapm://config-resources/list - Répertorier tous les modèles de configuration disponibles
  • scoutapm://metrics - Liste de toutes les métriques disponibles pour Scout APM

Prompts utiles

Configuration

  • « Aidez-moi à configurer la surveillance Scout pour mon application Rails »
  • « Créez un fichier de configuration Scout APM pour mon projet Django avec la clé ABC123 »

Performance et surveillance

  • « Résumez les outils disponibles dans Scout Monitoring MCP. »
  • « Trouvez les points de terminaison les plus lents de l’application my-app-name au cours des 7 derniers jours. Générez un tableau présentant les résultats, avec le temps de réponse moyen, le débit et le temps de réponse P95. »
  • « Affichez les erreurs les plus fréquentes de l’application Foo au cours des dernières 24 heures. Obtenez les détails de l’erreur la plus récente, examinez la trace de pile et suggérez une correction. »
  • « Recherchez les informations récentes sur les problèmes N+1 de l’application Bar. Récupérez la trace correspondante par son identifiant et aidez-moi à l’optimiser à partir des données de la trace de pile. »

Utilisation des jetons

Nous cherchons actuellement davantage à enrichir les informations disponibles qu’à contrôler strictement la taille des réponses de nos outils MCP. Si votre assistant IA dispose d’une limite de jetons configurable (par ex. Claude Code export MAX_MCP_OUTPUT_TOKENS=50000), nous recommandons de la régler à une valeur généreuse, par exemple 50 000 jetons.

Développement local

Nous utilisons uv et taskipy pour gérer les environnements et exécuter les tâches de ce projet.

Exécuter avec Inspector

uv run task dev

Connectez-vous dans Inspector pour ajouter une clé API et définir le transport sur STDIO

Compiler l’image Docker

docker build -t scout-mcp-local .

Publication

  1. Créez une branche et mettez à jour les versions avec uv run python bump_versions.py
  2. Faites fusionner ces modifications
  3. Créez une version GitHub avec le nouveau numéro de version (gh release create v2025.11.3 --generate-notes --draft)

La publication de la version pousse le tag v*, puis CI publie l’image Docker, le paquet PyPI et enfin les entrées du registre MCP :

  • server.json → com.scoutapm/scout-mcp-local (ce serveur ; sa version est mise à jour par bump_versions.py)
  • server.remote.json → com.scoutapm/scout-monitoring (le serveur hébergé à l’adresse https://scoutapm.com/mcp). Mettez à jour son version manuellement lorsque vous modifiez ses métadonnées ; les versions inchangées sont ignorées.

Clé du registre MCP

Le registre vérifie que nous possédons l’espace de noms com.scoutapm/* au moyen d’un enregistrement DNS TXT à la racine scoutapm.com, contenant une clé publique Ed25519. CI signe avec la clé privée correspondante, stockée dans le secret du dépôt MCP_REGISTRY_PRIVATE_KEY. Pour la renouveler :

openssl genpkey -algorithm Ed25519 -out key.pem
# Public key for the TXT record: replace the existing v=MCPv1 record, don't add a second one
echo "v=MCPv1; k=ed25519; p=$(openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64)"
# Private key (hex) for the MCP_REGISTRY_PRIVATE_KEY secret
openssl pkey -in key.pem -noout -text | grep -A3 "priv:" | tail -n +2 | tr -d ' :\n'

Pour les bots :

mcp-name: com.scoutapm/scout-mcp-local