
Un servidor depurador MCP para ejecutables de Windows (x86 y x64). Expone la funcionalidad del depurador como herramientas MCP para el análisis estático / dinámico del debuggee y la inspección de memoria a través de una interfaz limpia.
Este proyecto es un Servidor MCP Debugger ligero y de elaboración propia, desarrollado para aprender y experimentar. El Servidor MCP Debugger expone la funcionalidad del depurador como herramientas MCP, lo que permite a los clientes MCP externos controlar la ejecución, inspeccionar la memoria y analizar el programa depurado a través de una interfaz limpia.
El depurador está escrito en c++ e implementa las funciones básicas de depuración desde cero, sin depender de frameworks de depuración existentes. Para la decodificación de instrucciones se utiliza el desensamblador Zydis. El depurador está integrado con un servidor MCP escrito en c#, construido con el SDK oficial de MCP para C#.
Palabras clave:
Servidor MCP, depurador, desensamblador, análisis estático, análisis dinámico, depuración, IA, EXE, ejecutable, Windows

Gemini CLI se utilizó como cliente MCP en la demo
Esta guía describe el proceso paso a paso para compilar e integrar el MCP.Server.exe en Visual Studio Code en Windows.
Antes de configurar VS Code, debes compilar el servidor mcp:
MCPDebugger.sln en Visual Studio.MCP.Server.exe existe en tu subcarpeta \build\Release\x86 o \build\Release\x64.Asegúrate de que las siguientes extensiones estén instaladas y activas en VS Code:
Ctrl + Shift + P para abrir la paleta de comandos.> y selecciona "Añadir servidor MCP".command (stdio) como tipo de servidor.Introduce la ruta completa al MCP.Server.exe que compilaste en el paso 1.
[!CAUTION] Solo una arquitectura (x86 o x64) debe estar activa como servidor MCP a la vez. Si cambias de arquitectura, elimina primero la entrada del servidor anterior.
| Arquitectura | Ejemplo de ruta a introducir |
|---|---|
| Windows x64 | C:\YourProject\bin\x64\MCP.Server.exe |
| Windows x86 | C:\YourProject\bin\x86\MCP.Server.exe |
Ctrl + Alt + I), cambia al modo Agente y haz clic en el icono de Herramientas. Tus herramientas MCP deberían aparecer ahora listadas y listas para usarse. Las herramientas MCP se pueden habilitar / deshabilitar aquí.

Para tareas complejas de depuración e ingeniería inversa con este depurador MCP, Claude Opus 4.5 ofreció, con diferencia, los mejores resultados a fecha de noviembre de 2025. Gestionó de forma constante grandes rastros de ejecución, desensamblados detallados y razonamientos de varios pasos de manera más fiable que otros modelos probados.
ChatGPT 4.1 y Gemini 2.5 Pro fueron suficientes para escenarios de análisis más sencillos, como la ejecución paso a paso básica, la inspección de instrucciones y el razonamiento directo del flujo de control. Estos modelos funcionaron bien con los ejemplos incluidos en las carpetas Example_x64 y Example_x86, pero mostraron limitaciones al tratar con sesiones de depuración más complejas o de larga duración.
El rendimiento de los modelos puede cambiar con el tiempo, pero lo anterior refleja el comportamiento observado en el momento de las pruebas.
Depurar a través de MCP puede generar un uso elevado de tokens y mayores costes. Las interacciones de IA no tienen estado, lo que significa que todo el contexto de depuración relevante (registros, memoria, desensamblado, módulos, etc.) debe transferirse repetidamente con cada solicitud.
Las operaciones que detienen la ejecución con frecuencia y devuelven el estado detallado —como la ejecución paso a paso y los puntos de interrupción temporales— pueden amplificar significativamente el consumo de tokens.
Si se requiere un funcionamiento de bajo coste, se recomienda encarecidamente centrarse en el análisis estático y deshabilitar las siguientes herramientas MCP:
Deshabilitar estas herramientas reduce la cantidad de transferencia repetida de estado y ayuda a mantener el consumo de tokens bajo control.
El repositorio incluye proyectos de ejemplo para ayudarte a empezar con el análisis estático y la depuración, y se encuentran en las siguientes carpetas:
Example_x64 y Example_x86
Los proyectos Example_x64 y Example_x86 proporcionan una aplicación de consola sencilla utilizada como objetivo de depuración introductorio. La aplicación solicita al usuario que introduzca una contraseña en tiempo de ejecución. La contraseña correcta para ambos ejemplos es secret.
MCP_Debugging_Sessions
Una carpeta que contiene sesiones de depuración más complejas que aprovechan el análisis dinámico y la depuración. En estas sesiones se utilizó Claude Opus 4.5. Los objetivos se pueden descargar aquí. Ten en cuenta que los objetivos se desempaquetaron con UPX -d antes de usar el MCP Debugger.
El servidor MCP expone las siguientes herramientas para interactuar con el depurador:
Debugger_Start
Inicia el depurador para el ejecutable especificado y se detiene en el punto de interrupción inicial del sistema.
Debugger_Stop
Detiene el depurador y finaliza el proceso del programa depurado.
Debugger_Continue
Continúa la ejecución cuando el programa depurado está detenido en un punto de interrupción.
Debugger_ContinueToEntryPoint
Continúa la ejecución desde el punto de interrupción del sistema hasta el punto de entrada del programa.
Debugger_ContinueToBreakpoint
Continúa la ejecución hasta alcanzar un punto de interrupción temporal en una dirección virtual especificada.
Debugger_ContinueToApiBreakpoint
Continúa la ejecución hasta alcanzar un punto de interrupción temporal en una función de API especificada.
Debugger_StepInto
Ejecuta paso a paso la siguiente instrucción, entrando en las llamadas a funciones.
Debugger_StepOver
Salta las llamadas a funciones y continúa en la siguiente instrucción.
Debugger_Disassemble
Desensambla la memoria en una dirección virtual dada y devuelve las instrucciones, incluida la información de símbolos.
Debugger_TryResolveString
Intenta resolver y leer una cadena de la memoria del programa depurado.
Debugger_ReadMemory
Lee bytes de memoria sin procesar del proceso depurado.
Debugger_WriteMemory
Escribe bytes arbitrarios en la memoria del programa depurado.
Debugger_GetModules
Devuelve una lista de los módulos cargados actualmente en el proceso depurado.
Debugger_GetModuleImports
Devuelve las funciones importadas de un módulo especificado.
Debugger_GetModuleExports
Devuelve las funciones exportadas de un módulo especificado.
Debugger_GetModuleSections
Devuelve la información de secciones de un módulo especificado.
La solución de Visual Studio está organizada en los siguientes proyectos:
MCP.Debugger
El depurador principal implementado en C++. Incluye un puente C++/CLI para exponer una interfaz administrada para clientes .NET.
MCP.Debugger.Tester
Una aplicación WinForms sencilla utilizada para probar el depurador a través de la interfaz administrada de .NET.
MCP.Debugger.Types
Un ensamblado de tipos que define estructuras y tipos de datos compartidos para las transiciones entre código administrado y nativo entre el depurador y los clientes .NET.
MCP.Server
El servidor MCP en C# que expone la funcionalidad del depurador como herramientas MCP para clientes externos.