Skip to main content
Glama

dap-mcp

by KashunCheng

dap-mcp

dap-mcp es una implementación del Protocolo de Contexto de Modelo (MCP) diseñada para gestionar sesiones del Protocolo de Adaptador de Depuración (DAP). MCP proporciona un marco estandarizado para optimizar y ampliar la ventana de contexto de grandes modelos de lenguaje y, en este proyecto, se utiliza para optimizar y agilizar los flujos de trabajo de depuración.

Características

  • Integración del protocolo del adaptador de depuración: interactúe con los depuradores utilizando un protocolo estandarizado.
  • Marco MCP: aproveche MCP para optimizar el contexto y mejorar los flujos de trabajo de depuración.
  • Herramientas de depuración enriquecidas: establezca, enumere y elimine puntos de interrupción; controle la ejecución (continuar, entrar/salir/siguiente); evalúe expresiones; cambie marcos de pila y vea el código fuente.
  • Configuración flexible: personalice la configuración del depurador, los directorios de origen y otros parámetros a través de un archivo de configuración JSON.

Instalación

Prerrequisitos

  • Python 3.10 o superior
  • uv (opcional, para ejecutar el servidor)

Instalación y ejecución del servidor

Instalar dap-mcp y sus dependencias:

pip install dap-mcp python -m dap_mcp --config config.json # Or, if you have uv installed uvx dap-mcp@latest --config config.json

Configuración

El proyecto utiliza un archivo de configuración JSON (p. ej., .config.json ) para especificar la configuración del depurador y los directorios de origen. Ejemplo de configuración:

{ "type": "debugpy", "debuggerPath": "/path/to/python/with/debugpy", "debuggerArgs": [ "-m", "debugpy.adapter" ], // source directories for resolving file paths // if you always use absolute paths, you can omit this "sourceDirs": [ "/path/to/source/code" ], // debugger-specific settings start here // configurations for debugpy can be found at // https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings // you can use "program" instead of "module" to specify the program to debug "module": "pytest", // the python executable to use to run the debuggee "python": ["/path/to/python"], "cwd": "/path/to/working/directory" }

Esta configuración informa al depurador sobre:

  • La ruta al ejecutable del depurador y sus argumentos.
  • Los directorios de origen para resolver rutas de archivos durante operaciones de punto de interrupción.
  • Otras configuraciones (como módulo, directorio de trabajo y ruta del intérprete) necesarias para iniciar el depurador.

Tipos de depurador disponibles

TipoRuta de ejemploArgumentos de ejemplo
depuración/usr/bin/python3["-m", "debugpy.adapter"]
lldb/usr/bin/lldb-dap[]

Herramientas disponibles

El proyecto expone varias herramientas que se pueden invocar a través del marco MCP:

  • lanzar: Inicia el programa depurado.
  • set_breakpoint: Establece un punto de interrupción en un archivo y línea específicos (con una condición opcional).
  • remove_breakpoint: elimina un punto de interrupción de un archivo y una línea especificados.
  • list_all_breakpoints: enumera todos los puntos de interrupción configurados actualmente en el depurador.
  • continue_execution: Continuar la ejecución del programa después de alcanzar un punto de interrupción.
  • step_in: Entrar en una llamada de función.
  • step_out: Salir de la función actual.
  • siguiente: Pasa a la siguiente línea de código.
  • evaluar: evalúa una expresión en el contexto de depuración actual.
  • change_frame: Cambia a un marco de pila diferente.
  • view_file_around_line: Ver el código fuente alrededor de una línea especificada (usando el último archivo proporcionado si no se especifica ninguno).
  • terminar: finalizar la sesión de depuración.

Estas herramientas proporcionan una salida renderizada en XML para la integración con clientes MCP.

Ampliación con otros servidores DAP

Para admitir servidores DAP adicionales, simplemente agregue una nueva clase de configuración específica de DAP en el archivo dap_mcp/config.py . Todas las configuraciones de DAP se derivan de la clase base DAPConfig . Cada nueva subclase debe:

  • Define un valor type único (utilizando un Literal ) para que actúe como discriminador.
  • Incluya cualquier campo o configuración adicional específica para ese depurador.

Por ejemplo, para agregar soporte para un servidor DAP hipotético llamado "mydap", podría agregar:

class MyDAP(DAPConfig): type: Literal["mydap"] # Add any additional settings for MyDAP here customSetting: Optional[str] = Field( None, description="A custom setting for MyDAP." )

Después de crear la nueva clase de configuración, actualice el tipo de unión utilizado para las configuraciones específicas del depurador incluyendo la nueva clase. Por ejemplo:

DebuggerSpecificConfig = Annotated[Union[DebugPy, MyDAP], Field(..., discriminator="type")]

Ahora, cuando usted proporciona un JSON de configuración con "type": "mydap" , se analizará y validará utilizando su nueva clase MyDAP , y su extensión de servidor DAP se integrará completamente.

Contribuyendo

¡Agradecemos sus contribuciones! Para contribuir:

  1. Bifurcar el repositorio.
  2. Crea una nueva rama para tu característica o corrección de error.
  3. Escriba pruebas y asegúrese de que pasen todas las comprobaciones.
  4. Enviar una solicitud de extracción.

Siga las pautas de codificación e incluya las pruebas adecuadas con sus cambios.

Licencia

Este proyecto está licenciado bajo la licencia AGPL-3.0. Consulte el archivo de LICENCIA para más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Una implementación del Protocolo de contexto de modelo (MCP) que permite la interacción con adaptadores de depuración, permitiendo que los modelos de lenguaje controlen depuradores, establezcan puntos de interrupción, evalúen expresiones y naveguen por el código fuente durante las sesiones de depuración.

  1. Características
    1. Instalación
      1. Prerrequisitos
      2. Instalación y ejecución del servidor
    2. Configuración
      1. Tipos de depurador disponibles
    3. Herramientas disponibles
      1. Ampliación con otros servidores DAP
        1. Contribuyendo
      2. Licencia

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A distributable Model Context Protocol (MCP) server that exposes Dart SDK commands for AI-powered development. This server bridges the gap between AI coding assistants and Dart/Flutter development workflows by implementing the Model Context Protocol (MCP).
          Last updated -
          10
          11
          2
          TypeScript
          MIT License
          • Apple
          • Linux
        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol (MCP) server that provides code analysis capabilities using tree-sitter, designed to give Claude intelligent access to codebases with appropriate context management.
          Last updated -
          26
          33
          Python
          MIT License
          • Apple
          • Linux
        • -
          security
          A
          license
          -
          quality
          A tool that helps easily register Anthropic's Model Context Protocol (MCP) in Claude Desktop and Cursor, providing RAG functionality, Dify integration, and web search capabilities.
          Last updated -
          36
          Python
          MIT License
          • Apple
          • Linux
        • A
          security
          A
          license
          A
          quality
          A specialized MCP server that helps analyze and debug Model Context Protocol logs by providing Claude with direct access to log files across multiple platforms.
          Last updated -
          1
          9
          TypeScript
          MIT License
          • Apple
          • Linux

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/KashunCheng/dap_mcp'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server