/ Annuaire / Playground / DebugMCP
● Officiel microsoft ⚡ Instantané

DebugMCP

par microsoft · microsoft/DebugMCP

DebugMCP de Microsoft donne à Claude le contrôle total du débogueur VS Code — points d'arrêt, pas à pas, inspection de variables dans 9 langages.

DebugMCP est une extension VS Code officielle de Microsoft qui expose le débogueur de l'éditeur comme outils MCP. Votre assistant IA peut démarrer des sessions de débogage de façon autonome, définir des points d'arrêt par contenu de ligne (sans numéros de ligne fragiles), parcourir l'exécution pas à pas et inspecter les variables — pour Python, TypeScript, Java, C#, C++, Go, Rust, PHP et Ruby. 100% local, aucun appel externe, port 3001.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

debug-mcp-microsoft.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "debug-mcp-microsoft": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "debug-mcp-microsoft",
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:3001/mcp"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "debug-mcp-microsoft": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-remote",
          "http://localhost:3001/mcp"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add debug-mcp-microsoft -- npx -y mcp-remote http://localhost:3001/mcp

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : DebugMCP

Demander à Claude de parcourir un test échouant plutôt que de lire des prints

👤 Développeurs backend / applicatifs ⏱ ~15 min beginner

Quand l'utiliser : Un test échoue sans trace claire — le débogage par print prendrait une éternité.

Prérequis
  • DebugMCP installé dans VS Code — Marketplace → ozzafar.debugmcpextension
  • Extension de débogage du langage (ex. Python pour .py) — Proposée automatiquement par VS Code à la première exécution
Déroulement
  1. Configurer
    Utilise debugmcp. Ajoute un point d'arrêt sur la ligne assert result == expected dans tests/test_orders.py.✓ Copié
    → Point d'arrêt signalé comme défini ; contenu de ligne trouvé
  2. Exécuter
    Démarre le débogage de tests/test_orders.py avec le test échouant.✓ Copié
    → Session mise en pause au point d'arrêt
  3. Inspecter
    Montre-moi toutes les variables locales. Que contient réellement result ?✓ Copié
    → Dump de variables avec des valeurs concrètes
  4. Pas à pas + diagnostic
    Entre dans la fonction qui a construit result. Dis-moi où elle a divergé de l'attendu.✓ Copié
    → Cause racine ancrée dans le code

Résultat : Bug localisé par pas à pas, pas par intuition — en minutes plutôt qu'en une heure.

Pièges
  • Le point d'arrêt par numéro de ligne dérive après des modifications — Utilisez la correspondance par contenu de ligne (DebugMCP le supporte nativement)
Combiner avec : filesystem

Cerner un heisenbug avec des points d'arrêt conditionnels

👤 Devs confrontés à des bugs intermittents ⏱ ~25 min intermediate

Quand l'utiliser : Le bug ne se reproduit que sous une entrée spécifique — vous devez vous arrêter uniquement sur ce cas.

Déroulement
  1. Point d'arrêt conditionnel
    Ajoute un point d'arrêt sur l'appel process(order) qui se déclenche uniquement quand order.id commence par 'EXP-'.✓ Copié
    → Point d'arrêt conditionnel installé
  2. Reproduire
    Lance la suite d'intégration. Quand on s'arrête, évalue le DTO order et les en-têtes de requête.✓ Copié
    → Entrée exacte de l'échec capturée

Résultat : Le heisenbug devient un bug normal.

Pièges
  • L'évaluation conditionnelle ralentit la boucle — Affinez la condition ; gardez-la pure (sans effets de bord)

Utiliser le débogueur comme documentation pour du code inconnu

👤 Nouvelles recrues qui prennent en main un service ⏱ ~30 min beginner

Quand l'utiliser : Vous avez hérité d'un service dont le flux de données est opaque.

Déroulement
  1. Tracer l'entrée
    Pose un point d'arrêt sur le handler HTTP de /orders. Lance une requête exemple et parcours chaque appel jusqu'au retour de la réponse. Commente au fur et à mesure.✓ Copié
    → Trace pas à pas avec annotations fichier:ligne

Résultat : Une carte comportementale du service qu'aucun diagramme n'avait capturée.

Pièges
  • La trace devient trop profonde — Utilisez step_over pour les frames sans intérêt, step_into uniquement pour les parties intéressantes

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

debug-mcp-microsoft + filesystem

Lire le source lors du pas à pas pour décider de la prochaine action

Entre dans l'appel. Pendant la pause, montre-moi la fonction environnante via filesystem.✓ Copié
debug-mcp-microsoft + github

Ouvrir une PR avec le correctif que vous venez de valider via le débogueur

On a confirmé le bug. Ouvre une PR avec le correctif et référence la session de débogage dans la description.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
start_debugging fileFullPath, workingDirectory, testName?, configurationName? Démarrer une session de débogage gratuit
add_breakpoint fileFullPath, lineContent Marquer un point d'arrêt par contenu de code gratuit
step_over (aucun) Avancer d'une ligne source gratuit
step_into (aucun) Descendre dans la fonction appelée gratuit
get_variables_values scope: 'local'|'global'|'all' Inspecter l'état au point de pause courant gratuit
evaluate_expression expression: str Tester des hypothèses sans relancer gratuit
list_breakpoints (aucun) Auditer l'ensemble des points d'arrêt actifs gratuit

Coût et limites

Coût d'exécution

Quota d'API
Local — pas de quota
Tokens par appel
100–500 par action de débogage
Monétaire
Gratuit (MIT)
Astuce
Le pas à pas est moins coûteux que les boucles print-debug-loop ; échangez des tokens contre un diagnostic plus rapide

Sécurité

Permissions, secrets, portée

Portées minimales : Lecture locale des fichiers pour le source mapping
Stockage des identifiants : Aucun — aucun identifiant nécessaire
Sortie de données : Aucune — entièrement local
Ne jamais accorder : Exposition réseau du port 3001

Dépannage

Erreurs courantes et correctifs

Serveur MCP non détecté après installation

Redémarrez VS Code ; vérifiez que l'extension est activée et que le port 3001 est libre

Vérifier : curl http://localhost:3001/mcp
Langage non supporté

Installez d'abord l'extension de débogage VS Code correspondante (ex. ms-python.python pour Python)

Vérifier : Lancez le débogage manuellement depuis l'interface VS Code pour confirmer
Le point d'arrêt ne se déclenche jamais

Désalignement du source map — confirmez que vous déboguez le même artefact que celui que vous avez modifié

Vérifier : Vérifiez le chemin `program` dans launch.json

Alternatives

DebugMCP vs autres

AlternativeQuand l'utiliserCompromis
Instructions print / logsDébogage ponctuel rapide sans IDE attachéPeu coûteux mais lent à itérer ; pollue la base de code
REPL spécifique au langageVous ne voulez qu'une inspection post-mortemPas de pas à pas en direct ; moins riche qu'un débogueur complet

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills