remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Parses JavaScript error stack traces using Source Maps to map them back to the original source code, providing context information and line details to help developers locate and fix issues.
Implements WebAssembly-based Source Map parsing to efficiently process JavaScript stack traces and extract relevant context information from source code.
Analizador de mapas de origen
Este proyecto implementa un analizador de mapas de origen basado en WebAssembly que puede mapear los rastros de pila de errores de JavaScript al código fuente y extraer información de contexto relevante. Los desarrolladores pueden mapear fácilmente los rastros de pila de errores de JavaScript al código fuente para una rápida identificación y resolución de problemas. Esta documentación tiene como objetivo ayudar a los desarrolladores a comprender y utilizar mejor esta herramienta.
Integración MCP
Nota: Requiere compatibilidad con Node.js 18+
Opción 1: Ejecutar directamente con NPX
Opción 2: Descargar los artefactos de compilación
Descargue la versión correspondiente de los artefactos de compilación desde la página de lanzamiento de GitHub y luego ejecute:
Configuración de parámetros de tiempo de ejecución
Los parámetros de tiempo de ejecución del sistema se pueden configurar de forma flexible a través de variables de entorno para satisfacer las necesidades de diferentes escenarios.
SOURCE_MAP_PARSER_RESOURCE_CACHE_MAX_SIZE
: Establece el espacio máximo de memoria ocupado por la caché de recursos; el valor predeterminado es 200 MB. Ajustar este valor correctamente puede equilibrar el rendimiento y el uso de memoria.SOURCE_MAP_PARSER_CONTEXT_OFFSET_LINE
: Define el número de líneas de código de contexto que se mostrarán alrededor de la ubicación del error; el valor predeterminado es 1 línea. Aumentar este valor proporciona más información de contexto, lo que facilita el diagnóstico del problema.
Ejemplo:
Descripción general de las funciones
- Análisis de pila : analiza la ubicación del código fuente correspondiente según el número de línea, el número de columna y el archivo de mapa de origen proporcionados.
- Procesamiento por lotes : admite el análisis de múltiples seguimientos de pila simultáneamente y devuelve resultados por lotes.
- Extracción de contexto : extrae el código de contexto para una cantidad específica de líneas para ayudar a los desarrolladores a comprender mejor el entorno donde ocurren los errores.
Descripción de la herramienta de servicio MCP
operating_guide
Obtenga instrucciones de uso del servicio MCP. Proporciona información sobre cómo usarlo mediante chat.
parse_stack
Analizar la información de la pila proporcionando seguimientos de pila y direcciones del mapa de origen.
Ejemplo de solicitud
- pilas: información de la pila que incluye el número de línea, el número de columna y la dirección del mapa de origen.
- línea: Número de línea, obligatorio.
- columna: Número de columna, obligatorio.
- sourceMapUrl: Dirección del mapa de origen, obligatoria.
Ejemplo de respuesta
Descripción del resultado del análisis
success
: indica si el análisis fue exitoso.token
: el objeto Token devuelto cuando el análisis es exitoso, que contiene el número de línea del código fuente, el número de columna, el código de contexto y otra información.error
: Se devuelve información de error cuando falla el análisis.
Ejemplo de ejecución
Indicador del sistema
Según las necesidades reales, puede usar indicaciones del sistema para guiar al modelo sobre cómo analizar la información de la pila. Por razones de seguridad o rendimiento, algunos equipos podrían no querer exponer los mapas de origen directamente al navegador para su análisis, sino procesar su ruta de carga. Por ejemplo, convertir la ruta bar-special.js
a special/bar.js.map
. En este caso, puede indicar al modelo que realice la conversión de ruta mediante reglas de indicaciones.
He aquí un ejemplo:
Ejemplo de tiempo de ejecución
Pila de errores
Preguntas frecuentes
1. Error al cargar el módulo WebAssembly
Si la herramienta devuelve el siguiente mensaje de error, solucione el problema de la siguiente manera:
Error de inicialización del analizador: WebAssembly.instantiate(): tipo de valor no válido 'externref', habilitar con --experimental-wasm-reftypes @+86
- Verificar la versión de Node.js : Asegúrate de que la versión de Node.js sea la 18 o superior. Si es inferior a la 18, actualiza Node.js.
- Habilitar bandera experimental : si la versión de Node.js es 18+ pero aún tiene problemas, use el siguiente comando para iniciar la herramienta:Copy
Guía de desarrollo local
1. Instalar dependencias
Asegúrese de que Node.js y npm estén instalados, luego ejecute el siguiente comando para instalar las dependencias del proyecto:
2. Enlace del servicio MCP
Ejecute el siguiente comando para iniciar el servidor MCP:
Descripción general de la lógica interna
1. Descripción del archivo principal
stack_parser_js_sdk.js
: contenedor de JavaScript para el módulo WebAssembly, que proporciona una funcionalidad básica de análisis de pila.parser.ts
: implementación principal del analizador, responsable de inicializar el módulo WebAssembly, recuperar el contenido del mapa fuente y analizar la información de la pila.server.ts
: Implementación del servidor MCP, que proporciona la interfaz de la herramientaparse_stack
para llamadas externas.
2. Modificar la lógica de análisis
Para modificar la lógica de análisis, edite el método getSourceToken
en el archivo parser.ts
.
3. Agregar nuevas herramientas
En el archivo server.ts
, se pueden agregar nuevas interfaces de herramientas utilizando el método server.tool
.
Notas
- Archivos de mapas de origen : asegúrese de que la dirección del archivo de mapas de origen proporcionada sea accesible y que el formato del archivo sea correcto.
- Manejo de errores : durante el análisis, pueden encontrarse errores de red, errores de formato de archivo y otros problemas; se recomienda implementar un manejo de errores adecuado al realizar llamadas.
Pautas de contribución
Las contribuciones a través de problemas y solicitudes de extracción son bienvenidas para mejorar este proyecto.
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.
You must be authenticated.
Permite mapear los rastros de errores de JavaScript al código fuente original, extrayendo información de contexto para ayudar a los desarrolladores a localizar y solucionar problemas.
- MCP Integration
- Feature Overview
- MCP Service Tool Description
- Example Run
- FAQ
- Local Development Guide
- Notes
- Contribution Guidelines
- License