GDB
Un servidor de protocolo GDB/MI basado en el protocolo MCP, que proporciona capacidades de depuración remota de aplicaciones con asistentes de IA.
GitHub
68
Prueba este MCPPatrocinadoDocumentación
Servidor MCP GDB
Un servidor de protocolo GDB/MI basado en el protocolo MCP, que proporciona capacidades de depuración remota de aplicaciones con asistentes de IA.
Características
- Crear y gestionar sesiones de depuración GDB
- Establecer y gestionar puntos de interrupción
- Ver información de pila y variables
- Controlar la ejecución del programa (ejecutar, pausar, avanzar paso a paso, etc.)
- Soporte para depuración concurrente de múltiples sesiones
- Un TUI integrado para inspeccionar los comportamientos del agente para que puedas mejorar tu prompt (WIP)
Instalación
Binarios Precompilados
Encuentra los binarios en la página de lanzamientos, elige uno según tu plataforma de trabajo y luego puedes ejecutarlo directamente.
Compilar desde el Código Fuente
Clona el repositorio y compílalo con cargo
cargo build --release
cargo run
Usando Nix
Si tienes Nix instalado, puedes ejecutar el proyecto sin clonarlo:
Ejecutar localmente (después de clonar)
nix run .
Ejecutar remotamente desde GitHub
nix run "git+https://github.com/pansila/mcp_server_gdb.git" -- --help
Entorno de desarrollo
Para entrar en un shell de desarrollo con todas las dependencias:
nix develop
Uso
- Simplemente ejecútalo directamente:
./mcp-server-gdb - El servidor soporta dos modos de transporte:
- Stdio (predeterminado): Transporte de entrada/salida estándar
- SSE: Transporte de eventos enviados por el servidor, predeterminado en
http://127.0.0.1:8080
Configuración
Puedes ajustar la configuración del servidor modificando el archivo src/config.rs o mediante variables de entorno:
- Dirección IP del servidor
- Puerto del servidor
- Tiempo de espera del comando GDB (en segundos)
Herramientas MCP Soportadas
Gestión de Sesiones
create_session- Crear una nueva sesión de depuración GDBget_session- Obtener información de una sesión específicaget_all_sessions- Obtener todas las sesionesclose_session- Cerrar sesión
Control de Depuración
start_debugging- Iniciar depuraciónstop_debugging- Detener depuracióncontinue_execution- Continuar ejecuciónstep_execution- Entrar en la siguiente líneanext_execution- Saltar sobre la siguiente línea
Gestión de Puntos de Interrupción
get_breakpoints- Obtener lista de puntos de interrupciónset_breakpoint- Establecer punto de interrupcióndelete_breakpoint- Eliminar punto de interrupción
Información de Depuración
get_stack_frames- Obtener información del marco de pilaget_local_variables- Obtener variables localesget_registers- Obtener registrosread_memory- Leer contenido de memoria
Licencia
MIT